Skip to content

Releases: aiondemand/AIOD-rest-api

Sorting and Permissions

13 Nov 13:24
0fe3160

Choose a tag to compare

Endpoint Changes

Added:

  • #650: Projects now have endpoints for image uploads similar to Organisations
  • #655: A GET request 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_TYPE endpoint which lists all assets of that type now by default sorts by last modified, from recent to older. Sorting for date_modified and date_created are supported through setting sort parameter with either ascending and descending order (by setting direction to asc or desc, respectively).

Fixed:

  • #649: Updating Organisations (and now projects) which have attached images through a PUT request 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

05 Nov 13:49
c595bd5

Choose a tag to compare

v2.1.20251105 Pre-release
Pre-release

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

29 Oct 18:32
4e47763

Choose a tag to compare

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 /resources endpoint
  • #645
  • #644
  • #646

v2.1.20251003

03 Oct 14:01
9d45ff8

Choose a tag to compare

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

29 Sep 13:34
37f3e7f

Choose a tag to compare

Introducing more taxonomies, and allow multiple assets to be reviewed together.

⚠️ Breaking Changes, which also affect version 2:

  • Reviewing endpoints have been drastically revised to unify them and allow multiple resources to be reviewed together.
    • /ASSET_TYPE/IDENTIFIER/submission
    • /submissions
  • The country of an address of a location must now conform to a taxonomy and must no longer be a 3-character identifier.

Schema Changes

Added:

  • Added a required competency field to Educational Resource.

Changed:

  • The country of a Location must now adhere to the Country taxonomy.
  • OrganisationType of Organisation must now adhere to the OrganisationType taxonomy.
  • languagesof a Person, in_language of an Educational Resource must now adhere to the Language taxonomy.
  • Educational Level of an Educational Resource must now adhere to the EducationalLevel taxonomy.
  • EventMode and EventStatus of Events must now adhere to their respective taxonomies.

Endpoint Changes

  • Removed asset-specific submission endpoints, e.g., datasets/submit and instead provide an asset-agnostic /submissions endpoint.
  • Added a /submissions endpoint 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

11 Sep 11:53
00a02a9

Choose a tag to compare

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_blob in distribution and media fields.
  • 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

22 Aug 09:13
8a944fc

Choose a tag to compare

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_euros will be used.

Added:

  • Organisation
    • Added turnover property, accepts only values from the Turnover taxonomy.
    • Added number_of_employees property, accepts only values from the Number Of Employees taxonomy.

Endpoint Changes

Removed:

  • All version 1 endpoints have been removed. For more information, see our migration guide.

Deprecated:

  • The /agent, /ai_resource and /ai_asset endpoints are now deprecated in favor of one generic /assets router.

Added:

  • The /bookmarks endpoint, 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 /metrics endpoint which provides general server information intended to be used with Prometheus.
  • The /stats endpoints which can be used to get information about which assets are frequently requested.
  • The taxonomy endpoints /turnover and /number_of_employees.
  • The /organisations/{identifier}/image can now be used to add image data to organisations and retrieve it.
  • The /organisations endpoints now also have an optional query parameter get_image which, if set to true, 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_schemaorg dependency.
  • Updated the Pull Request template to request more information for the changelog.
  • Introduced a versions.toml file 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 /metrics and /stats

Documentation

  • Add platform_NAME role 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!

09 Jul 09:56
3d9efce

Choose a tag to compare

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 aiod platform. It is no longer possible to manually specify a different platform and platform_resource_identifier.
  • All AI resources now have a contacts field when retrieved through the API. It contains the full contact details corresponding to the contacts specified by their identifier in the contact field.

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

29 May 16:45
79dca9c

Choose a tag to compare

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/resources endpoint now returns assets by type (#523)
  • Server command line options are now set through the configuration file (#534)

Development

  • Add an option to disable the reviewing process (#532)
  • Several changes to make deployment a little easier (#533)

V1.4.20250508: Reviewing and Permissions

08 May 13:04

Choose a tag to compare

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 ResourceBundle asset 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 News asset type now has a source field (#395)
  • The Person asset type language attribute is renamed to languages, and it lists the organisations it is a member of in the member_of attribute (#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, and submitted and can no longer be modified directly (#411, #426, #479)
  • AIoD assets whose status is draft are 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)

Development