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