Send an email
Sends an email to people in the school.
POSThttps://api.klasstack.com/v1/messaging/email
- messaging:write
- Billable
- Idempotency-Key required
- Test key: example response
Authorizations
AuthorizationstringheaderrequiredYour secret key as a bearer token, in the form Bearer ks_live_sk_... or Bearer ks_test_sk_.... Keep it on your server. A test key gets the documented example and touches no school data.
Headers
idempotency-keystringheaderrequiredA key of your own that makes this write safe to retry: the same key returns the first response instead of writing again.
Body
application/json
messagestringsubjectstringrecipientsobjectShow child attributesHide child attributes
guardianIdsinteger[]
Response
200, application/json
dataobjectrequiredShow child attributesHide child attributes
channelstringrequiredqueuedCountnumberrequirednotDeliveredCountnumberrequiredrecipientsobject[]requiredShow child attributes of each itemHide child attributes of each item
recipientKindstringrequiredrecipientIdnumberrequiredstatusstringrequiredqueued: handed to the provider queue. not_delivered: nothing was sent (reason says why). failed: this one dispatch errored (reason
dispatch_failed); the rest of the send went ahead, so retry only this recipient.deliveryIdnumber or nullrequiredRead it at GET /v1/messaging/deliveries/{id}.
reasonstring or nullrequired
metaobjectrequiredShow child attributesHide child attributes
request_idstringrequiredAlso returned in the X-Request-ID header.
paginationobjectShow child attributesHide child attributes
limitintegerrequiredRequired range: x <= 100
has_morebooleanrequirednext_cursorstring or nullrequiredSend this back as
cursorfor the next page. Opaque: never parse it.
Errors
- 400invalid_parameterA request parameter is invalid; `field` names it. A write sent without an Idempotency-Key is refused this way with `field` set to `Idempotency-Key`.
- 401invalid_api_keyNo key was presented, or the key is not valid.
- 402insufficient_balanceThe school's service wallet cannot cover this call.
- 403insufficient_scopeThe app does not hold the scope this endpoint needs.
- 404endpoint_not_exposedThis endpoint is not part of the API.
- 422channel_unavailableThe school cannot send on this channel right now. Nothing was sent to anyone.
- 429rate_limitedThe rate limit was reached. Retry after the Retry-After header says.
- 503platform_unavailableThe API is not available for this school right now.
What each code means, and what to do about it, is in the errors guide.
Webhook events
This call triggers no webhook event.