Wardley.app

Wardley.app API

Read and edit Wardley maps over HTTP.

API token

Sign in with GitHub, open Settings, then generate a 30-day token.

Live updates

API mutations broadcast to the browser editor in real time.

JSON + Bearer

All write requests use content-type: application/json and Authorization: Bearer.

Endpoints

llms.txt
Method Path Purpose Auth
GET /api/categories

Categories

Lists known node categories.

Bearer token supported
GET /api/categories/:category

Category nodes

Returns aggregate data for one category.

Bearer token supported
POST /api/edges

Create edge

Creates a dependency edge between two nodes.

Bearer token supported
PATCH /api/edges/:id

Update edge

Updates edge metadata.

Bearer token supported
DELETE /api/edges/:id

Delete edge

Deletes an edge.

Bearer token supported
GET /api/fragments

List fragments

Lists reusable map fragments.

Bearer token supported
POST /api/fragments

Create fragment

Creates a reusable fragment.

Bearer token supported
GET /api/fragments/:id

Show fragment

Returns one reusable fragment.

Bearer token supported
DELETE /api/fragments/:id

Delete fragment

Deletes a reusable fragment.

Bearer token supported
POST /api/fragments/:id/invoke

Invoke fragment

Applies a reusable fragment to a map.

Bearer token supported
GET /api/map

Active map

Returns the active/default map loaded by the browser editor.

Bearer token supported
GET /api/maps

List maps

Returns available maps.

Bearer token supported
POST /api/maps

Create map

Creates a new map.

Bearer token supported
GET /api/maps/:id

Show map

Returns one map with nodes and edges.

Bearer token supported
PATCH /api/maps/:id

Update map

Renames a map.

Bearer token supported
DELETE /api/maps/:id

Delete map

Deletes a map and its nodes and edges.

Bearer token supported
GET /api/maps/:id/dsl

Map DSL

Returns compact OWM-style DSL for reasoning.

Bearer token supported
GET /api/maps/:id/svg

Map SVG

Returns a rendered SVG of the map.

Bearer token supported
GET /api/me

Token identity

Validates a bearer token and returns user/token metadata.

Bearer token required
POST /api/nodes

Create node

Creates a component on the active or specified map.

Bearer token supported
PATCH /api/nodes/:id

Update node

Updates node text, position, metadata, or related fields.

Bearer token supported
DELETE /api/nodes/:id

Delete node

Deletes a node and its dependent edges.

Bearer token supported
GET /api/personas

List personas

Returns personas, with default first.

Bearer token supported
POST /api/personas

Create persona

Creates a persona.

Bearer token supported
GET /api/personas/:id

Show persona

Returns one persona.

Bearer token supported
PATCH /api/personas/:id

Update persona

Updates a persona.

Bearer token supported
DELETE /api/personas/:id

Delete persona

Deletes a non-default persona.

Bearer token supported
GET /api/search

Search

Searches maps, nodes, and personas.

Bearer token supported
GET /api/suggestions

Suggestions

Returns component-name suggestions.

Bearer token supported
GET /api/tags

Tags

Lists known tags.

Bearer token supported
GET /api/tags/:tag

Tag nodes

Returns nodes for one tag.

Bearer token supported
POST /api/tokens

Create token

Creates a 30-day API token for a signed-in user.

Signed-in session + CSRF

Token Flow

  1. Open /login and sign in with GitHub.
  2. Open /users/settings.
  3. Generate a token in the API token panel and copy it immediately.
  4. Send it as Authorization: Bearer $WARDLEY_API_TOKEN.

Coordinates

x_pct
Evolution from 0 genesis to 100 commodity.
y_pct
Visibility from 0 most visible to 100 least visible.
DSL
OWM DSL uses [visibility, evolution] from 0.0 to 1.0.

Examples

curl -H "Authorization: Bearer $WARDLEY_API_TOKEN" \
  http://localhost:4000/api/map
curl -X POST http://localhost:4000/api/nodes \
  -H "Authorization: Bearer $WARDLEY_API_TOKEN" \
  -H "content-type: application/json" \
  -d '{"map_id":1,"text":"API","x_pct":55,"y_pct":45}'