What is abap-adt-api?

abap-adt-api is a TypeScript library that wraps the SAP ADT REST API exposed by ABAP application servers. It lets you read, write, activate, and manage ABAP objects programmatically — without needing to open SAP GUI or the Eclipse-based ABAP Development Tools IDE.

The library targets Node.js tooling such as editor extensions (VS Code ABAP Remote FS), CI/CD pipelines, and custom developer tools that need to talk directly to a live SAP system.

Capabilities

API surface — source modules

The library is organised around feature modules under src/api/:

ModuleResponsibility
objectcontents.ts Read & write source, lock/unlock, DDIC domain/data-element writes
objectcreator.ts Create and delete ABAP repository objects (programs, classes, tables, …)
activate.ts Single and batch activation (compilation) of inactive objects
transports.ts Full CTS transport lifecycle — create, check, release, delete
abapgit.ts abapGit ADT extension — repo management, push/pull, branch switching
search.ts Quick and full-text object search
objectstructure.ts Object metadata, include structure, node navigation
revisions.ts Source history and diff retrieval
atc.ts ABAP Test Cockpit / Code Inspector checks
debugger.ts Debug session attachment and control
syntax.ts Syntax check and code completion
traces.ts Runtime trace recording and retrieval
refactor.ts Rename and other refactoring operations
cds.ts CDS / Core Data Services specific helpers
unittest.ts ABAP Unit test execution and result parsing
discovery.ts ADT service discovery and feature detection
AdtHTTP.ts HTTP layer — session state, CSRF, request dispatch

HTTP method conventions

The client follows standard REST semantics against SAP ADT endpoints:

MethodUsed for
GET Reading source, object metadata, search results, transport lists
POST Locking, unlocking, activating, creating objects, transport operations, abapGit actions
PUT Writing source code, DDIC XML payloads, transport config
DELETE Deleting repository objects, deleting transports, unlinking abapGit repos