For your own form, or a server, send a POST to your board’s endpoint. There is no sign-in: the key in the address is all it needs, and browsers on any domain may call it.
POST https://api.swiftlyph.online/api/v1/intake/pk_your_key/feedback
- type
- Required.
bug or feature. - title
- Required. Up to 255 characters.
- description
- Up to 5,000 characters. Becomes the card’s description.
- reporter_name
- Up to 120 characters. Shown on the card as “Reported by”.
- reporter_email
- A contact address, shown to whoever reviews it. Planora never emails it.
- screenshots[]
- Up to five PNG, JPG or WebP images of up to 5 MB each. Send as multipart form data.
With JSON, from a terminal or a server:
curl -X POST 'https://api.swiftlyph.online/api/v1/intake/pk_your_key/feedback' \
-H 'Content-Type: application/json' \
-d '{"type":"bug","title":"Checkout button does nothing","description":"Safari 17, nothing happens when I click Pay."}'With screenshots, from the browser:
const body = new FormData()
body.append('type', 'bug')
body.append('title', 'Checkout button does nothing')
body.append('screenshots[]', file) // a File from an <input type="file">
await fetch('https://api.swiftlyph.online/api/v1/intake/pk_your_key/feedback', { method: 'POST', body })Leave Content-Type out when sending FormData: the browser sets it, with the boundary the upload needs.