Skip to content

TRM Registry API

It describes the registry protocol only: endpoint inputs, outputs, and HTTP status codes.

{package} is a registry package identifier. Its naming convention is registry-defined. This is intentionally a protocol-level contract.

Call GET / before authenticating. Its authentication_type selects unauthenticated, HTTP Basic, bearer-token, or OAuth2 authentication for subsequent operations.

Version: 4.0.0

Servers

URL
https://registry.example.com/

Available authorizations

basicAuth (HTTP, basic)

Use when ping reports BASIC authentication.

bearerAuth (HTTP, bearer)

Supply a registry-supported credential when ping reports TOKEN or OAUTH2 authentication.


[GET] /

Get registry metadata

Responses

Code Description Schema
200 Registry capabilities and messages application/json: Ping
default Request failed application/json: Error

[GET] /whoami

Get the authenticated identity

Responses

Code Description Schema
200 Current identity application/json: WhoAmI
401 Request failed application/json: Error
default Request failed application/json: Error

[POST] /auth

Exchange an OAuth2 authorization code or refresh token

Implement this operation only when ping reports OAUTH2 authentication.

Request Body

Required Schema
Yes application/json: OAuthTokenRequest

Responses

Code Description Schema
200 OAuth2 tokens application/json: OAuthTokenResponse
400 Request failed application/json: Error
401 Request failed application/json: Error
default Request failed application/json: Error

[POST] /batchCompare

Compare requested versions with the latest available version

Request Body

Required Schema
Yes application/json: [ VersionRequest ]

Responses

Code Description Schema
200 One comparison result per supplied item application/json: [ VersionComparison ]
400 Request failed application/json: Error
default Request failed application/json: Error
Security
Security Schema Scopes

| basicAuth | | | bearerAuth | |

[GET] /package/{package}

Get package metadata and an artifact download link

Parameters

Name Located in Description Required Schema
package path A package identifier appended exactly as supplied by RegistryV2. It may contain path separators; do not percent-encode / within the identifier. Yes string
version query Release version or distribution tag. Defaults to latest. No string,
Default: latest

Responses

Code Description Schema
200 Selected package release application/json: Package
400 Request failed application/json: Error
404 Request failed application/json: Error
default Request failed application/json: Error
Security
Security Schema Scopes

| basicAuth | | | bearerAuth | |

[GET] /transport/{trkorr}

Package transport download

Downloads the canonical transports.

Parameters

Name Located in Description Required Schema
trkorr path Registry transport Yes string
target query Optional destination transport request allocated by the target SAP system. When omitted, the canonical transport is downloaded unchanged. No string

Responses

Code Description Schema
200 The transport is ready to download application/json: TransportDownload
400 Request failed application/json: Error
401 Request failed application/json: Error
403 Request failed application/json: Error
404 Request failed application/json: Error
409 Request failed application/json: Error
422 Request failed application/json: Error
429 Request failed application/json: Error
502 Request failed application/json: Error
503 Request failed application/json: Error
504 Request failed application/json: Error
default Request failed application/json: Error
Security
Security Schema Scopes
basicAuth
bearerAuth

[POST] /delete

Endpoint for deletion transport.

Request Body

Required Schema
Yes multipart/form-data: DeleteTransportRequest

Responses

Code Description Schema
200 The deletion transport is ready to download application/json: TransportDownload
400 Request failed application/json: Error
401 Request failed application/json: Error
403 Request failed application/json: Error
404 Request failed application/json: Error
409 Request failed application/json: Error
413 Request failed application/json: Error
422 Request failed application/json: Error
429 Request failed application/json: Error
502 Request failed application/json: Error
503 Request failed application/json: Error
504 Request failed application/json: Error
default Request failed application/json: Error
Security
Security Schema Scopes
basicAuth
bearerAuth

[PUT] /package/tag/{package}

Assign a tag to a package version

Parameters

Name Located in Description Required Schema
package path A package identifier appended exactly as supplied by RegistryV2. It may contain path separators; do not percent-encode / within the identifier. Yes string

Request Body

Required Schema
Yes application/json: TagAssignment

Responses

Code Description Schema
204 Tag assigned
400 Request failed application/json: Error
401 Request failed application/json: Error
403 Request failed application/json: Error
default Request failed application/json: Error

[DELETE] /package/tag/{package}

Remove a package tag

Parameters

Name Located in Description Required Schema
package path A package identifier appended exactly as supplied by RegistryV2. It may contain path separators; do not percent-encode / within the identifier. Yes string

Request Body

Required Schema
Yes application/json: Tag

Responses

Code Description Schema
204 Tag removed
400 Request failed application/json: Error
401 Request failed application/json: Error
403 Request failed application/json: Error
default Request failed application/json: Error

[GET] /publish/check/{package}

Check whether a package version can be published

Parameters

Name Located in Description Required Schema
package path A package identifier appended exactly as supplied by RegistryV2. It may contain path separators; do not percent-encode / within the identifier. Yes string
version query Release version. Yes string
private query Package visibility indicator. No string

Responses

Code Description Schema
204 Publishing is permitted
400 Request failed application/json: Error
401 Request failed application/json: Error
403 Request failed application/json: Error
default Request failed application/json: Error

[POST] /publish/{package}

Upload a package artifact

Parameters

Name Located in Description Required Schema
package path A package identifier appended exactly as supplied by RegistryV2. It may contain path separators; do not percent-encode / within the identifier. Yes string
version query Release version. Yes string
tags query Comma-separated tags to apply. Defaults to latest. No string,
Default: latest

Request Body

