Skip to main content

API Extension Development

API Extensions are .pkg packages that provide typed DTOs and operation metadata for a specific API. They are generated from service descriptions (OpenAPI, WSDL, OData, GraphQL, Kafka Schema Registry).

Use the aeth analyze command or the Studio Import API wizard. The generated package includes:

  • Typed C# DTO classes
  • Operation descriptors (URL templates, HTTP methods, parameter bindings)
  • Namespace and assembly metadata
aeth analyze https://api.example.com/openapi.json \
--type OpenAPI \
--app-name "Example" \
--service-name "ExampleAPI" \
--namespace Example.ExampleAPI \
--output ./packages

Package Structure​

A .pkg file is a ZIP archive containing:

  • manifest.json – package metadata (name, version, type, dependencies)
  • *.dll – compiled assembly with generated types
  • operations.json – operation descriptor list

Package Metadata (manifest.json)​

{
"name": "Example.ExampleAPI",
"version": "1.0.0",
"developer": "Your Name",
"type": "ApiExtension",
"description": "Generated API extension for ExampleAPI",
"targetFramework": "net8.0"
}

Installing and Using​

aeth install ./Example.ExampleAPI.1.0.0.pkg

After installation, the extension's operations appear in the Studio service tree and its types are available in C# Script steps.

Versioning​

Use --version with aeth analyze to set the package version:

aeth analyze ./api.yaml --type OpenAPI --version 2.1.0 \
--app-name "Example" --service-name "API" --namespace Example.API

Next Steps​