BPMN API Documentation
Convert XML to BPMN 2.0 Diagram File
API Endpoint
POST /api/bpmn/convert
Request
Send XML content in the request body. Accepts:
- Content-Type:
text/xml,application/xml, ortext/plain - Body: Simple Payroll XML or BPMN 2.0 XML
Response
Returns a BPMN 2.0 XML file (.bpmn) with diagram layout included.
Example: cURL
curl -X POST https://your-domain.com/api/bpmn/convert \
-H "Content-Type: text/xml" \
-d "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<PayrollProcess>
<Company>
<Name>ABC Software Ltd</Name>
<PayrollMonth>January</PayrollMonth>
</Company>
</PayrollProcess>" \
--output payroll-process.bpmn
Example: JavaScript (Fetch)
const xml = `<?xml version="1.0" encoding="UTF-8"?>
<PayrollProcess>
<Company>
<Name>ABC Software Ltd</Name>
</Company>
</PayrollProcess>`;
fetch('/api/bpmn/convert', {
method: 'POST',
headers: {
'Content-Type': 'text/xml'
},
body: xml
})
.then(response => response.blob())
.then(blob => {
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'payroll-process.bpmn';
a.click();
});
Example: C# HttpClient
var xml = "@"<?xml version=""1.0"" encoding=""UTF-8""?>
<PayrollProcess>
<Company>
<Name>ABC Software Ltd</Name>
</Company>
</PayrollProcess>";
using var client = new HttpClient();
var content = new StringContent(xml, Encoding.UTF8, "text/xml");
var response = await client.PostAsync("https://your-domain.com/api/bpmn/convert", content);
var fileBytes = await response.Content.ReadAsByteArrayAsync();
await File.WriteAllBytesAsync("payroll-process.bpmn", fileBytes);
Alternative: JSON Request
You can also send JSON with XML content:
POST /api/bpmn/convert-json
Content-Type: application/json
{
"xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><PayrollProcess>...</PayrollProcess>"
}