REFORMERS Digital Twin: Model Repository API (v0.1)

Download OpenAPI specification:Download

License: MIT

This API provides access to the REFORMERS Digital Twin Model Repository.

Funding acknowledgement: The REFORMERS project has received funding from the European Union’s research and innovation programme Horizon Europe under the Grant Agreement No.101136211

Repository settings

List the repositories and their settings

Retrieve information about available components in the repository.

Authorizations:
BasicHttpAuthentication

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Search repository

Search the repository for available components and assets

Retrieve information about available components in the repository.

Authorizations:
NoAuthentication
query Parameters
continuationToken
string

A token returned by a prior request. If present, the next page of results are returned

repository
string

Repository name

format
string
Enum: "docker" "maven2"

Query by format

group
string

Component group

name
string

Component name

version
string

Component version

docker.imageTag
string

Docker image tag

maven.extension
string

Maven extension of component's asset

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "continuationToken": "string"
}

Retrieve information about available assets in the repository.

Authorizations:
NoAuthentication
query Parameters
continuationToken
string

A token returned by a prior request. If present, the next page of results are returned

repository
string

Repository name

format
string
Enum: "docker" "maven2"

Query by format

group
string

Component group

name
string

Component name

version
string

Component version

docker.imageTag
string

Docker image tag

maven.extension
string

Maven extension of component's asset

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "continuationToken": "string"
}

Retrieve manifests

Retrieve manifests for container images from Docker registry

Retrieve manifest of model generator image from the repository.

Authorizations:
NoAuthentication
path Parameters
generator-name
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model generator name

generator-tag
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model generator version

Responses

Response samples

Content type
application/json
{
  • "schemaVersion": 2,
  • "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
  • "config": {
    },
  • "layers": [
    ]
}

Retrieve manifest of model image from the repository.

Authorizations:
NoAuthentication
path Parameters
generator-name
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model generator name

generator-tag
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model generator version

model-name
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model name

model-tag
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model version

Responses

Response samples

Content type
application/json
{
  • "schemaVersion": 2,
  • "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
  • "config": {
    },
  • "layers": [
    ]
}

Retrieve blobs

Retrieve blobs for container images from Docker registry

Retrieve blob of model generator image from the repository.

Authorizations:
NoAuthentication
path Parameters
generator-name
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model generator name

digest
required
string^sha256:\b[A-Fa-f0-9]{64}\b

SHA256-based hash of a blob

Responses

Response samples

Content type
{
  • "architecture": "amd64",
  • "created": "2023-05-04T17:37:03.872958712Z",
  • "os": "linux",
  • "config": {
    },
  • "history": [
    ]
}

Retrieve blob of model image from the repository.

Authorizations:
NoAuthentication
path Parameters
generator-name
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model generator name

generator-tag
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model generator version

model-name
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model name

digest
required
string^sha256:\b[A-Fa-f0-9]{64}\b

SHA256-based hash of a blob

Responses

Response samples

Content type
{
  • "architecture": "amd64",
  • "created": "2023-05-04T17:37:03.872958712Z",
  • "os": "linux",
  • "config": {
    },
  • "history": [
    ]
}

Handle artifacts

Handle arbitrary artifacts (in a Maven repository)

Add artifact (to Maven repository).

Authorizations:
BasicHttpAuthentication
query Parameters
repository
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$
Value: "model-artifacts"

repository name

Request Body schema: multipart/form-data
version
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model artifact version

maven2.generate-pom
boolean
Default: true

generate a POM file for artifact

maven2.groupId
string^[a-zA-Z0-9][a-zA-Z0-9-.]+[a-zA-Z0-9]$

group ID

maven2.artifactId
string

artifact ID

maven2.asset1
string <binary>

artifact #1 file content

maven2.asset1.extension
string^[a-zA-Z0-9][a-zA-Z0-9.]+[a-zA-Z0-9]$

artifact #1 file extension

maven2.asset1.classifier
string^[a-zA-Z0-9]+$

artifact #1 classifier

maven2.asset2
string <binary>

artifact #2 file content

maven2.asset2.extension
string^[a-zA-Z0-9][a-zA-Z0-9.]+[a-zA-Z0-9]$

artifact #2 file extension

maven2.asset2.classifier
string^[a-zA-Z0-9]+$

artifact #2 classifier

maven2.asset3
string <binary>

artifact #3 file content

maven2.asset3.extension
string^[a-zA-Z0-9][a-zA-Z0-9.]+[a-zA-Z0-9]$

artifact #3 file extension

maven2.asset3.classifier
string^[a-zA-Z0-9]+$

artifact #3 classifier

Responses

Download model artifact (from Maven repository).

Authorizations:
NoAuthentication
path Parameters
generator-name
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model generator name

generator-tag
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model generator version

model-name
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model artifact name

model-tag
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model artifact version

file-name
required
string^[a-zA-Z0-9][a-zA-Z0-9-]+$

model artifact file name

file-extension
required
string^[a-zA-Z0-9]+$

model artifact file extension

Responses