Any OpenAPI document
The only input contract is a valid OpenAPI 3.x document. Enlace doesn't care what produced it — Swashbuckle, Springdoc, swagger-ui-express, hand-written, anything.
Runs entirely in your browser
Same trust model as Swagger UI's own "Try it out," extended to a whole chain of calls. There's no server-side execution engine anywhere in Enlace.
Independent branches run concurrently
Nodes are grouped into dependency-ordered levels; everything within a level fires at once. "A, then B+C in parallel, then D" really does run B and C at the same time.
Credentials never leave your browser
Bearer tokens, API keys, and OAuth2 credentials live in browser memory for the session only — never sent to or stored by the adapter, and redacted in the Results pane.
Step through a chain like a debugger
Arm a breakpoint on any connector and hit Debug instead of Run — inspect each request before it fires, then Continue, Step, or Stop, without the rest of the chain losing its concurrency.
Save and share a workflow
Export a chain to a portable .enlace file — with or without credentials, and password-encrypted when it carries real secrets — then hand it to a teammate or check it into a repo.
Mount it in your existing app
Enlace mounts as middleware — no separate service, no database, no Docker container.
- ASP.NET Core
- Express
- FastAPI
- NestJS
- Spring Boot
dotnet add package Enlace.AspNetCore
builder.Services.AddEnlace();
// ...
app.UseEnlace(); // mounts at /enlace by default
npm install @get-enlace/express
import { enlace } from '@get-enlace/express';
app.use('/enlace', enlace({ spec: './openapi.json' }));
pip install enlace-fastapi
from fastapi import FastAPI
from enlace_fastapi import enlace
app = FastAPI()
app.include_router(enlace(spec="./openapi.json"), prefix="/enlace")
npm install @get-enlace/nest
import { EnlaceModule } from '@get-enlace/nest';
@Module({ imports: [EnlaceModule.forRoot({ spec: './openapi.json' })] })
export class AppModule {}
<dependency>
<groupId>io.github.get-enlace</groupId>
<artifactId>enlace-spring-boot-starter</artifactId>
<version>0.0.1</version>
</dependency>
That's it — autoconfiguration mounts /enlace for a project already running springdoc conventionally.