Quickstart

Discover how to use Notis through our public API for an easy integration with Zapier, Make, Pipedream, etc.

A synchronous / asynchronous endpoint for posting a user message to Notis and (optionally) receiving the assistant’s reply.

1. Purpose

/submit lets you send the exact same payload Twilio sends to your webhook (so you can-reuse all your existing code). /submit_async does the same but returns immediately after the job is queued – useful for time-sensitive front-ends or background jobs.

2. Authentication

Header (required)

Plain Text

Authorization: Bearer <your-jwt>

Users retrieve this JWT by simply asking Notis “Give me my API key”.

3. End-points

Variant
Verb
Path
Behaviour
Sync
POST
https://api.notis.ai/submit
Waits for Notis to finish and returns the answer.
Async
POST
https://api.notis.ai/submit_async
Just enqueues the job, returns immediately.

4. Request body

Exactly the object Twilio posts to a messaging webhook.

Key highlights the pipeline cares about:

Field
Example
Notes
Body
“Hey Notis, what’s the weather?”
Text message (optional if you only send media).
NumMedia
1
Number of media attachments.
MediaUrl{0-9}
https://api.twilio.com/…/Media/MG123…
Up to 10 attachments.
MediaContentType{0-9}
audio/ogg , image/png, application/pdf
MIME type used for validation & conversion.

Minimal text-only example

JSON

{
  "Body": "Hello world!",
}

Audio message with transcript

JSON

{
  "NumMedia": "1",
  "MediaUrl0": "https://api.twilio.com/…/Media/MG456…",
  "MediaContentType0": "audio/ogg",
  "MessageType": "audio"
}

5. Response

5.1 /submit

HTTP status mirrors the internal processing status 200 OK

JSON

{
  "message": "Hello 👋 How can I help today?",
  "media_urls": [
    "https://<supabase-public-url>/attachments/2025-03/…/reply.ogg"
  ]
}

Field meanings • message – Markdown-compatible text you can show directly to the user. • media_urls – Zero or more public URLs (audio TTS, images, files).

5.2 /submit_async

200 OK

JSON

{
	"message": "Request accepted for processing"
}
Did this answer your question?
😞
😐
🤩