Releases: aiondemand/AIOD-rest-api
Sorting and Permissions
Endpoint Changes
Added:
- #650: Projects now have endpoints for image uploads similar to Organisations
- #655: A
GETrequest to/assets/permissions/{identifier}by an admin of the asset identified by the asset will return a list of each user which has been added as a collaborator for that asset.
Changed:
- #653: The
GET /ASSET_TYPEendpoint which lists all assets of that type now by default sorts by last modified, from recent to older. Sorting fordate_modifiedanddate_createdare supported through settingsortparameter with either ascending and descending order (by settingdirectiontoascordesc, respectively).
Fixed:
- #649: Updating Organisations (and now projects) which have attached images through a
PUTrequest is now possible: either supply the full list of media assets (including existing, but not new, binary blobs) or leave the list empty (which will leave existing relationships unchanged).
v2.1.20251105
Interface
- Projects can now have images similar to Organisations. by @PGijsbers in #650
Fixes
- Users can now update assets with attached media that contains images. by @PGijsbers in #649
Full Changelog: v2.1.20251030...v2.1.20251105
Project Updates
To be updated...
- project now has a subtitle property with a maximum length of 1800 characters
- project now has a funding_link with a maximum length of 1800 characters
- alternate_name property for all assets now preserves case
- AI resources now have a falls_under_paradigm property which allows for a list of paradigms under which it asset falls
- AI Paradigm has its taxonomy endpoint
- media blobs are not returned for
/resourcesendpoint - #645
- #644
- #646
v2.1.20251003
No schema or endpoint changes in this patch, just maintenance:
Maintenance
- OpenAPI spec's server now works behind a (single) proxy.
- Fixed a bug where a location could not be returned if it had an address without a country.
- Fixed a bug where a connector couldn't update its assets.
- Fixed an issue that would crash the synchronization of a taxonomy if a data migration had caused a NULL entry into the taxonomy table.
- Made the configuration of log level case insensitive.
v2.1.20250929: Updated Reviews and more Taxonomies
Introducing more taxonomies, and allow multiple assets to be reviewed together.
- Reviewing endpoints have been drastically revised to unify them and allow multiple resources to be reviewed together.
/ASSET_TYPE/IDENTIFIER/submission/submissions
- The
countryof anaddressof alocationmust now conform to a taxonomy and must no longer be a 3-character identifier.
Schema Changes
Added:
- Added a
required competencyfield toEducational Resource.
Changed:
- The
countryof aLocationmust now adhere to theCountrytaxonomy. OrganisationTypeofOrganisationmust now adhere to theOrganisationTypetaxonomy.languagesof aPerson,in_languageof anEducational Resourcemust now adhere to theLanguagetaxonomy.Educational Levelof anEducational Resourcemust now adhere to theEducationalLeveltaxonomy.EventModeandEventStatusofEventsmust now adhere to their respective taxonomies.
Endpoint Changes
- Removed asset-specific submission endpoints, e.g.,
datasets/submitand instead provide an asset-agnostic/submissionsendpoint. - Added a
/submissionsendpoint that allows users to submit requests for review on any asset type. It is now also possible to submit multiple assets for review together. Please refer to the updated Uploading Metadata documentation. - Added endpoints for the following taxonomies:
- Organisation Type
- Organisation Activity Type
- Learning Mode
- Language
- Event Status
- Event Mode
- Educational Level
- Educational Competency
- Country
Other Changes
Fixes:
- Fixed an issue where a new user could not create a bookmark.
Change:
- Clients identified as connectors now bypass the review process and automatically publish uploaded assets.
Maintenance
- Added two clients to the default aiod keycloak realm: one for the Python SDK and one for a connector.
v2.0.20250911
A small patch with mostly maintenance updates.
Schema Changes
None.
Endpoint Changes
- Add pagination to user/resources. Set limit (default=10) and/or offset (default=0) to use pagination.
- Also available in V2, but for backwards compatibility reasons, limit=10 will apply no limit at all.
- Add pagination to /bookmarks. Set limit (default=10) and/or offset (default=0) to use pagination.
Other Changes
Maintenance
- Fix an issue where routing behind a proxy with a prefix wouldn't work as expected.
- Do not allow uploading of
binary_blobin distribution andmediafields. - Fixed an issue where syncing a taxonomy failed.
- Introduce
__plural__attribute on model classes to denote the spelling of the plural form.
v2.0.20250822: Drop Version 1
Experimenting with a slightly different structure to (hopefully) help users identify what changed for them.
Schema Changes
Changed:
- Project:
- total_cost_euro is now total_cost_euros. Version 2 endpoints will accept either, but going forward from version 3 only
total_cost_euroswill be used.
- total_cost_euro is now total_cost_euros. Version 2 endpoints will accept either, but going forward from version 3 only
Added:
- Organisation
- Added
turnoverproperty, accepts only values from theTurnovertaxonomy. - Added
number_of_employeesproperty, accepts only values from theNumber Of Employeestaxonomy.
- Added
Endpoint Changes
Removed:
- All version 1 endpoints have been removed. For more information, see our migration guide.
Deprecated:
- The
/agent,/ai_resourceand/ai_assetendpoints are now deprecated in favor of one generic/assetsrouter.
Added:
- The
/bookmarksendpoint, which lets logged in users curate a personal set of bookmarked assets. - The
/assets/{identifier}endpoint which can be used to request any asset by its identifier. - The
/metricsendpoint which provides general server information intended to be used with Prometheus. - The
/statsendpoints which can be used to get information about which assets are frequently requested. - The taxonomy endpoints
/turnoverand/number_of_employees. - The
/organisations/{identifier}/imagecan now be used to add image data to organisations and retrieve it. - The
/organisationsendpoints now also have an optional query parameterget_imagewhich, if set totrue, will embed base64 encoded images belonging to the organisation in the responses.
Other Changes
Maintenance
- Fixed an issue where taxonomies would not be updated correctly if they had new child definitions.
- Removed the
pydantic_schemaorgdependency. - Updated the Pull Request template to request more information for the changelog.
- Introduced a
versions.tomlfile which specifies information about which versions are active, deprecated, or sunset. - Add internal mechanisms to improve our ability to make versioned changes to the REST API schemas.
- Add monitoring services which report on information from
/metricsand/stats
Documentation
- Add
platform_NAMErole description to the authentication documentation. - Provide separate documentation pages of the generated Swagger and Redoc pages for each API version
- Added information about the new monitoring services in the documentation for hosts.
v1.5.20250709: Taxonomies!
Added
- Release of taxonomies: list of terms with a definition and hierarchy to help standardize values for e.g., scientific domains and business sectors. Values supplied for fields which adhere to a taxonomy must exist in the taxonomy, otherwise the asset cannot be created.
Changed
- All assets registered through the REST API, with the exception of those uploaded by connectors, are now registered under the
aiodplatform. It is no longer possible to manually specify a differentplatformandplatform_resource_identifier. - All AI resources now have a
contactsfield when retrieved through the API. It contains the full contact details corresponding to the contacts specified by their identifier in thecontactfield.
Deprecated
- This is the last release with support for version 1 endpoints. The next release is scheduled for the second half of July.
Removed
- The Hugging Face and Zenodo upload endpoints have been removed. Assets of those platforms are still registered in the metadata catalogue through their connectors.
Development
- Several updates to the documentation and developer experience.
v1.4.20250530: Versioning Changes
Changelog
The format is loosely based on Keep a Changelog, and this project adheres to Semantic Versioning, except that the date of the release is used as the patch version.
This release prepares for a version 2 release, see also our migration guide. Version 1 endpoints will sunset later in June
Added
- Version 2 and Versionless endpoints (#531)
Updated
- Added AIoD styling to the documentation, as well as a video guide (#526)
- The
/user/resourcesendpoint now returns assets by type (#523) - Server command line options are now set through the configuration file (#534)
Development
V1.4.20250508: Reviewing and Permissions
Changelog
The format is loosely based on Keep a Changelog, and this project adheres to Semantic Versioning, except that the date of the release is used as the patch version.
The biggest change in this release is a reviewing process and a permission system.
For more information, see "Workflow for Uploading Metadata" and "Permissions".
Added
- A connector for AI Builder (#408)
- A connector for AI4Europe CMS Events (#482)
- Added the
ResourceBundleasset type (#464, #478) - Requests with errors are now given a unique identifier and logged if possible (#443)
- Assets now require a review before being published (#435, #451, #459, #462, #471, #473, #474, #477, #480, #487)
- Add a permission system where users can have read, write, or administrator rights for each asset (#486, #500, #502, #509)
- Add an endpoint to list all assets for which you own (#511)
Updated
- The
Newsasset type now has asourcefield (#395) - The
Personasset typelanguageattribute is renamed tolanguages, and it lists the organisations it is a member of in themember_ofattribute (#505) - Various bumps to dependencies (#344, #348, #357, #358, #369, #370, #371, #374, #402, #390, #366, #404, #405, #406, #410, #414, #416, #417, #421, #437)
- AIoD Entry Status is now limited to
draft,published,rejected, andsubmittedand can no longer be modified directly (#411, #426, #479) - AIoD assets whose status is
draftare now private: they can only be accessed by their uploader and are also not indexed in Elastic Search.
Fixed
- Fixed a test which would intermittently fail (#387)
- Add any missing platforms on startup (#453)
- Parent agents now correctly return all child data, not just the common fields (#468)