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
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
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
| 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
| 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
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
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
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
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