API Documentation


You need to be authenticated for all API requests. You can generate a project specific API key in the form of a JWT token in your Project Settings dashboard. Choose the DAML Party that will authorize the requests and then copy the token to your clipboard in the format of your choice. Copy token to clipboard

Add the JWT token to all requests as a Header parameter.

Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImRhYmwtMjAxOS0wOC0wNy0xNz...

Nothing will work unless you include this JWT Token.

For streaming endpoints, in order to accommodate with browser, token needs to be passed by "subprotocols". this is usually in a list form but occasionally in comma-separated form. Check documentation for your WebSocket library of choice for details.

You must pass two subprotocols to establish proper handshake:

  • daml.ws.auth
  • jwt.token.[your-jwt-token-here]
Sec-Websocket-Protocol: jwt.token.eyJhbGciOiJSUzI1NiIsImtpZCI6ImRhYmwtMjAxOS0wOC0wNy0xNz..., daml.ws.auth


DABL supports a mirror of DAML SDK's JSON API endpoints:

Find full API Specs here