پروژهها
پروژه اجزای یک برنامه را کنار هم نگه میدارد، با محیطها. نامها در هر پروژه یکتا هستند.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- همهٔ نقشها
پارامترها
anyany
پاسخ
200object
projectsProjectSummary[]الزامیidstringالزامیnamestringالزامیcreated_atstring (date-time)appsintegerالزامیfunctionsintegerالزامیresourcesintegerالزامیits SQL databases, caches, buckets and queues
next_cursorstring | nullsend as
cursorfor the next page; null on the last page
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 500 | internal: an unexpected failure |
نمونه
curl "https://api.ibel.ai/v1/projects" \
-H "Authorization: Bearer $KEY"- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- مالک، ادمین، توسعهدهنده
بدنهٔ درخواستapplication/json
namestringالزامیlowercase letters, digits and single hyphens, 1-63 characters; unique in the team, whatever its case
پاسخ
201ProjectSummary
idstringالزامیnamestringالزامیcreated_atstring (date-time)appsintegerالزامیfunctionsintegerالزامیresourcesintegerالزامیits SQL databases, caches, buckets and queues
environmentsstring[]
خطاها
| وضعیت | توضیح |
|---|---|
| 400 | Bad request: bad_name, bad_json |
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 403 | Not allowed: forbidden |
| 409 | Conflict: name_taken |
| 500 | internal: an unexpected failure |
نمونه
curl -X POST "https://api.ibel.ai/v1/projects" \
-H "Authorization: Bearer $KEY" \
-d '{"name":"my-api"}'/v1/projects/{project}Get a project and what it holds#
Its apps, functions and resources, and the other projects' resources connected to it.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- همهٔ نقشها
پارامترها
any
پاسخ
200ProjectDetail
idstringالزامیnamestringالزامیcreated_atstring (date-time)appsobject[]الزامیidstringnamestringhost_labelstringcreated_atstring (date-time)
functionsobject[]الزامیidstringnamestringhost_labelstringcreated_atstring (date-time)
databasesResourceRef[]الزامیidstringالزامیnamestringالزامیcreated_atstring (date-time)
cachesResourceRef[]الزامیidstringالزامیnamestringالزامیcreated_atstring (date-time)
bucketsResourceRef[]الزامیidstringالزامیnamestringالزامیcreated_atstring (date-time)
queuesResourceRef[]الزامیidstringالزامیnamestringالزامیcreated_atstring (date-time)
connectionsobject[]الزامیother projects' resources this project uses, each with its owner
kindstringone of
database,cache,bucket,queueidstringnamestringprojectProjectRefidstringالزامیprj_and 16 hex charactersnamestringالزامی
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 404 | Not found: not_found |
| 500 | internal: an unexpected failure |
نمونه
curl "https://api.ibel.ai/v1/projects/my-api" \
-H "Authorization: Bearer $KEY"/v1/projects/{project}Delete an empty project#
Refused while it holds anything (delete or move it first) or while one of its resources is connected to another project.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- مالک، ادمین، توسعهدهنده
- تایید دوم
- با نشست داشبورد، عامل دوم در ۱۰ دقیقهٔ اخیر لازم است؛ کلید API نیازی ندارد.
پارامترها
any
پاسخ
200object
idstringnamestringdeletedbooleanالزامی
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 403 | Not allowed: forbidden, step_up_required |
| 404 | Not found: not_found |
| 409 | Conflict: not_empty, connected, has_deleted_items |
| 500 | internal: an unexpected failure |
نمونه
curl -X DELETE "https://api.ibel.ai/v1/projects/my-api" \
-H "Authorization: Bearer $KEY"- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- مالک، ادمین، توسعهدهنده
پارامترها
any
بدنهٔ درخواستapplication/json
namestringالزامی
پاسخ
200object
idstringnamestringcreated_atstring (date-time)
خطاها
| وضعیت | توضیح |
|---|---|
| 400 | Bad request: bad_name |
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 403 | Not allowed: forbidden |
| 404 | Not found: not_found |
| 409 | Conflict: name_taken |
| 500 | internal: an unexpected failure |
نمونه
curl -X PATCH "https://api.ibel.ai/v1/projects/my-api" \
-H "Authorization: Bearer $KEY" \
-d '{"name":"my-api"}'/v1/projects/{project}/membersWho may use a project#
The team's unlimited members, and limited members through a grant on the project (their own or a group's). A grant on a project reaches everything in it.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- همهٔ نقشها
پارامترها
anyanyany
پاسخ
200ResourceMembers
resourceobjectkindstringone of
project,function,app,database,cache,bucket,queue,secretsnamestringprojectstring
teamobject[]idstringemailstringrolestring
limitedobject[]idstringemailstringrolestringviaobject[]typestringone of
direct,groupnamestringrolestring
next_cursorstring | nullsend as
cursorfor the next page; null on the last page
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 404 | Not found: not_found |
| 500 | internal: an unexpected failure |
نمونه
curl "https://api.ibel.ai/v1/projects/my-api/members" \
-H "Authorization: Bearer $KEY"/v1/projects/{project}/usageA project's usage and cost#
Every app's, function's and resource's meters at list price, with their environment instances, summed.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- همهٔ نقشها
پارامترها
anydaysintegerکوئری1–90 · default
30
پاسخ
200ProjectUsage
projectProjectRefالزامیidstringالزامیprj_and 16 hex charactersnamestringالزامی
daysintegerالزامیfromstring (date-time)tostring (date-time)per_environmentbooleanlist_rialsintegerالزامیitemsobject[]الزامیkindstringالزامیone of
app,function,database,cache,bucket,queueidstringالزامیnamestringالزامیlist_rialsintegerالزامیmetersResourceMeter[]الزامیmeterstringالزامیlabelstringunitstringlabel_fastring | nullunit_fastring | nullquantitynumberالزامیlist_rialsintegerالزامی
notestring
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 404 | Not found: not_found |
| 500 | internal: an unexpected failure |
نمونه
curl "https://api.ibel.ai/v1/projects/my-api/usage" \
-H "Authorization: Bearer $KEY"/v1/projects/{project}/environmentsList a project's environments#
production, development once used, and each live or kept preview, with its addresses and the instance of each resource it uses.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- همهٔ نقشها
پارامترها
anyanyany
پاسخ
200object
environmentsEnvironment[]الزامیnamestringالزامیproduction,developmentorpreview-<label>kindstringالزامیone of
production,development,previewkeptbooleana preview kept past its branch (staging); previews only
created_atstring (date-time) | nulllast_used_atstring (date-time) | nulladdressesstring[]الزامیinstancesobjectالزامیdatabasesobject[]namestringbranchstring | nullthe database branch it uses; null before it has one
cachesobject[]namestringendpointstring | null
bucketsobject[]namestringendpointstring | null
queuesobject[]namestringendpointstring | null
next_cursorstring | nullsend as
cursorfor the next page; null on the last page
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 404 | Not found: not_found |
| 500 | internal: an unexpected failure |
نمونه
curl "https://api.ibel.ai/v1/projects/my-api/environments" \
-H "Authorization: Bearer $KEY"/v1/projects/{project}/environments/{environment}Get an environment#
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- همهٔ نقشها
پارامترها
anyenvironmentstringمسیرالزامیproduction,developmentorpreview-<label>
پاسخ
200Environment
namestringالزامیproduction,developmentorpreview-<label>kindstringالزامیone of
production,development,previewkeptbooleana preview kept past its branch (staging); previews only
created_atstring (date-time) | nulllast_used_atstring (date-time) | nulladdressesstring[]الزامیinstancesobjectالزامیdatabasesobject[]namestringbranchstring | nullthe database branch it uses; null before it has one
cachesobject[]namestringendpointstring | null
bucketsobject[]namestringendpointstring | null
queuesobject[]namestringendpointstring | null
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 404 | Not found: not_found |
| 500 | internal: an unexpected failure |
نمونه
curl "https://api.ibel.ai/v1/projects/my-api/environments/environment" \
-H "Authorization: Bearer $KEY"/v1/projects/{project}/environments/{environment}Delete a preview#
Its addresses, its caches and queues, and its database branches.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- مالک، ادمین، توسعهدهنده
پارامترها
anyenvironmentstringمسیرالزامیproduction,developmentorpreview-<label>
پاسخ
200object
namestringالزامیdeletedbooleanالزامیdatabase_branchesstring[]cachesstring[]queuesstring[]
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 403 | Not allowed: forbidden |
| 404 | Not found: not_found |
| 409 | Conflict: not_a_preview |
| 500 | internal: an unexpected failure |
نمونه
curl -X DELETE "https://api.ibel.ai/v1/projects/my-api/environments/environment" \
-H "Authorization: Bearer $KEY"/v1/projects/{project}/environments/{environment}Keep a preview, or let it expire#
A kept preview stays after its branch is merged or deleted, and is not deleted when idle (staging).
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- مالک، ادمین، توسعهدهنده
پارامترها
anyenvironmentstringمسیرالزامیproduction,developmentorpreview-<label>
بدنهٔ درخواستapplication/json
keptbooleanالزامی
پاسخ
200Environment
namestringالزامیproduction,developmentorpreview-<label>kindstringالزامیone of
production,development,previewkeptbooleana preview kept past its branch (staging); previews only
created_atstring (date-time) | nulllast_used_atstring (date-time) | nulladdressesstring[]الزامیinstancesobjectالزامیdatabasesobject[]namestringbranchstring | nullthe database branch it uses; null before it has one
cachesobject[]namestringendpointstring | null
bucketsobject[]namestringendpointstring | null
queuesobject[]namestringendpointstring | null
خطاها
| وضعیت | توضیح |
|---|---|
| 400 | Bad request: bad_kept |
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 403 | Not allowed: forbidden |
| 404 | Not found: not_found |
| 409 | Conflict: not_a_preview |
| 500 | internal: an unexpected failure |
نمونه
curl -X PATCH "https://api.ibel.ai/v1/projects/my-api/environments/environment" \
-H "Authorization: Bearer $KEY" \
-d '{"kept":true}'/v1/projects/{project}/environments/development/resetReset development#
Each SQL database's development branch made again from main, and development's caches and queues emptied. The preview bucket it shares stays.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- مالک، ادمین، توسعهدهنده
پارامترها
any
پاسخ
200object
environmentstringالزامیdatabasesobject[]الزامیnamestringالزامی
cachesstring[]queuesstring[]
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 403 | Not allowed: forbidden |
| 404 | Not found: not_found |
| 500 | internal: an unexpected failure |
نمونه
curl -X POST "https://api.ibel.ai/v1/projects/my-api/environments/development/reset" \
-H "Authorization: Bearer $KEY"/v1/deletedThe team's deleted items#
Functions, apps, databases, caches and queues deleted in the last 7 days, across the team's projects (?project= for one), newest first. Each is switched off and unreachable, its name reserved, until it is restored or the purge job removes it.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- همهٔ نقشها
پارامترها
anykindstringکوئریonly this kind's (
functions,apps,databases,caches,queues)limitintegerکوئری1–500 · default
100cursorstringکوئریthe
next_cursorof the page before
پاسخ
200DeletedItemList
itemsDeletedItem[]الزامیidstringالزامیits id, as before it was deleted
kindstringالزامیone of
function,app,database,cache,queuenamestringالزامیprojectProjectRefالزامیidstringالزامیprj_and 16 hex charactersnamestringالزامی
deleted_atstring (date-time)الزامیdeleted_bystringالزامیperson:<id>orkey:<id>, as in the audit logpurge_afterstring (date-time)الزامیwhen the purge job removes it for good (7 days after
deleted_at)stored_bytesinteger | nullالزامیthe stored data that bills while it waits (a database's, a cache's), last measured; null for apps, functions and queues
next_cursorstring | nullالزامیsend as
cursorfor the next page; null on the last page
خطاها
| وضعیت | توضیح |
|---|---|
| 400 | Bad request: bad_kind, bad_param, bad_cursor |
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 404 | Not found: not_found |
| 500 | internal: an unexpected failure |
نمونه
curl "https://api.ibel.ai/v1/deleted" \
-H "Authorization: Bearer $KEY"/v1/projects/{project}/deletedA project's deleted items#
Its functions, apps, databases, caches and queues deleted in the last 7 days, newest first.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- همهٔ نقشها
پارامترها
anykindstringکوئریonly this kind's (
functions,apps,databases,caches,queues)limitintegerکوئری1–500 · default
100cursorstringکوئریthe
next_cursorof the page before
پاسخ
200DeletedItemList
itemsDeletedItem[]الزامیidstringالزامیits id, as before it was deleted
kindstringالزامیone of
function,app,database,cache,queuenamestringالزامیprojectProjectRefالزامیidstringالزامیprj_and 16 hex charactersnamestringالزامی
deleted_atstring (date-time)الزامیdeleted_bystringالزامیperson:<id>orkey:<id>, as in the audit logpurge_afterstring (date-time)الزامیwhen the purge job removes it for good (7 days after
deleted_at)stored_bytesinteger | nullالزامیthe stored data that bills while it waits (a database's, a cache's), last measured; null for apps, functions and queues
next_cursorstring | nullالزامیsend as
cursorfor the next page; null on the last page
خطاها
| وضعیت | توضیح |
|---|---|
| 400 | Bad request: bad_kind, bad_param, bad_cursor |
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 404 | Not found: not_found |
| 500 | internal: an unexpected failure |
نمونه
curl "https://api.ibel.ai/v1/projects/my-api/deleted" \
-H "Authorization: Bearer $KEY"/v1/projects/{project}/deleted/{kind}/{name}A deleted item#
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- همهٔ نقشها
پارامترها
anykindstringمسیرالزامیfunctions,apps,databases,cachesorqueuesone of
functions,apps,databases,caches,queuesnamestringمسیرالزامیthe deleted item's name (any case) or its id
پاسخ
200DeletedItem
idstringالزامیits id, as before it was deleted
kindstringالزامیone of
function,app,database,cache,queuenamestringالزامیprojectProjectRefالزامیidstringالزامیprj_and 16 hex charactersnamestringالزامی
deleted_atstring (date-time)الزامیdeleted_bystringالزامیperson:<id>orkey:<id>, as in the audit logpurge_afterstring (date-time)الزامیwhen the purge job removes it for good (7 days after
deleted_at)stored_bytesinteger | nullالزامیthe stored data that bills while it waits (a database's, a cache's), last measured; null for apps, functions and queues
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 404 | Not found: not_found |
| 500 | internal: an unexpected failure |
نمونه
curl "https://api.ibel.ai/v1/projects/my-api/deleted/kind/my-api" \
-H "Authorization: Bearer $KEY"/v1/projects/{project}/deleted/{kind}/{name}Delete a deleted item now#
Removes it for good without waiting for the purge job: its data and history are erased and it cannot be restored.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- مالک، ادمین، توسعهدهنده
- تایید دوم
- با نشست داشبورد، عامل دوم در ۱۰ دقیقهٔ اخیر لازم است؛ کلید API نیازی ندارد.
پارامترها
anykindstringمسیرالزامیfunctions,apps,databases,cachesorqueuesone of
functions,apps,databases,caches,queuesnamestringمسیرالزامیthe deleted item's name (any case) or its id
پاسخ
200object
idstringالزامیkindstringالزامیnamestringالزامیdeletedbooleanالزامیpurgedbooleanالزامی
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 403 | Not allowed: forbidden, step_up_required |
| 404 | Not found: not_found |
| 500 | internal: an unexpected failure |
نمونه
curl -X DELETE "https://api.ibel.ai/v1/projects/my-api/deleted/kind/my-api" \
-H "Authorization: Bearer $KEY"/v1/projects/{project}/deleted/{kind}/{name}/restoreRestore a deleted item#
Puts it back, switched on, under its own name and address, with its data, versions, variables, credentials and settings. Its name stayed reserved, so 409 name_taken cannot normally happen; when it does, or when an app's or function's address is in use (409 address_taken), the item stays in deleted items and nothing is renamed or overwritten. A plan that now allows fewer of them is refused as on create.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- مالک، ادمین، توسعهدهنده
پارامترها
anykindstringمسیرالزامیfunctions,apps,databases,cachesorqueuesone of
functions,apps,databases,caches,queuesnamestringمسیرالزامیthe deleted item's name (any case) or its id
پاسخ
200DeletedItem
idstringالزامیits id, as before it was deleted
kindstringالزامیone of
function,app,database,cache,queuenamestringالزامیprojectProjectRefالزامیidstringالزامیprj_and 16 hex charactersnamestringالزامی
deleted_atstring (date-time)الزامیdeleted_bystringالزامیperson:<id>orkey:<id>, as in the audit logpurge_afterstring (date-time)الزامیwhen the purge job removes it for good (7 days after
deleted_at)stored_bytesinteger | nullالزامیthe stored data that bills while it waits (a database's, a cache's), last measured; null for apps, functions and queues
restoredbooleanالزامی
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 402 | Payment required: free_limit_reached |
| 403 | Not allowed: forbidden, limit |
| 404 | Not found: not_found |
| 409 | Conflict: name_taken, address_taken |
| 500 | internal: an unexpected failure |
نمونه
curl -X POST "https://api.ibel.ai/v1/projects/my-api/deleted/kind/my-api/restore" \
-H "Authorization: Bearer $KEY"/v1/projects/{project}/connectionsA project's connections#
Both ways: this project's resources used by other projects (out), and other projects' resources used here (in).
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- همهٔ نقشها
پارامترها
anyanyany
پاسخ
200object
connectionsConnection[]الزامیkindstringالزامیone of
database,cache,bucket,queueidstringالزامیnamestringالزامیrefstringالزامیhow the connected project binds it:
<owner>/<name>directionstringالزامیout: this project's resource used elsewhere; in: another project's used here
one of
in,outprojectProjectRefالزامیthe owning project
idstringالزامیprj_and 16 hex charactersnamestringالزامی
connected_toProjectRefالزامیidstringالزامیprj_and 16 hex charactersnamestringالزامی
created_atstring (date-time)created_bystring | null
next_cursorstring | nullsend as
cursorfor the next page; null on the last page
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 404 | Not found: not_found |
| 500 | internal: an unexpected failure |
نمونه
curl "https://api.ibel.ai/v1/projects/my-api/connections" \
-H "Authorization: Bearer $KEY"/v1/projects/{project}/connectionsConnect a resource to another project#
The other project's apps and functions then bind it as <project>/<name>. Called on the owning project. Not for members limited to chosen projects.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- مالک، ادمین، توسعهدهنده
پارامترها
any
بدنهٔ درخواستapplication/json
kindstringالزامیone of
database,cache,bucket,queuenamestringالزامیthe resource's name or id in this project
projectstringالزامیthe other project's name or id
پاسخ
201Connection
kindstringالزامیone of
database,cache,bucket,queueidstringالزامیnamestringالزامیrefstringالزامیhow the connected project binds it:
<owner>/<name>directionstringالزامیout: this project's resource used elsewhere; in: another project's used here
one of
in,outprojectProjectRefالزامیthe owning project
idstringالزامیprj_and 16 hex charactersnamestringالزامی
connected_toProjectRefالزامیidstringالزامیprj_and 16 hex charactersnamestringالزامی
created_atstring (date-time)created_bystring | null
خطاها
| وضعیت | توضیح |
|---|---|
| 400 | Bad request: bad_kind, bad_name, bad_project |
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 403 | Not allowed: forbidden |
| 404 | Not found: not_found |
| 409 | Conflict: same_project, connected |
| 500 | internal: an unexpected failure |
نمونه
curl -X POST "https://api.ibel.ai/v1/projects/my-api/connections" \
-H "Authorization: Bearer $KEY" \
-d '{"kind":"database","name":"my-api","project":"my-api"}'/v1/projects/{project}/connections/{kind}/{name}/{to}Remove a connection#
Refused while a live version (production or a preview) of the connected project binds it.
- دسترسی
- کلید API یا نشست داشبورد
- نقشها
- مالک، ادمین، توسعهدهنده
پارامترها
anykindstringمسیرالزامیone of
databases,caches,buckets,queuesnamestringمسیرالزامیthe resource's name in the project (any case) or its id
tostringمسیرالزامیthe connected project's name or id
پاسخ
200object
kindstringidstringnamestringprojectProjectRefidstringالزامیprj_and 16 hex charactersnamestringالزامی
connected_toProjectRefidstringالزامیprj_and 16 hex charactersnamestringالزامی
removedboolean
خطاها
| وضعیت | توضیح |
|---|---|
| 401 | unauthorized: missing, invalid, expired or revoked credential |
| 403 | Not allowed: forbidden |
| 404 | Not found: not_found |
| 409 | Conflict: bound |
| 500 | internal: an unexpected failure |
نمونه
curl -X DELETE "https://api.ibel.ai/v1/projects/my-api/connections/kind/my-api/2026-11-04T06%3A00%3A00Z" \
-H "Authorization: Bearer $KEY"