Skip to content
Reference>REST API

REST API

The MetaKraftwerk REST API provides programmatic access to the core resources of the platform. It enables you to automate workflows such as uploading instance metadata, triggering builds, downloading generated artifacts, querying the meta database, and managing deployments — all without using the web interface.

See Also

Base URL

All API endpoints are served under the following base URL:

https://app.metakraftwerk.com/api/v1

Authentication

All endpoints require a valid JSON Web Token (JWT) in the Authorization header. See the Authentication page for details on how to obtain and use a token.

Authorization: Bearer <ACCESS_TOKEN>

Available Endpoints

Core Resources

EndpointMethodsDescription
/projectsGETList and retrieve projects.
/patternsGETList and retrieve data integration patterns.
/instancesGET, POSTList, retrieve, and upload instance metadata.
/instance_foldersGETList and retrieve instance folder hierarchies.

Build & Deployment

EndpointMethodsDescription
/buildsGET, POSTList builds and trigger new build executions.
/downloadsGETList and download build result files.
/deploymentsGETList deployment definitions for patterns.
/build_deploymentsGET, POSTList and trigger build deployments.

Metadata & Configuration

EndpointMethodsDescription
/metadataPOSTExecute SQL statements in the meta database.
/functional_rolesGETList functional role definitions for patterns.
/instance_propertiesGETList instance property schemas for patterns.
/pattern_variablesGETList pattern variables and their resolved values.
/labelsGETList labels for projects and patterns.

Release Management

EndpointMethodsDescription
/releasesGETList and retrieve releases.
/release_groupsGETList and retrieve release groups.

Agents

EndpointMethodsDescription
/agentsGETList and retrieve agents.
/agent_groupsGETList and retrieve agent groups.

Common Patterns

Name-Based Lookups

Most endpoints support filtering by name as a query parameter, in addition to filtering by id. Where a related resource is required (e.g., pattern_id), you can often use the name-based alternative (e.g., pattern=CORE_DV_HLS) instead of the numeric ID.

Error Handling

All error responses follow this structure:

json
{
  "name": "BadRequest",
  "message": "Descriptive error message",
  "code": 400
}
Status CodeMeaning
400Bad Request — Missing or invalid parameters.
401Not Authenticated — Missing or expired token.
403Forbidden — Insufficient permissions.
404Not Found — Resource does not exist.
405Method Not Allowed — HTTP method not supported for this endpoint.
500Internal Server Error — Unexpected server error.