Search the docs
Find a page, a section, or an endpoint.
Messages
Every messages endpoint, generated from the API's own schemas.
List messages
get/api/v1/messages
Parameters
- limitnumber
- cursordate-time
- thread_iduuidrequired
Responses
- 200A page of messages.
- 401No API key, or one that is not valid.
- 404No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
- 429Rate limited. `X-RateLimit-Reset` says when to retry.
bash
curl https://pidgeon.ai/api/v1/messages \
-H "Authorization: Bearer $PIDGEON_API_KEY"Generated · public/openapi.json
Send a message
post/api/v1/messages
Idempotent with an `Idempotency-Key` header.
Body
- fromemailrequired
- toemail | email[]required
- ccemail | email[]
- bccemail | email[]
- subjectstring
- textstring
- in_reply_touuid | null
Responses
- 201The sent message.
- 401No API key, or one that is not valid.
- 404No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
- 429Rate limited. `X-RateLimit-Reset` says when to retry.
bash
curl https://pidgeon.ai/api/v1/messages \
-X POST \
-H "Authorization: Bearer $PIDGEON_API_KEY" \
-H "Content-Type: application/json" \
-d '{ … }'Generated · public/openapi.json
Fetch one message
get/api/v1/messages/{id}
Parameters
- idstringrequired
Responses
- 200The message.
- 401No API key, or one that is not valid.
- 404No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
- 429Rate limited. `X-RateLimit-Reset` says when to retry.
bash
curl https://pidgeon.ai/api/v1/messages/{id} \
-H "Authorization: Bearer $PIDGEON_API_KEY"Generated · public/openapi.json