رفتن به محتوا
cloudhostمستندات
مرجع API

صف

صف و کار پس‌زمینه: ارسال، مصرف دسته‌ای، تلاش دوباره و صف مرده.

توضیح هر مسیر به انگلیسی است، همان متنی که مرجع از کد ساخته می‌شود. مسیرها، نام فیلدها و کدها همان‌اند که در درخواست می‌نویسید.
GET/v1/queues

List queues#

With the plan's limits.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
همهٔ نقش‌ها

پاسخ

200object

  • queuesQueue[]الزامی
    • namestringالزامی
    • messagesintegerالزامی

      the backlog: ready, delayed and in flight

    • in_flightinteger
    • delayedinteger
    • bytesinteger

      stored size of the messages

    • oldest_age_sinteger | null
    • pausedbooleanالزامی
    • created_atstring (date-time)
    • visibility_timeout_sinteger

      seconds a delivery may take before it is retried (default 30; alias visibility_timeout)

      at least 1

    • max_retriesinteger

      retries after the first delivery (default 3); then the dead-letter queue

      0–100

    • retry_delay_sinteger

      seconds before the first retry, doubling each time, at most 12 hours (default 5)

      0–43200

    • retention_sinteger

      seconds a message is kept (alias retention; up to 1 day on Hobby, 14 days on Pro)

      at least 60

    • delivery_delay_sinteger

      a delay for every message without its own (up to the plan's delay)

      at least 0

    • dead_letter_queuestring | null

      another queue of the team that receives messages after their last retry (alias dead_letter)

    • consumernull | QueueConsumer
  • limitsQueueLimits
    • queuesinteger
    • schedulesinteger
    • messageBytesinteger
    • batchSendMessagesinteger
    • batchSendBytesinteger
    • backlogBytesinteger
    • retentionDaysinteger
    • maxDelaySinteger
    • maxVisibilitySinteger
    • maxConcurrencyinteger
    • maxBatchSizeinteger
    • peekinteger
    • dailyOpsinteger | null

      operations a day (Hobby 10,000, then 429 ops_limit); null: no daily limit

خطاها

وضعیتتوضیح
400Bad request: bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl "https://api.ibel.ai/v1/queues" \
  -H "Authorization: Bearer $KEY"
POST/v1/queues

Create a queue#

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

بدنهٔ درخواستapplication/json

  • namestringالزامی

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$

  • visibility_timeout_sinteger

    seconds a delivery may take before it is retried (default 30; alias visibility_timeout)

    at least 1

  • max_retriesinteger

    retries after the first delivery (default 3); then the dead-letter queue

    0–100

  • retry_delay_sinteger

    seconds before the first retry, doubling each time, at most 12 hours (default 5)

    0–43200

  • retention_sinteger

    seconds a message is kept (alias retention; up to 1 day on Hobby, 14 days on Pro)

    at least 60

  • delivery_delay_sinteger

    a delay for every message without its own (up to the plan's delay)

    at least 0

  • dead_letter_queuestring | null

    another queue of the team that receives messages after their last retry (alias dead_letter)

پاسخ

201QueueCreated

  • namestringالزامی
  • messagesintegerالزامی

    the backlog: ready, delayed and in flight

  • in_flightinteger
  • delayedinteger
  • bytesinteger

    stored size of the messages

  • oldest_age_sinteger | null
  • pausedbooleanالزامی
  • created_atstring (date-time)
  • visibility_timeout_sinteger

    seconds a delivery may take before it is retried (default 30; alias visibility_timeout)

    at least 1

  • max_retriesinteger

    retries after the first delivery (default 3); then the dead-letter queue

    0–100

  • retry_delay_sinteger

    seconds before the first retry, doubling each time, at most 12 hours (default 5)

    0–43200

  • retention_sinteger

    seconds a message is kept (alias retention; up to 1 day on Hobby, 14 days on Pro)

    at least 60

  • delivery_delay_sinteger

    a delay for every message without its own (up to the plan's delay)

    at least 0

  • dead_letter_queuestring | null

    another queue of the team that receives messages after their last retry (alias dead_letter)

  • consumernull | QueueConsumer

خطاها

وضعیتتوضیح
400Bad request: bad_name, bad_setting, bad_dlq
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X POST "https://api.ibel.ai/v1/queues" \
  -H "Authorization: Bearer $KEY" \
  -d '{"name":"emails"}'
GET/v1/queues/{name}

Get a queue#

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
همهٔ نقش‌ها

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

پاسخ

200Queue

  • namestringالزامی
  • messagesintegerالزامی

    the backlog: ready, delayed and in flight

  • in_flightinteger
  • delayedinteger
  • bytesinteger

    stored size of the messages

  • oldest_age_sinteger | null
  • pausedbooleanالزامی
  • created_atstring (date-time)
  • visibility_timeout_sinteger

    seconds a delivery may take before it is retried (default 30; alias visibility_timeout)

    at least 1

  • max_retriesinteger

    retries after the first delivery (default 3); then the dead-letter queue

    0–100

  • retry_delay_sinteger

    seconds before the first retry, doubling each time, at most 12 hours (default 5)

    0–43200

  • retention_sinteger

    seconds a message is kept (alias retention; up to 1 day on Hobby, 14 days on Pro)

    at least 60

  • delivery_delay_sinteger

    a delay for every message without its own (up to the plan's delay)

    at least 0

  • dead_letter_queuestring | null

    another queue of the team that receives messages after their last retry (alias dead_letter)

  • consumernull | QueueConsumer

خطاها

وضعیتتوضیح
400Bad request: bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl "https://api.ibel.ai/v1/queues/emails" \
  -H "Authorization: Bearer $KEY"
DELETE/v1/queues/{name}

Delete a queue and its messages#

Refused while a live version binds it (409 bound).

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده
تایید دوم
با نشست داشبورد، عامل دوم در ۱۰ دقیقهٔ اخیر لازم است؛ کلید API نیازی ندارد.

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

پاسخ

200object

  • namestring
  • deletedboolean

خطاها

وضعیتتوضیح
400Bad request: bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden, step_up_required
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X DELETE "https://api.ibel.ai/v1/queues/emails" \
  -H "Authorization: Bearer $KEY"
PATCH/v1/queues/{name}

Change a queue's settings#

Settings, the dead-letter queue, and pausing delivery (sends are still accepted while paused).

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

بدنهٔ درخواستapplication/json

  • visibility_timeout_sinteger

    seconds a delivery may take before it is retried (default 30; alias visibility_timeout)

    at least 1

  • max_retriesinteger

    retries after the first delivery (default 3); then the dead-letter queue

    0–100

  • retry_delay_sinteger

    seconds before the first retry, doubling each time, at most 12 hours (default 5)

    0–43200

  • retention_sinteger

    seconds a message is kept (alias retention; up to 1 day on Hobby, 14 days on Pro)

    at least 60

  • delivery_delay_sinteger

    a delay for every message without its own (up to the plan's delay)

    at least 0

  • dead_letter_queuestring | null

    another queue of the team that receives messages after their last retry (alias dead_letter)

  • pausedboolean

پاسخ

200Queue

  • namestringالزامی
  • messagesintegerالزامی

    the backlog: ready, delayed and in flight

  • in_flightinteger
  • delayedinteger
  • bytesinteger

    stored size of the messages

  • oldest_age_sinteger | null
  • pausedbooleanالزامی
  • created_atstring (date-time)
  • visibility_timeout_sinteger

    seconds a delivery may take before it is retried (default 30; alias visibility_timeout)

    at least 1

  • max_retriesinteger

    retries after the first delivery (default 3); then the dead-letter queue

    0–100

  • retry_delay_sinteger

    seconds before the first retry, doubling each time, at most 12 hours (default 5)

    0–43200

  • retention_sinteger

    seconds a message is kept (alias retention; up to 1 day on Hobby, 14 days on Pro)

    at least 60

  • delivery_delay_sinteger

    a delay for every message without its own (up to the plan's delay)

    at least 0

  • dead_letter_queuestring | null

    another queue of the team that receives messages after their last retry (alias dead_letter)

  • consumernull | QueueConsumer

خطاها

وضعیتتوضیح
400Bad request: bad_setting, bad_dlq, nothing
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X PATCH "https://api.ibel.ai/v1/queues/emails" \
  -H "Authorization: Bearer $KEY" \
  -d '{"visibility_timeout_s":1,"max_retries":0,"retry_delay_s":0,"retention_s":60,"delivery_delay_s":0,"dead_letter_queue":"…","paused":true}'
PUT/v1/queues/{name}/consumer

Set the consumer function#

A function (its queue(batch, env, ctx) handler gets batches), a URL (each message POSTed, signed with the Standard Webhooks headers; the answer adds signing_secret, shown once) or pull.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

بدنهٔ درخواستapplication/json

one of function, url or pull

  • functionstring

    one of the team's functions or apps

  • urlstring

    an HTTPS address; each message is POSTed to it, signed with the Standard Webhooks headers

  • pullboolean

    true: messages wait for POST …/pull

  • batch_sizeinteger

    1–100

  • batch_wait_sinteger

    0–60

  • batch_wait_msinteger

    0–60000

  • max_concurrencyinteger

    deliveries at once (alias concurrency)

    at least 1

پاسخ

200Queue

  • namestringالزامی
  • messagesintegerالزامی

    the backlog: ready, delayed and in flight

  • in_flightinteger
  • delayedinteger
  • bytesinteger

    stored size of the messages

  • oldest_age_sinteger | null
  • pausedbooleanالزامی
  • created_atstring (date-time)
  • visibility_timeout_sinteger

    seconds a delivery may take before it is retried (default 30; alias visibility_timeout)

    at least 1

  • max_retriesinteger

    retries after the first delivery (default 3); then the dead-letter queue

    0–100

  • retry_delay_sinteger

    seconds before the first retry, doubling each time, at most 12 hours (default 5)

    0–43200

  • retention_sinteger

    seconds a message is kept (alias retention; up to 1 day on Hobby, 14 days on Pro)

    at least 60

  • delivery_delay_sinteger

    a delay for every message without its own (up to the plan's delay)

    at least 0

  • dead_letter_queuestring | null

    another queue of the team that receives messages after their last retry (alias dead_letter)

  • consumernull | QueueConsumer

خطاها

وضعیتتوضیح
400Bad request: bad_consumer, bad_setting
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X PUT "https://api.ibel.ai/v1/queues/emails/consumer" \
  -H "Authorization: Bearer $KEY" \
  -d '{"function":"…","url":"https://example.com","pull":true,"batch_size":1,"batch_wait_s":0,"batch_wait_ms":0,"max_concurrency":1}'
DELETE/v1/queues/{name}/consumer

Remove the consumer#

Messages wait until a new consumer is set.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

پاسخ

200Queue

  • namestringالزامی
  • messagesintegerالزامی

    the backlog: ready, delayed and in flight

  • in_flightinteger
  • delayedinteger
  • bytesinteger

    stored size of the messages

  • oldest_age_sinteger | null
  • pausedbooleanالزامی
  • created_atstring (date-time)
  • visibility_timeout_sinteger

    seconds a delivery may take before it is retried (default 30; alias visibility_timeout)

    at least 1

  • max_retriesinteger

    retries after the first delivery (default 3); then the dead-letter queue

    0–100

  • retry_delay_sinteger

    seconds before the first retry, doubling each time, at most 12 hours (default 5)

    0–43200

  • retention_sinteger

    seconds a message is kept (alias retention; up to 1 day on Hobby, 14 days on Pro)

    at least 60

  • delivery_delay_sinteger

    a delay for every message without its own (up to the plan's delay)

    at least 0

  • dead_letter_queuestring | null

    another queue of the team that receives messages after their last retry (alias dead_letter)

  • consumernull | QueueConsumer

خطاها

وضعیتتوضیح
400Bad request: bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X DELETE "https://api.ibel.ai/v1/queues/emails/consumer" \
  -H "Authorization: Bearer $KEY"
GET/v1/queues/{name}/messages

Look at the waiting messages#

Changes nothing and delivers nothing.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
همهٔ نقش‌ها

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

  • statestringکوئری

    one of all, ready, delayed, in_flight

  • limitintegerکوئری

    1–100

  • afterstringکوئری

    a message id: the next page

پاسخ

200QueuePeek

  • queuestring
  • messagesQueueMessage[]
  • nextstring | null

خطاها

وضعیتتوضیح
400Bad request: bad_state, bad_param
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl "https://api.ibel.ai/v1/queues/emails/messages" \
  -H "Authorization: Bearer $KEY"
POST/v1/queues/{name}/messages

Send a message#

Delivery is at least once.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

بدنهٔ درخواستapplication/json

  • bodyanyالزامی

    any JSON value, up to 128 KB

  • delay_secondsinteger

    deliver after this long (alias delaySeconds; up to the plan's delay)

    at least 0

  • delaySecondsinteger

    the same as delay_seconds (the binding's name)

    at least 0

  • dedup_idstring

    the same id within 10 minutes is accepted once

پاسخ

202QueueSentAccepted

  • sentintegerالزامی
  • idsstring[]
  • duplicatesinteger

    messages whose dedup_id was already seen

خطاها

وضعیتتوضیح
400Bad request: bad_message, bad_delay, message_too_large, queue_full
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X POST "https://api.ibel.ai/v1/queues/emails/messages" \
  -H "Authorization: Bearer $KEY" \
  -d '{"body":null}'
POST/v1/queues/{name}/messages/batch

Send up to 100 messages#

At most 256 KB in all.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

بدنهٔ درخواستapplication/json

  • messagesQueueMessageIn[]الزامی

    1–100 items

    • bodyanyالزامی

      any JSON value, up to 128 KB

    • delay_secondsinteger

      deliver after this long (alias delaySeconds; up to the plan's delay)

      at least 0

    • delaySecondsinteger

      the same as delay_seconds (the binding's name)

      at least 0

    • dedup_idstring

      the same id within 10 minutes is accepted once

پاسخ

202QueueSentAccepted

  • sentintegerالزامی
  • idsstring[]
  • duplicatesinteger

    messages whose dedup_id was already seen

خطاها

وضعیتتوضیح
400Bad request: bad_message, too_many, bad_delay, message_too_large, batch_too_large, queue_full
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X POST "https://api.ibel.ai/v1/queues/emails/messages/batch" \
  -H "Authorization: Bearer $KEY" \
  -d '{"messages":[{"body":null,"delay_seconds":0,"delaySeconds":0,"dedup_id":"…"}]}'
POST/v1/queues/{name}/consumer/rotate-secret

Rotate a URL consumer's signing secret#

A new whsec_ secret, shown once; the old one stops signing.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

پاسخ

200object

  • signing_secretstringالزامی

خطاها

وضعیتتوضیح
400Bad request: bad_consumer
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X POST "https://api.ibel.ai/v1/queues/emails/consumer/rotate-secret" \
  -H "Authorization: Bearer $KEY"
POST/v1/queues/{name}/pull

Pull messages#

For a pull consumer: takes up to max_messages ready messages and hides them for the visibility timeout; ack them with POST …/ack.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

بدنهٔ درخواستapplication/json

  • max_messagesinteger

    1–100 · default 10

  • visibility_timeout_sinteger

    at least 1

پاسخ

200QueuePulled

  • messagesobject[]الزامی
    • idstring
    • lease_idstring

      what ack takes

    • bodyany
    • attemptsinteger
    • timestampstring (date-time)

خطاها

وضعیتتوضیح
400Bad request: bad_setting
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
409Conflict: not_pull (the queue's consumer is a function or URL)
429Too many: ops_limit
500internal: an unexpected failure
503Unavailable: unavailable (try again)

نمونه

curl -X POST "https://api.ibel.ai/v1/queues/emails/pull" \
  -H "Authorization: Bearer $KEY" \
  -d '{"max_messages":10,"visibility_timeout_s":1}'
POST/v1/queues/{name}/ack

Acknowledge or retry pulled messages#

A message neither acked nor retried comes back after its visibility timeout.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

بدنهٔ درخواستapplication/json

  • acksstring[]

    lease ids

  • retriesobject[]
    • lease_idstringالزامی
    • delay_secondsinteger

      at least 0

پاسخ

200object

  • ackedinteger
  • retriedinteger
  • deadinteger

    retries past max_retries, moved to the dead-letter queue

خطاها

وضعیتتوضیح
400Bad request: bad_message
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
409Conflict: not_pull
429Too many: ops_limit
500internal: an unexpected failure
503Unavailable: unavailable (try again)

نمونه

curl -X POST "https://api.ibel.ai/v1/queues/emails/ack" \
  -H "Authorization: Bearer $KEY" \
  -d '{"acks":["…"],"retries":[{"lease_id":"…","delay_seconds":0}]}'
GET/v1/queues/{name}/stats

A queue's numbers now#

Backlog, ready, delayed, in flight, stored bytes, age of the oldest, per-minute rates over the last 5 minutes and the dead letters waiting.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
همهٔ نقش‌ها

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

پاسخ

200QueueStats

  • backloginteger
  • readyinteger
  • delayedinteger
  • in_flightinteger
  • bytesinteger
  • oldest_age_sinteger | null
  • ratesobject

    per minute, over the last 5 minutes

  • dead_lettersinteger

    messages from this queue waiting in its dead-letter queue

خطاها

وضعیتتوضیح
400Bad request: bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure
503Unavailable: unavailable (try again)

نمونه

curl "https://api.ibel.ai/v1/queues/emails/stats" \
  -H "Authorization: Bearer $KEY"
GET/v1/queues/{name}/dead-letters

List a queue's dead letters#

The messages in this queue's dead-letter queue that came from it.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
همهٔ نقش‌ها

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

  • limitintegerکوئری

    at least 1

  • afterstringکوئری

    a message id, for the next page

پاسخ

200object

  • queuestring
  • dead_letter_queuestring | null
  • messagesQueueMessage[]
  • nextstring | null

خطاها

وضعیتتوضیح
400Bad request: bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl "https://api.ibel.ai/v1/queues/emails/dead-letters" \
  -H "Authorization: Bearer $KEY"
DELETE/v1/queues/{name}/dead-letters

Delete a queue's dead letters#

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده
تایید دوم
با نشست داشبورد، عامل دوم در ۱۰ دقیقهٔ اخیر لازم است؛ کلید API نیازی ندارد.

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

پاسخ

200object

  • purgedinteger

خطاها

وضعیتتوضیح
400Bad request: bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden, step_up_required
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X DELETE "https://api.ibel.ai/v1/queues/emails/dead-letters" \
  -H "Authorization: Bearer $KEY"
POST/v1/queues/{name}/dead-letters/retry

Retry dead letters#

Moves dead letters back into this queue, oldest first (or only ids), with their attempts reset.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

بدنهٔ درخواستapplication/json

  • limitinteger

    1–10000 · default 1000

  • idsstring[]

پاسخ

200object

  • retriedinteger

خطاها

وضعیتتوضیح
400Bad request: bad_limit
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X POST "https://api.ibel.ai/v1/queues/emails/dead-letters/retry" \
  -H "Authorization: Bearer $KEY" \
  -d '{"limit":1000,"ids":["…"]}'
POST/v1/queues/{name}/purge

Delete every message#

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده
تایید دوم
با نشست داشبورد، عامل دوم در ۱۰ دقیقهٔ اخیر لازم است؛ کلید API نیازی ندارد.

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

پاسخ

200object

  • namestring
  • purgedinteger

خطاها

وضعیتتوضیح
400Bad request: bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden, step_up_required
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X POST "https://api.ibel.ai/v1/queues/emails/purge" \
  -H "Authorization: Bearer $KEY"
POST/v1/queues/{name}/redrive

Redrive a dead-letter queue#

Moves dead letters back to the queue each came from (or to), with fresh retries.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

بدنهٔ درخواستapplication/json

  • limitinteger

    1–10000

  • tostring

پاسخ

200object

  • namestring
  • redriveninteger

خطاها

وضعیتتوضیح
400Bad request: bad_limit, bad_target
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X POST "https://api.ibel.ai/v1/queues/emails/redrive" \
  -H "Authorization: Bearer $KEY" \
  -d '{"limit":1,"to":"2026-11-04T06:00:00Z"}'
GET/v1/queues/{name}/observability

Queue metrics#

Messages waiting, age of the oldest, sent, processed, failed deliveries and dead-lettered messages.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
همهٔ نقش‌ها

پارامترها

  • namestringمسیرالزامی

    the queue's name

    pattern ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ · up to 63 characters

  • rangestringکوئری

    one of 1h, 24h, 7d · default "1h"

پاسخ

200Observability

  • rangestringالزامی
  • stepstringالزامی
  • totalsPercentilesالزامی
  • seriesPercentiles[]الزامی
  • routesPercentiles[]الزامی
  • notestring
  • copiesFunctionCopies

خطاها

وضعیتتوضیح
400Bad request: bad_range
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl "https://api.ibel.ai/v1/queues/emails/observability" \
  -H "Authorization: Bearer $KEY"
GET/v1/schedules

List schedules#

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
همهٔ نقش‌ها

پاسخ

200object

  • schedulesSchedule[]الزامی
    • idstringالزامی
    • namestring | null
    • cronstringالزامی

      five fields, e.g. 0 3 * * *

    • timezonestringالزامی
    • targetobjectالزامی
    • bodyany

      the message each run sends

    • pausedbooleanالزامی
    • last_atstring (date-time) | null
    • last_statusstring | null

      one of sent, failed, null

    • created_atstring (date-time)
    • signing_secretstring

      on create with a URL target only, shown once

  • limitsobject
    • schedulesinteger

خطاها

وضعیتتوضیح
400Bad request: bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl "https://api.ibel.ai/v1/schedules" \
  -H "Authorization: Bearer $KEY"
POST/v1/schedules

Create a schedule#

Sends body on a cron expression to a queue, a function or a URL. A URL target answers signing_secret once.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

بدنهٔ درخواستapplication/json

  • namestring
  • cronstringالزامی
  • timezonestring

    default "Asia/Tehran"

  • targetobject | object | objectالزامی
  • bodyany
  • pausedboolean

پاسخ

201ScheduleCreated

  • idstringالزامی
  • namestring | null
  • cronstringالزامی

    five fields, e.g. 0 3 * * *

  • timezonestringالزامی
  • targetobjectالزامی
  • bodyany

    the message each run sends

  • pausedbooleanالزامی
  • last_atstring (date-time) | null
  • last_statusstring | null

    one of sent, failed, null

  • created_atstring (date-time)
  • signing_secretstring

    on create with a URL target only, shown once

خطاها

وضعیتتوضیح
400Bad request: bad_cron, bad_target
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden, limit
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X POST "https://api.ibel.ai/v1/schedules" \
  -H "Authorization: Bearer $KEY" \
  -d '{"cron":"…","target":{"queue":"…"}}'
GET/v1/schedules/{id}

Get a schedule#

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
همهٔ نقش‌ها

پارامترها

  • idstringمسیرالزامی

    the schedule's id

پاسخ

200Schedule

  • idstringالزامی
  • namestring | null
  • cronstringالزامی

    five fields, e.g. 0 3 * * *

  • timezonestringالزامی
  • targetobjectالزامی
  • bodyany

    the message each run sends

  • pausedbooleanالزامی
  • last_atstring (date-time) | null
  • last_statusstring | null

    one of sent, failed, null

  • created_atstring (date-time)
  • signing_secretstring

    on create with a URL target only, shown once

خطاها

وضعیتتوضیح
400Bad request: bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl "https://api.ibel.ai/v1/schedules/88e2fe1d-6d75-4de5-8c8f-27380ec66903" \
  -H "Authorization: Bearer $KEY"
DELETE/v1/schedules/{id}

Delete a schedule#

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

پارامترها

  • idstringمسیرالزامی

    the schedule's id

پاسخ

200object

  • idstring
  • deletedboolean

خطاها

وضعیتتوضیح
400Bad request: bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X DELETE "https://api.ibel.ai/v1/schedules/88e2fe1d-6d75-4de5-8c8f-27380ec66903" \
  -H "Authorization: Bearer $KEY"
PATCH/v1/schedules/{id}

Change a schedule#

Also pauses and resumes it.

دسترسی
کلید API یا نشست داشبورد
نقش‌ها
مالک، ادمین، توسعه‌دهنده

پارامترها

  • idstringمسیرالزامی

    the schedule's id

بدنهٔ درخواستapplication/json

  • namestring
  • cronstring
  • timezonestring
  • bodyany
  • pausedboolean

پاسخ

200Schedule

  • idstringالزامی
  • namestring | null
  • cronstringالزامی

    five fields, e.g. 0 3 * * *

  • timezonestringالزامی
  • targetobjectالزامی
  • bodyany

    the message each run sends

  • pausedbooleanالزامی
  • last_atstring (date-time) | null
  • last_statusstring | null

    one of sent, failed, null

  • created_atstring (date-time)
  • signing_secretstring

    on create with a URL target only, shown once

خطاها

وضعیتتوضیح
400Bad request: bad_cron
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

نمونه

curl -X PATCH "https://api.ibel.ai/v1/schedules/88e2fe1d-6d75-4de5-8c8f-27380ec66903" \
  -H "Authorization: Bearer $KEY" \
  -d '{"name":"emails","cron":"…","timezone":"…","body":null,"paused":true}'