Required Schema
Yes multipart/form-data: PublishRequest

Responses

Code Description Schema
201 Package published successfully
202 Publication accepted for asynchronous processing application/json: Publish
400 Request failed application/json: Error
401 Request failed application/json: Error
403 Request failed application/json: Error
413 Request failed application/json: Error
422 Request failed application/json: Error
default Request failed application/json: Error

[POST] /deprecate/{package}

Mark a package release as deprecated

Parameters

Name Located in Description Required Schema
package path A package identifier appended exactly as supplied by RegistryV2. It may contain path separators; do not percent-encode / within the identifier. Yes string
version query Release version or distribution tag. Defaults to latest. No string,
Default: latest

Request Body

Required Schema
Yes application/json: DeprecationRequest

Responses

Code Description Schema
204 Release deprecated
400 Request failed application/json: Error
401 Request failed application/json: Error
403 Request failed application/json: Error
404 Request failed application/json: Error
default Request failed application/json: Error

[POST] /unpublish/{package}

Remove or yank a package release

Parameters

Name Located in Description Required Schema
package path A package identifier appended exactly as supplied by RegistryV2. It may contain path separators; do not percent-encode / within the identifier. Yes string
version query Release version or distribution tag. Defaults to latest. No string,
Default: latest

Responses

Code Description Schema
204 Release removed
400 Request failed application/json: Error
401 Request failed application/json: Error
403 Request failed application/json: Error
404 Request failed application/json: Error
409 Request failed application/json: Error
default Request failed application/json: Error

Schemas

Error Schema

Name Type Description Required
message string Yes

Ping Schema

Name Type Description Required
authentication_type string,
Available values: "NO_AUTH", "BASIC", "OAUTH2", "TOKEN"
Enum: "NO_AUTH", "BASIC", "OAUTH2", "TOKEN" Yes
authentication_data OAuth2Data No
alert_email string (email) No
messages [ Message ] No

OAuth2Data Schema

Name Type Description Required
authorization_url string (uri) Yes
client_id string Yes
response_type string Yes
scope string No

OAuthTokenRequest Schema

Name Type Description Required
grant_type string,
Available values: "authorization_code", "refresh_token"
Enum: "authorization_code", "refresh_token" Yes
code string No
refresh_token string No
redirect_uri string No

OAuthTokenResponse Schema

Name Type Description Required
access_token string Yes
token_type string Yes
expires_in integer Yes
refresh_token string No

WhoAmI Schema

Name Type Description Required
user string Yes
messages [ Message ] No

Message Schema

Name Type Description Required
type string,
Available values: "INFO", "WARNING", "ERROR"
Enum: "INFO", "WARNING", "ERROR" Yes
text string Yes

VersionRequest Schema

Name Type Description Required
name string Package identifier. Yes
version string Version to compare. Yes

VersionComparison Schema

Name Type Description Required
name string Yes
version string Yes
latestVersion string No
comparison string,
Available values: "<", "=", ">"
Enum: "<", "=", ">" No
error string Present when this item could not be compared. No

Package Schema

Name Type Description Required
name string Yes
dist_tags object Distribution tag names mapped to release versions. Yes
versions [ string ] Yes
yanked_versions [ string ] Yes
manifest { "name": string, "version": string, "engines": object } Package manifest supplied by the artifact. Yes
deprecated boolean Yes
deprecated_message string No
changelog string Optional Markdown changelog supplied at publication time and sanitized by the registry before storage and response. No
download_link string (uri) A URL that returns the package .trm artifact as application/octet-stream. RegistryV2 follows redirects when downloading it. Yes
download_link_expiry long Unix epoch milliseconds. No
checksum string Base64-encoded SHA-512 digest of the exact artifact bytes returned by download_link. Yes
transports [ Transport ] Transports available in the selected release. Yes

Transport Schema

Name Type Description Required
trkorr string Yes
type string,
Available values: "TADIR", "DEVC", "LANG", "CUST"
Enum: "TADIR", "DEVC", "LANG", "CUST" Yes
description string Yes
contents TransportContents Yes

TransportContents Schema

Name Type Description Required
download_link string (uri) A URL that returns the exact parsed R3trans log JSON for this release transport. Yes
download_link_expiry long Unix epoch milliseconds. Yes
checksum string Base64-encoded SHA-512 digest of the exact JSON bytes returned by download_link. Yes

TransportDownload Schema

Name Type Description Required
download_link string (uri) A URL that returns a ZIP containing the K and R transport files. Yes
download_link_expiry long Unix epoch milliseconds. Yes
checksum string Base64-encoded SHA-512 digest of the exact ZIP bytes returned by download_link. Yes

DeleteTransportRequest Schema

Name Type Description Required
header binary The K/header file of the source transport. Yes
data binary The R/data file of the source transport. Yes

Tag Schema

Name Type Description Required
tag string Yes

TagAssignment Schema

Name Type Description Required
TagAssignment Tag & { "version": string }

PublishRequest Schema

Name Type Description Required
artifact binary Package artifact. Yes
readme binary Optional Markdown or plain-text README. No
changelog binary Optional Markdown or plain-text changelog for this release. No
retainedCustomizing string JSON-encoded array of up to 100 unique CUST TRKORRs from the immediately preceding published release to retain by reference. No

Publish Schema

Name Type Description Required
progress_pool_url string (uri) URL to poll for publication progress. Yes
steps integer Total number of publication steps. Yes
current_step integer Current publication step. Yes
current_step_message string Optional description of the current publication step. No

DeprecationRequest Schema

Name Type Description Required
deprecate_note string Message explaining why the release is deprecated. Yes