REST API & Webhooks

The REST API can be used to build a custom integration into any existing application. Most of the actions you find within Starmind can be also used for integration over our API.

Webhooks allow you to build or set up integrations that subscribe to certain events within Starmind. For example, every time a notification is sent in Starmind, we will notify the subscriber that the event happened.

REST API

You can find the Documentation of the Starmind QA API here:
Starmind REST API

Webhooks

SettingRequiredDescription
Webhook URLThe URL handles the payload.
Shared secretXA secret key to sign the payload.
EventsA comma-separated list of supported webhook events. Currently, only "notifications" are supported.

Payload

Each event type has a specific payload format with the relevant event information.

In addition to the fields documented for each event, webhook payloads include the user who performed the event ( sender) as well as the user who is targeted by the event (receiver). Both fields are optional and depend on the event type and specific event.

Bear in mind that the payload for notification events like new_solution_to_your_question or new_comment_to_your_question allows question posers to be identified. In order to preserve question poser anonymity, this information must not be leaked to any end-users (except for the question poser himself).

Delivery headers

HTTP requests made to your webhook’s configured URL endpoint will contain several special headers:

HeaderDescription
X-Starmind-EventName of the event that triggered this delivery.
X-Starmind-SignatureHMAC-SHA256 hex digest of the payload, using the hook’s secret as the key (if configured).
X-Starmind-Realm-IdThe Starmind network id that triggered this delivery.

Also, the User-Agent for the requests will have the prefix Starmind-Brainshot/ Version.

Delivery Body

FieldTypeDescription
idintegerNotification ID
typestringNotification type
question_idintegerQuestion id the notification relates to (or null)
source_textstringQuestion title if available for notification
target_idintegerId of the entity the notification relates to
target_typestringType of the entity the notification relates to
target_textstringContent of the notification entity
urlURLAbsolute URL to the Starmind application
iconURLAbsolute URL to an image for that notification
createddatetimeThe DateTime the notification was created