Check API Release State
sap_get_api_releaseCheck whether an ABAP object is a released API, then identify its compatibility contract (C1) for cloud development and key-user apps.
Instructions
Check whether an ABAP object is a released API and under which compatibility contract (C1 = cloud development / key-user apps). Reads the ADT apireleases resource. Objects of non-releasable types (e.g. programs) get a normal 'not releasable' answer.
Supply either:
object_uri: the full ADT URI (from sap_search_objects), OR
object_type + object_name (and function_group if needed).
Args:
object_uri / object_type + object_name.
response_format.
Returns (json): { objectUri, releasable, isAnyContractReleased?, contracts: [{contract, state, useInSAPCloudPlatform?, useInKeyUserApps?, changedBy?, changedAt?}], message? }. state is one of RELEASED, DEPRECATED, NOT_RELEASED, NOT_TO_BE_RELEASED, NOT_TO_BE_RELEASED_STABLE.
Examples:
"Is IF_OO_ADT_CLASSRUN a released API?" -> object_type='interface', object_name='IF_OO_ADT_CLASSRUN'.
"Can I use CL_GUI_ALV_GRID in cloud development?" -> object_type='class', object_name='CL_GUI_ALV_GRID'.
"Is the CDS view I_PRODUCT released?" -> object_uri='/sap/bc/adt/ddic/ddl/sources/i_product'. Notes:
On an on-premise system 'released' is SAP's upgrade-stability contract: C1 means the object is usable in cloud development and key-user extensibility. NOT_RELEASED on a Z object is the expected state, not a problem.
releasable=false ("No entry found for object type ...") is the normal answer for programs, includes and other non-API object types — not an error.
The table ARS_W_API_STATE holds the same data and is readable via sap_read_table, but this endpoint resolves object URIs and non-releasable types itself.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| object_uri | No | Full ADT object URI (takes precedence). Required form for objects outside the standard source types, e.g. a CDS view: '/sap/bc/adt/ddic/ddl/sources/i_product'. | |
| object_name | No | Object name — used with object_type when object_uri is not given. | |
| object_type | No | Object type — used to derive URI when object_uri is not given. | |
| function_group | No | Required when object_type='function'. | |
| response_format | No | Output format: 'markdown' (human-readable, default) or 'json' (structured). | markdown |