Yapay zekâ API
Yapay zekâ modülünün tüm işlemleri (86) ve veri modelleri (29): adresler, izinler, girdiler, ön koşullar, olaylar ve örnekler.
Asistanınız Era ve kaydettiğiniz yapay zekâ ajanları — tüm modüllerle çalışırlar.
Modül kodu ai · 86 işlem · 29 veri modeli · 76 olay. Bir anahtar ya da token, arkasındaki kişinin bu modülde yapabildiğinden fazlasını asla yapamaz; satır düzeyindeki güvenlik uygulamadakiyle birebir aynıdır. Yetki kapsamları: ai (hepsi), ai:read (yalnız okuma) ya da ai:<yetenek>.
Kaynaklar
| Kaynak | Tablo | Listeleme ve okuma | POST | PATCH | DELETE |
|---|---|---|---|---|---|
ai_agents | ai_agent | /api/v1/ai_agents | |||
ai_budgets | ai_budget | /api/v1/ai_budgets | |||
ai_conversations | ai_conversation | /api/v1/ai_conversations | |||
ai_messages | ai_message | /api/v1/ai_messages | |||
ai_model_policies | ai_model_policy | /api/v1/ai_model_policies | |||
ai_providers | ai_provider | /api/v1/ai_providers | |||
ai_runs | ai_run | /api/v1/ai_runs | |||
ai_skill_releases | ai_skill_release | /api/v1/ai_skill_releases | |||
ai_skill_runs | ai_skill_run | /api/v1/ai_skill_runs | |||
ai_skill_versions | ai_skill_version | /api/v1/ai_skill_versions | |||
ai_source_choices | ai_source_choice | /api/v1/ai_source_choices | |||
ai_tasks | ai_task | /api/v1/ai_tasks | |||
ai_template_installs | ai_template_install | /api/v1/ai_template_installs | |||
ai_usages | ai_usage | /api/v1/ai_usages | |||
brain_bindings | brain_binding | /api/v1/brain_bindings | |||
brain_erasures | brain_erasure | /api/v1/brain_erasures | |||
brain_fact_reviews | brain_fact_review | /api/v1/brain_fact_reviews | |||
brain_insights | brain_insight | /api/v1/brain_insights | |||
brains | brain | /api/v1/brains | ai.create_brain | ||
computer_folders | computer_folder | /api/v1/computer_folders | |||
computer_machines | computer_machine | /api/v1/computer_machines | |||
computer_policies | computer_policy | /api/v1/computer_policies | |||
decide_decisions | decide_decision | /api/v1/decide_decisions | |||
era_action_caps | era_action_cap | /api/v1/era_action_caps | |||
era_chat_members | era_chat_member | /api/v1/era_chat_members | |||
era_chat_seens | era_chat_seen | /api/v1/era_chat_seens | |||
era_chat_shares | era_chat_share | /api/v1/era_chat_shares | |||
era_learnings | era_learning | /api/v1/era_learnings | |||
knowledge_bases | knowledge_base | /api/v1/knowledge_bases | ai.create_knowledge_base |
Listeler limit (en çok 200), cursor, order (ör. -created_at), fields ve q alır; diğer her sorgu parametresi bir sütun süzgecidir: ?status=paid, ?total[gte]=100, ?id[in]=a,b, ?x=null.
İşlemler
| İşlem | Gereken izin | Ne yapar |
|---|---|---|
ai.archive_brain | ai:manage | Beyni arşivle |
ai.archive_knowledge_base | ai:manage | Bilgi alanını arşivle |
ai.assign_task | ai:write | Görevi devret |
ai.bind_brain | ai:manage | Beyin bağla |
ai.check_budget | ai:read | Yapay zekâ bütçesini kontrol et |
ai.clear_budget | ai:manage | Yapay zekâ bütçesini kaldır |
ai.close_code_session | ai:handle | Kod oturumunu kapat |
ai.complete_task | ai:write | Görevi tamamla |
ai.connect_subscription | ai:write | Kendi yapay zekâ aboneliğini bağla |
ai.create_agent | ai:manage | Ajan oluştur |
ai.create_brain | ai:manage | Beyin oluştur |
ai.create_knowledge_base | ai:manage | Bilgi alanı ekle |
ai.create_task | ai:write | Görev oluştur |
ai.decide_computer_step | ai:handle | Bilgisayar adımını onayla ya da reddet |
ai.decide_learning | ai:write | Era’nın sorusunu cevapla |
ai.delete_agent | ai:delete | Ajanı sil |
ai.delete_computer | ai:handle | Bulut bilgisayarımı sil |
ai.delete_conversation | ai:delete | Sohbeti sil |
ai.delete_task | ai:delete | Görevi sil |
ai.disconnect_subscription | ai:write | Aboneliğimin bağlantısını kes |
ai.erase_brain_fact | ai:manage | Era’nın öğrendiğini kalıcı olarak sil |
ai.erase_brain_person | ai:manage | Era’nın bir kişi hakkında öğrendiği her şeyi sil |
ai.escalate_approval | ai:read | Bekleyen onayı yükselt |
ai.evaluate_skill | ai:write | Beceri değerlendirmesini kaydet |
ai.forget_computer_folder | ai:handle | Klasörü unut |
ai.forget_learning | ai:write | Unut (“bunu unut”) |
ai.link_engine_agent | ai:manage | Ajanı bir asistana bağla |
ai.mark_chat_seen | ai:read | Paylaşılan sohbeti aç |
ai.open_code_session | ai:handle | Kod oturumu başlat |
ai.pause_computer | ai:handle | Bulut bilgisayarımı kapat |
ai.pause_computer_session | ai:handle | Bilgisayar görevini duraklat |
ai.promote_skill | ai:manage | Beceri sürümünü öne çıkar |
ai.propose_learning | ai:write | Bir şeyi hatırlamak için izin iste |
ai.provision_computer | ai:handle | Bulut bilgisayarımı kur |
ai.record_brain_insight | ai:write | İçgörü kaydet |
ai.record_code_session | ai:handle | Kod turunu kaydet |
ai.record_computer_file | ai:handle | Bilgisayar dosyasını kaydet |
ai.record_computer_frame | ai:handle | Canlı görüntüyü kaydet |
ai.record_computer_machine | ai:handle | Bulut bilgisayar durumunu kaydet |
ai.record_computer_progress | ai:handle | Bilgisayar ilerlemesini kaydet |
ai.record_decide_outcome | ai:write | Era’nın bir kararını onayla ya da düzelt |
ai.record_plan_limits | ai:read | Bir aboneliğin plan sınırlarını kaydet |
ai.record_provider_check | ai:manage | Sağlayıcı sağlık kontrolünü kaydet |
ai.record_provider_health | ai:handle | Zamanlanmış sağlayıcı kontrolünü kaydet |
ai.record_skill_run | ai:read | Beceri çalıştırmasını kaydet |
ai.record_subscription_state | ai:read | Aboneliğin durumunu kaydet |
ai.record_template_install | ai:write | Pazar yeri kurulumunu kaydet |
ai.record_turn | ai:write | Konuşma adımını kaydet |
ai.record_usage | ai:read | Yapay zekâ kullanımını kaydet |
ai.refile_brain_fact | ai:write | Era’nın öğrendiğini yeniden sınıflandır |
ai.remind_task | ai:handle | Görev hatırlatması gönder |
ai.remove_provider | ai:manage | Yapay zekâ sağlayıcısını kaldır |
ai.reopen_task | ai:write | Görevi yeniden aç |
ai.resolve_erasure_candidate | ai:manage | Silme başvurusunun olası eşleşmesine karar ver |
ai.resume_computer_session | ai:handle | Bilgisayar görevine devam et |
ai.review_brain_fact | ai:write | Era’nın öğrendiğini düzelt, unut, gizli tut ya da taşı |
ai.run_agent | ai:handle | Ajanı çalıştır |
ai.save_computer_folder | ai:handle | Klasörü hatırla |
ai.save_computer_policy | ai:manage | Bilgisayar kurallarını kaydet |
ai.set_action_cap | ai:write | Era için günlük izin belirle |
ai.set_agent_enabled | ai:manage | Ajanı aç veya kapat |
ai.set_brain_insight_status | ai:write | İçgörüyü işaretle |
ai.set_budget | ai:manage | Yapay zekâ bütçesi belirle |
ai.set_chat_member | ai:write | Sohbeti bir kişiyle paylaş |
ai.set_connection_share | ai:write | Bağlantıyı kimlerin kullanacağını seç |
ai.set_model_policy | ai:manage | İş türü için model seç |
ai.set_provider | ai:manage | Yapay zekâ sağlayıcısını kaydet |
ai.set_skill_policy | ai:manage | Becerinin izinlerini belirle |
ai.set_skill_release | ai:manage | Duraklat, sürdür veya kurulumu kaydet |
ai.set_source_choice | ai:write | Yapay zekânın nerede çalışacağını seç |
ai.set_subscription_use | ai:write | Aboneliğimin nerede kullanılacağını seç |
ai.share_chat | ai:write | Sohbeti paylaş |
ai.snapshot_skill | ai:write | Beceri sürümünü kaydet |
ai.start_computer | ai:handle | Bulut bilgisayarımı aç |
ai.start_computer_session | ai:handle | Bilgisayara görev ver |
ai.start_conversation | ai:write | Sohbet başlat |
ai.steer_computer_session | ai:handle | Çalışan bilgisayar görevine bir şey söyle |
ai.stop_all_computer_sessions | ai:handle | Acil durdur |
ai.stop_computer_session | ai:handle | Bilgisayar görevini durdur |
ai.unbind_brain | ai:manage | Beyin bağını kaldır |
ai.uninstall_skill | ai:delete | Beceriyi kaldır |
ai.update_agent | ai:manage | Ajanı değiştir |
ai.update_brain | ai:manage | Beyni değiştir |
ai.update_knowledge_base | ai:manage | Bilgi alanını değiştir |
ai.update_task | ai:write | Görevi değiştir |
ai.use_action_cap | ai:read | Era’nın günlük iznini kullan |
ai.archive_brain
Beyni arşivle — Beyni kullanmayı bırakır; bildikleri geçmişinde kalır. Şirket beyni kalır.
Gereken izin ai:manage · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/brains/actions/archive_brain- Asıl adres:
POST /api/v1/actions/ai.archive_brain
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Beyin |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
brain_not_found | Bu beyin bu çalışma alanında bulunamadı. |
not_your_brain | Başkasının kişisel beynini yalnızca sahibi arşivleyebilir. |
archived | Zaten arşivlenmiş. |
default_brain | Şirket beyni arşivlenemez. |
Yayımladığı olaylar: ai.brain_archived
Neye yazar: brain (update) — Archives the brain; brain_binding (delete) — Disconnects it from every Era and workflow
curl -X POST https://app.getera.io/api/v1/brains/actions/archive_brain \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"ID_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.brain_archived"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brains.archiveBrain({
id: "ID_ID"
})era brains archive_brain \
--id "ID_ID"{
"name": "era__ai__archive_brain",
"arguments": {
"id": "ID_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 brain_not_found, not_your_brain, archived, default_brain · 429 çok sık istek
ai.archive_knowledge_base
Bilgi alanını arşivle — Alanı doldurmayı ve okumayı bırakır; içindekiler geçmişte kalır.
Gereken izin ai:manage · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır) · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/knowledge_bases/actions/archive_knowledge_base- Asıl adres:
POST /api/v1/actions/ai.archive_knowledge_base
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Boşluk |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
knowledge_base_not_found | Bu bilgi alanı bu çalışma alanında bulunamadı. |
archived | Zaten arşivlenmiş. |
default_knowledge_base | Beynin ana bilgi alanı, başka bir alan ana alan yapılana kadar arşivlenemez. |
Yayımladığı olaylar: ai.knowledge_base_archived
Neye yazar: knowledge_base (update) — Archives the space; brain_binding (update) — Takes it out of every connection that named it
curl -X POST https://app.getera.io/api/v1/knowledge_bases/actions/archive_knowledge_base \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"ID_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.knowledge_base_archived"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.knowledgeBases.archiveKnowledgeBase({
id: "ID_ID"
})era knowledge_bases archive_knowledge_base \
--id "ID_ID"{
"name": "era__ai__archive_knowledge_base",
"arguments": {
"id": "ID_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 knowledge_base_not_found, archived, default_knowledge_base · 429 çok sık istek
ai.assign_task
Görevi devret — Görevi bir notla bir kişiye veya ajana verir. Ajana vermek onu uyandırır; ajan aynı yolla geri verir.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_tasks/{id}/actions/assign_task- Asıl adres:
POST /api/v1/actions/ai.assign_task
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Görev · kimliği: ai_task |
assigneeUserId | uuid | Kişi · kimliği: app_user | |
assigneeAgentId | uuid | Ajan · kimliği: ai_agent | |
note | string | Not · en çok 2000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Görev bu çalışma alanında bulunmalı. |
not_member | Kişi bu çalışma alanının üyesi olmalı. |
unknown_agent | Ajan bu çalışma alanında bulunmalı. |
agent_disabled | Kapalı bir ajana görev verilemez. |
Yayımladığı olaylar: ai.task_assigned, ai.agent_requested
Neye yazar: ai_task (update) — Moves the task and appends the handoff
curl -X POST https://app.getera.io/api/v1/ai_tasks/AI_TASK_ID/actions/assign_task \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"assigneeUserId":"APP_USER_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.task_assigned",
"ai.agent_requested"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiTasks.assignTask("AI_TASK_ID", {
assigneeUserId: "APP_USER_ID"
})era ai_tasks assign_task AI_TASK_ID \
--assignee-user-id "APP_USER_ID"{
"name": "era__ai__assign_task",
"arguments": {
"id": "AI_TASK_ID",
"assigneeUserId": "APP_USER_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_member, unknown_agent, agent_disabled · 429 çok sık istek
ai.bind_brain
Beyin bağla — Bir Era, iş akışı ya da sesli asistanın hangi beyinden ve alanlardan bileceğini ve ona öğretip öğretmeyeceğini seçer.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/brain_bindings/actions/bind_brain- Asıl adres:
POST /api/v1/actions/ai.bind_brain
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
subjectType | string | evet | İçin · agent · workflow · voice_agent · era_chat · meeting · team · role · en çok 20 |
subjectId | string | evet | Hangisi · en çok 120 |
brainId | uuid | evet | Beyin |
knowledgeBaseIds | object / array | Alanlar (boş = tümü) | |
access | string (enum) | Erişim · İzin verilen değerler: read, read_write |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
bad_subject | Bir Era, iş akışı, sesli ajan, toplantı ya da Era sohbeti seçilmeli. |
brain_not_found | Bu beyin bu çalışma alanında bulunamadı. |
not_your_brain | Başkasının kişisel beyni yalnızca sahibine aittir. |
archived | Arşivlenmiş bir beyin kullanıma verilemez. |
personal_brain | Kişisel beyin yalnızca sahibinin kendi sohbetinde kullanılabilir. |
agent_not_found | Bu Era bulunamadı. |
subject_not_found | Bu ekip ya da rol bu çalışma alanında bulunamadı. |
knowledge_base_not_in_brain | Bilgi alanları bu beyne ait olmalı. |
Yayımladığı olaylar: ai.brain_bound
Neye yazar: brain_binding (upsert) — Connects the brain (or changes its spaces and access)
curl -X POST https://app.getera.io/api/v1/brain_bindings/actions/bind_brain \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"subjectType":"For","subjectId":"Which one","brainId":"BRAIN_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.brain_bound"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brainBindings.bindBrain({
subjectType: "For",
subjectId: "Which one",
brainId: "BRAIN_ID"
})era brain_bindings bind_brain \
--subject-type "For" \
--subject-id "Which one" \
--brain-id "BRAIN_ID"{
"name": "era__ai__bind_brain",
"arguments": {
"subjectType": "For",
"subjectId": "Which one",
"brainId": "BRAIN_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 bad_subject, brain_not_found, not_your_brain, archived, personal_brain, agent_not_found, subject_not_found, knowledge_base_not_in_brain · 429 çok sık istek
ai.check_budget
Yapay zekâ bütçesini kontrol et — Bir çalıştırmanın başlayıp başlayamayacağını, sınır başına harcamayla yanıtlar. Era her adımdan önce çağırır.
Gereken izin ai:read · veriyi değiştirir
https://app.getera.io/api/v1/ai_budgets/actions/check_budget- Asıl adres:
POST /api/v1/actions/ai.check_budget
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
agentId | uuid | Ajan · kimliği: ai_agent |
Yayımladığı olaylar: ai.budget_alert
Neye yazar: ai_budget (update) — Stamps the alert key so an alert fires once
curl -X POST https://app.getera.io/api/v1/ai_budgets/actions/check_budget \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"agentId":"AI_AGENT_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.budget_alert"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiBudgets.checkBudget({
agentId: "AI_AGENT_ID"
})era ai_budgets check_budget \
--agent-id "AI_AGENT_ID"{
"name": "era__ai__check_budget",
"arguments": {
"agentId": "AI_AGENT_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:read izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
ai.clear_budget
Yapay zekâ bütçesini kaldır — Sınırı kaldırır. O kapsam için harcama sınırsız olur.
Gereken izin ai:manage · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/ai_budgets/{id}/actions/clear_budget- Asıl adres:
POST /api/v1/actions/ai.clear_budget
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Bütçe · kimliği: ai_budget |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Bütçe bu çalışma alanında bulunmalı. |
Yayımladığı olaylar: ai.budget_updated
Neye yazar: ai_budget (delete) — Removes the cap
curl -X POST https://app.getera.io/api/v1/ai_budgets/AI_BUDGET_ID/actions/clear_budget \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.budget_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiBudgets.clearBudget("AI_BUDGET_ID")era ai_budgets clear_budget AI_BUDGET_ID{
"name": "era__ai__clear_budget",
"arguments": {
"id": "AI_BUDGET_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found · 429 çok sık istek
ai.close_code_session
Kod oturumunu kapat — Canlı kod oturumunu bitirir; bir sonraki istek yeni bir oturum açar.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/actions/ai.close_code_sessionGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Oturum · kimliği: code_session |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Yalnızca açık olan kendi oturumun kapatılabilir. |
Yayımladığı olaylar: ai.code_session_closed
Neye yazar: code_session (update) — Marks it closed
curl -X POST https://app.getera.io/api/v1/actions/ai.close_code_session \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"CODE_SESSION_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.code_session_closed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.close_code_session", {
id: "CODE_SESSION_ID"
})era ai close_code_session \
--id "CODE_SESSION_ID"{
"name": "era__ai__close_code_session",
"arguments": {
"id": "CODE_SESSION_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found · 429 çok sık istek
ai.complete_task
Görevi tamamla — Tamamlandı işaretler. Tekrarlayan görev bir sonrakini yazar.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_tasks/{id}/actions/complete_task- Asıl adres:
POST /api/v1/actions/ai.complete_task
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Görev · kimliği: ai_task |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Görev bu çalışma alanında bulunmalı. |
already_done | Tamamlanmış bir görev yeniden tamamlanamaz. |
Yayımladığı olaylar: ai.task_completed
Neye yazar: ai_task (update) — Marks it done; ai_task (insert) — Writes the next occurrence of a repeating task
curl -X POST https://app.getera.io/api/v1/ai_tasks/AI_TASK_ID/actions/complete_task \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.task_completed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiTasks.completeTask("AI_TASK_ID")era ai_tasks complete_task AI_TASK_ID{
"name": "era__ai__complete_task",
"arguments": {
"id": "AI_TASK_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, already_done · 429 çok sık istek
ai.connect_subscription
Kendi yapay zekâ aboneliğini bağla — Kendi yapay zekâ aboneliğinin girişini (Claude, ChatGPT, Antigravity, Grok, Copilot, Cursor …) kaydeder; böylece sohbetin, Era’ların ve iş akışların önce senin planını kullanır. Bulut girişi kasada şifrelenip saklanır; bilgisayar girişi o bilgisayarda kalır.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_providers/actions/connect_subscription- Asıl adres:
POST /api/v1/actions/ai.connect_subscription
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
provider | string (enum) | evet | Abonelik · İzin verilen değerler: claude_code, chatgpt, gemini_cli, grok_cli, copilot_cli, cursor_cli, kimi_cli, vibe_cli, opencode_cli, amp_cli, kiro_cli, cline_cli, auggie_cli, google |
execution | string (enum) | evet | Çalıştırmalar · İzin verilen değerler: remote, local_device, cloud_computer |
deviceId | string | Bilgisayar · en çok 64 | |
secretRef | string | Kasa girişi · en çok 64 | |
oauthSecretRef | string | Kasa izni · en çok 64 | |
keyHint | string | Anahtar (maskeli) · en çok 40 | |
accountLabel | string | Hesap · en çok 160 | |
status | string (enum) | Durum · İzin verilen değerler: connecting, healthy | |
meta | object / array | Ayrıntılar |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
unknown_subscription | Yalnızca Era’nın tanıdığı bir abonelik, çalışabildiği yerlerde. |
bad_secret_ref | Bulut girişi bu çalışma alanının kasasındaki bir sır olmalı. |
device_required | Bilgisayar girişi için bilgisayarı seçmeniz gerekir. |
Yayımladığı olaylar: ai.subscription_connected
Neye yazar: ai_provider (upsert) — Writes the person’s own connection row (never a token)
curl -X POST https://app.getera.io/api/v1/ai_providers/actions/connect_subscription \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"provider":"claude_code","execution":"remote"}'{
"ok": true,
"result": "…",
"events": [
"ai.subscription_connected"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiProviders.connectSubscription({
provider: "claude_code",
execution: "remote"
})era ai_providers connect_subscription \
--provider "claude_code" \
--execution "remote"{
"name": "era__ai__connect_subscription",
"arguments": {
"provider": "claude_code",
"execution": "remote"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 unknown_subscription, bad_secret_ref, device_required · 429 çok sık istek
ai.create_agent
Ajan oluştur — Bir talimat ve araç bütçesi kaydeder. Kapalı olarak gelir.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/ai_agents/actions/create_agent- Asıl adres:
POST /api/v1/actions/ai.create_agent
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
name | string | evet | Ad · en çok 160 |
instructions | string | Talimatlar · en çok 20000 | |
description | string | Açıklama · en çok 2000 | |
model | string | Model · en çok 120 | |
allowedModules | object / array | Yalnızca bu modüllerle sınırlı · Modül kodlarının listesi. Boş bırakılırsa oluşturan kişinin zaten kullanabildiği tüm modüller. | |
wakesOn | object / array | Şunlarda devreye girer · Olay adlarının listesi — crm.lead_won, crm.* veya *. Boş bırakılırsa yalnızca istendiğinde çalışır. | |
maxSteps | number | Çalıştırma başına araç çağrısı · en az 1 · en çok 40 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
empty_name | Ajanın bir adı olmalı. |
bad_modules | Yalnızca bu platformun kayıtlı modülleriyle sınırlandırılabilir. |
bad_trigger | Uyandırma tetikleyicisi, bir modülün tanımladığı bir olay olmalı. |
Yayımladığı olaylar: ai.agent_created
Neye yazar: ai_agent (insert) — Writes the agent
curl -X POST https://app.getera.io/api/v1/ai_agents/actions/create_agent \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Name"}'{
"ok": true,
"result": "…",
"events": [
"ai.agent_created"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiAgents.createAgent({
name: "Name"
})era ai_agents create_agent \
--name "Name"{
"name": "era__ai__create_agent",
"arguments": {
"name": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 empty_name, bad_modules, bad_trigger · 429 çok sık istek
ai.create_brain
Beyin oluştur — Kendi bilgi alanları olan yeni bir beyin — şirket, bir kişi, bir Era ya da bir sesli asistan için.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/brains/actions/create_brain- REST kısayolu:
POST /api/v1/brains - Asıl adres:
POST /api/v1/actions/ai.create_brain
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
name | string | evet | Ad · en çok 80 |
description | string | Ne için · en çok 500 | |
kind | string (enum) | Tür · İzin verilen değerler: company, personal, team, era, voice, brand, custom | |
scope | string (enum) | Kim kullanıyor · İzin verilen değerler: workspace, team, era, voice_agent, person | |
scopeRef | uuid | Kimin | |
memory | string (enum) | Bellek · İzin verilen değerler: long, short | |
shortTtlHours | number | Kısa süreli hafıza süresi (saat) · en az 1 · en çok 720 | |
embeddingSpace | string (enum) | Anlamı nerede çıkarır · İzin verilen değerler: bge-m3-1024, e5-small-384 | |
learnFrom | object / array | Öğrendiği kaynaklar | |
knowledgeBases | object / array | Bilgi alanları |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
empty_name | Beynin bir adı olmalı. |
name_taken | Bu adda bir beyin bu çalışma alanında zaten var. |
not_your_brain | Kişisel beyin sadece senin olabilir. |
missing_scope_ref | Bir ekip, Era ya da sesli ajan için beyin oluştururken hangisi olduğunu seçmeniz gerekir. |
agent_not_found | Bu Era bulunamadı. |
team_not_found | Bu ekip bu çalışma alanında bulunamadı. |
invalid_learn_from | Öğrenme kaynakları yalnızca tanınan açma/kapama seçeneklerinden oluşmalı. |
Yayımladığı olaylar: ai.brain_created
Neye yazar: brain (insert) — Creates the brain; knowledge_base (insert) — Creates its first knowledge spaces; brain_binding (insert) — A team brain is given to its team
curl -X POST https://app.getera.io/api/v1/brains/actions/create_brain \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Name"}'{
"ok": true,
"result": "…",
"events": [
"ai.brain_created"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brains.create({
name: "Name"
})era brains create \
--name "Name"{
"name": "era__ai__create_brain",
"arguments": {
"name": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 empty_name, name_taken, not_your_brain, missing_scope_ref, agent_not_found, team_not_found, invalid_learn_from · 429 çok sık istek
ai.create_knowledge_base
Bilgi alanı ekle — Bir beynin içinde yeni bir alan — Satış, Ürün belgeleri, Müşteri başarısı, Kişisel notlar.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/knowledge_bases/actions/create_knowledge_base- REST kısayolu:
POST /api/v1/knowledge_bases - Asıl adres:
POST /api/v1/actions/ai.create_knowledge_base
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
brainId | uuid | evet | Beyin |
name | string | evet | Ad · en çok 80 |
kind | string (enum) | Tür · İzin verilen değerler: company, product, sales, marketing, customers, projects, personal, voice, industry, meetings, brand, finance, support, custom | |
description | string | Buraya ne girer · en çok 500 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
brain_not_found | Bu beyin bu çalışma alanında bulunamadı. |
not_your_brain | Başkasının kişisel beyni yalnızca sahibine aittir. |
archived | Arşivlenmiş bir beyne yeni bilgi alanı eklenemez. |
empty_name | Bilgi alanının bir adı olmalı. |
name_taken | Bu adda bir bilgi alanı bu beyinde zaten var. |
Yayımladığı olaylar: ai.knowledge_base_created
Neye yazar: knowledge_base (insert) — Creates the space
curl -X POST https://app.getera.io/api/v1/knowledge_bases/actions/create_knowledge_base \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"brainId":"BRAIN_ID","name":"Name"}'{
"ok": true,
"result": "…",
"events": [
"ai.knowledge_base_created"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.knowledgeBases.create({
brainId: "BRAIN_ID",
name: "Name"
})era knowledge_bases create \
--brain-id "BRAIN_ID" \
--name "Name"{
"name": "era__ai__create_knowledge_base",
"arguments": {
"brainId": "BRAIN_ID",
"name": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 brain_not_found, not_your_brain, archived, empty_name, name_taken · 429 çok sık istek
ai.create_task
Görev oluştur — Bir kişi veya ajan için son tarih, öncelik, liste ve tekrar kuralıyla bir yapılacak. Ajana verilirse ajanı uyandırır.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_tasks/actions/create_task- Asıl adres:
POST /api/v1/actions/ai.create_task
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
title | string | evet | Başlık · en çok 300 |
description | string | Ayrıntılar · en çok 10000 | |
listName | string | Liste · en çok 80 | |
priority | string (enum) | Öncelik · İzin verilen değerler: low, normal, high, urgent | |
dueAt | date-time | Son tarih | |
recurrence | string (enum) | Tekrar · İzin verilen değerler: none, daily, weekly, monthly | |
assigneeUserId | uuid | Kişi · kimliği: app_user | |
assigneeAgentId | uuid | Ajan · kimliği: ai_agent | |
recordType | string (enum) | Hakkında · İzin verilen değerler: customer, lead, appointment, order, conversation | |
recordId | uuid | Kayıt kimliği |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
empty_title | Görevin bir başlığı olmalı. |
not_member | Kişi bu çalışma alanının üyesi olmalı. |
unknown_agent | Ajan bu çalışma alanında bulunmalı. |
agent_disabled | Kapalı bir ajana görev verilemez. |
Yayımladığı olaylar: ai.task_created, ai.agent_requested
Neye yazar: ai_task (insert) — Writes the task
curl -X POST https://app.getera.io/api/v1/ai_tasks/actions/create_task \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"title":"Title"}'{
"ok": true,
"result": "…",
"events": [
"ai.task_created",
"ai.agent_requested"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiTasks.createTask({
title: "Title"
})era ai_tasks create_task \
--title "Title"{
"name": "era__ai__create_task",
"arguments": {
"title": "Title"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 empty_title, not_member, unknown_agent, agent_disabled · 429 çok sık istek
ai.decide_computer_step
Bilgisayar adımını onayla ya da reddet — Bilgisayarın beklediği adıma cevap verir. “Benzer adımlar” aynı sitede aynı tür adımı 15 dakika onaylar.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/actions/ai.decide_computer_stepGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Oturum · kimliği: computer_session |
approvalId | uuid | evet | Adım |
decision | string (enum) | evet | Karar · İzin verilen değerler: approve, deny |
allowSimilar | boolean | Benzer adımlara 15 dakika izin ver | |
note | string | Not · en çok 500 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Oturum bu çalışma alanında bulunamadı. |
no_pending_approval | Bu adım artık yanıt beklemiyor. |
Neye yazar: computer_session (update) — Stores the decision for the worker; computer_session_event (insert) — Records who decided
curl -X POST https://app.getera.io/api/v1/actions/ai.decide_computer_step \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"COMPUTER_SESSION_ID","approvalId":"APPROVAL_ID","decision":"approve"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.decide_computer_step", {
id: "COMPUTER_SESSION_ID",
approvalId: "APPROVAL_ID",
decision: "approve"
})era ai decide_computer_step \
--id "COMPUTER_SESSION_ID" \
--approval-id "APPROVAL_ID" \
--decision "approve"{
"name": "era__ai__decide_computer_step",
"arguments": {
"id": "COMPUTER_SESSION_ID",
"approvalId": "APPROVAL_ID",
"decision": "approve"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, no_pending_approval · 429 çok sık istek
ai.decide_learning
Era’nın sorusunu cevapla — Hatırla (istersen düzenleyerek) ya da Hatırlama. Onaylanan bilgi kaynağıyla birlikte saklanır; beceri yeni sürüm olarak devreye girer.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/era_learnings/actions/decide_learning- Asıl adres:
POST /api/v1/actions/ai.decide_learning
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Era’nın sorduğu |
decision | string (enum) | evet | Yanıt · İzin verilen değerler: approve, reject |
statement | string | Metin · en çok 4000 | |
memoryKind | string | Kategori · fact · preference · rule · procedure · en çok 20 | |
audience | string | İçin · person · workspace · module · en çok 20 | |
moduleCode | string | Modül · en çok 64 | |
expiresAt | date-time | Bitiş | |
skillDescription | string | Becerinin amacı · en çok 1024 | |
skillContent | string | Becerinin adımları · en çok 50000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
learning_not_found | Era bunu burada sormuş olmalı. |
already_decided | Bir öneri bir kez yanıtlanır. |
not_yours | Bir kişiye yönelik öneriyi o kişi (ya da bir yönetici) yanıtlar. |
empty_statement | Yeniden yazılan hatıra yine bir şey söylemeli. |
bad_memory_kind | Hafıza kaydı bir bilgi, tercih, kural ya da yöntem olmalı. |
module_required | Tek bir modüle ait hatıra, var olan bir modülü belirtmeli. |
already_expired | Bitiş tarihi ileride olmalı. |
skill_incomplete | Düzenlenen beceri tek satırlık amacını ve adımlarını korur. |
Yayımladığı olaylar: ai.learning_decided
Neye yazar: era_learning (update) — Records the answer; an approval is written to Era’s memory or skills by the table
curl -X POST https://app.getera.io/api/v1/era_learnings/actions/decide_learning \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"ID_ID","decision":"approve"}'{
"ok": true,
"result": "…",
"events": [
"ai.learning_decided"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.eraLearnings.decideLearning({
id: "ID_ID",
decision: "approve"
})era era_learnings decide_learning \
--id "ID_ID" \
--decision "approve"{
"name": "era__ai__decide_learning",
"arguments": {
"id": "ID_ID",
"decision": "approve"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 learning_not_found, already_decided, not_yours, empty_statement, bad_memory_kind, module_required, already_expired, skill_incomplete · 429 çok sık istek
ai.delete_agent
Ajanı sil — Ajanı ve çalıştırma geçmişini kaldırır. Genellikle istediğiniz şey kapatmaktır.
Gereken izin ai:delete · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/ai_agents/{id}/actions/delete_agent- Asıl adres:
POST /api/v1/actions/ai.delete_agent
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Ajan · kimliği: ai_agent |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Ajan bu çalışma alanında bulunmalı. |
Yayımladığı olaylar: ai.agent_deleted
Neye yazar: ai_agent (delete) — Removes the agent; ai_run (delete) — Its run history goes with it, by cascade
curl -X POST https://app.getera.io/api/v1/ai_agents/AI_AGENT_ID/actions/delete_agent \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.agent_deleted"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiAgents.deleteAgent("AI_AGENT_ID")era ai_agents delete_agent AI_AGENT_ID{
"name": "era__ai__delete_agent",
"arguments": {
"id": "AI_AGENT_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found · 429 çok sık istek
ai.delete_computer
Bulut bilgisayarımı sil — Bulut bilgisayarını ve diskini siler. Geri alınamaz.
Gereken izin ai:handle · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/computer_machines/actions/delete_computer- Asıl adres:
POST /api/v1/actions/ai.delete_computer
Girdi
Bu işlem girdi almaz.
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
no_computer | Önce bir bulut bilgisayarınız olmalı. |
Yayımladığı olaylar: ai.computer_machine_requested
Neye yazar: computer_machine (update) — Asks the worker to delete it; computer_session (update) — Stops tasks running on it
curl -X POST https://app.getera.io/api/v1/computer_machines/actions/delete_computer \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.computer_machine_requested"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.computerMachines.deleteComputer()era computer_machines delete_computer{
"name": "era__ai__delete_computer",
"arguments": {}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 no_computer · 429 çok sık istek
ai.delete_conversation
Sohbeti sil — Konuşmayı gizler. Kayıtlarda yaptığı değişiklikler geri alınmaz.
Gereken izin ai:delete · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/ai_conversations/{id}/actions/delete_conversation- Asıl adres:
POST /api/v1/actions/ai.delete_conversation
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Konuşma · kimliği: ai_conversation |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Konuşma bu çalışma alanında bulunmalı. |
Yayımladığı olaylar: ai.conversation_deleted
Neye yazar: ai_conversation (update) — Writes the tombstone, through sql/056’s door
curl -X POST https://app.getera.io/api/v1/ai_conversations/AI_CONVERSATION_ID/actions/delete_conversation \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.conversation_deleted"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiConversations.deleteConversation("AI_CONVERSATION_ID")era ai_conversations delete_conversation AI_CONVERSATION_ID{
"name": "era__ai__delete_conversation",
"arguments": {
"id": "AI_CONVERSATION_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found · 429 çok sık istek
ai.delete_task
Görevi sil — Her listeden kaldırır.
Gereken izin ai:delete · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/ai_tasks/{id}/actions/delete_task- Asıl adres:
POST /api/v1/actions/ai.delete_task
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Görev · kimliği: ai_task |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Görev bu çalışma alanında bulunmalı. |
Yayımladığı olaylar: ai.task_deleted
Neye yazar: ai_task (update) — Writes the tombstone through sql/082’s door
curl -X POST https://app.getera.io/api/v1/ai_tasks/AI_TASK_ID/actions/delete_task \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.task_deleted"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiTasks.deleteTask("AI_TASK_ID")era ai_tasks delete_task AI_TASK_ID{
"name": "era__ai__delete_task",
"arguments": {
"id": "AI_TASK_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found · 429 çok sık istek
ai.disconnect_subscription
Aboneliğimin bağlantısını kes — Era bu planı kullanmayı bırakır. Giriş, bu işlemden önce sağlayıcı tarafında iptal edilmiştir.
Gereken izin ai:write · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/ai_providers/{id}/actions/disconnect_subscription- Asıl adres:
POST /api/v1/actions/ai.disconnect_subscription
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Abonelik · kimliği: ai_provider |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Bu abonelik bu çalışma alanında bağlı değil. |
not_owner | Bunu yalnızca sahibi ya da ayrılmış biri için çalışma alanı yöneticisi yapabilir. |
Yayımladığı olaylar: ai.subscription_disconnected
Neye yazar: ai_provider (delete) — Removes the connection row
curl -X POST https://app.getera.io/api/v1/ai_providers/AI_PROVIDER_ID/actions/disconnect_subscription \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.subscription_disconnected"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiProviders.disconnectSubscription("AI_PROVIDER_ID")era ai_providers disconnect_subscription AI_PROVIDER_ID{
"name": "era__ai__disconnect_subscription",
"arguments": {
"id": "AI_PROVIDER_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_owner · 429 çok sık istek
ai.erase_brain_fact
Era’nın öğrendiğini kalıcı olarak sil — Kalıcı olarak sil: bilgi, önceki ve sonraki bütün halleri, bağlantıları, onunla ilgili kararlar ve içgörülerdeki izi silinir. Unut ise sadece kullanmayı bırakır.
Gereken izin ai:manage · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/brain_erasures/actions/erase_brain_fact- Asıl adres:
POST /api/v1/actions/ai.erase_brain_fact
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
memoryId | uuid | evet | Era ne öğrendi |
reason | string | Neden (örneğin bir KVKK talebinin referansı) · en çok 500 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
fact_not_found | Bu bilgi bulunamadı ya da başka birine ait özel bir bilgi. |
Yayımladığı olaylar: ai.brain_fact_erased
Neye yazar: brain_erasure (insert) — Records the erasure (without the erased words); brain_fact_review (delete) — Reviews that quote it go with it; decide_decision (delete) — Decisions taken about it go with it; brain_insight (update) — Insights drawn from it lose that source; one with no source left is deleted
curl -X POST https://app.getera.io/api/v1/brain_erasures/actions/erase_brain_fact \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"memoryId":"MEMORY_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.brain_fact_erased"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brainErasures.eraseBrainFact({
memoryId: "MEMORY_ID"
})era brain_erasures erase_brain_fact \
--memory-id "MEMORY_ID"{
"name": "era__ai__erase_brain_fact",
"arguments": {
"memoryId": "MEMORY_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 fact_not_found · 429 çok sık istek
ai.erase_brain_person
Era’nın bir kişi hakkında öğrendiği her şeyi sil — İlgili kişi başvurusu (KVKK m.7 / GDPR m.17): kişi hakkındaki her bilgi, bütün halleriyle ve kişi Era’nın hafızasından silinir; kayıt bunun yapıldığını saklar.
Gereken izin ai:manage · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/brain_erasures/actions/erase_brain_person- Asıl adres:
POST /api/v1/actions/ai.erase_brain_person
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
entityId | uuid | evet | Kişi |
reason | string | Başvuru numarası · en çok 500 | |
requestedOn | string | Başvuru tarihi · en çok 10 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
person_not_found | Era bu kişiyi bu çalışma alanında tanımıyor. |
bad_date | Talep tarihi geçerli bir tarih olmalı ve gelecekte olmamalı. |
Yayımladığı olaylar: ai.brain_person_erased
Neye yazar: brain_erasure (insert) — Records the request and what was erased; brain_fact_review (delete) — Reviews that quote the facts go with them; decide_decision (delete) — Decisions taken about the facts go with them; brain_insight (update) — Insights drawn from the facts lose them; one with no source left is deleted
curl -X POST https://app.getera.io/api/v1/brain_erasures/actions/erase_brain_person \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"entityId":"ENTITY_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.brain_person_erased"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brainErasures.eraseBrainPerson({
entityId: "ENTITY_ID"
})era brain_erasures erase_brain_person \
--entity-id "ENTITY_ID"{
"name": "era__ai__erase_brain_person",
"arguments": {
"entityId": "ENTITY_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 person_not_found, bad_date · 429 çok sık istek
ai.escalate_approval
Bekleyen onayı yükselt — Onaylayanlara bir talebin çok uzun beklediğini bildirir. Otomatik: onay listesi yükseltir.
Gereken izin ai:read · yalnız okur
403 machine_only).https://app.getera.io/api/v1/actions/ai.escalate_approvalGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
approvalId | string | evet | Onay · en çok 64 |
intent | string | Sorduğu · en çok 300 | |
tool | string | Araç · en çok 200 | |
ageHours | number | evet | Bekleme süresi (saat) · en az 0 |
Yayımladığı olaylar: ai.approval_escalated
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:read izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
ai.evaluate_skill
Beceri değerlendirmesini kaydet — Bir sürümün kaç test durumunu geçtiğini saklar.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_skill_versions/{id}/actions/evaluate_skill- Asıl adres:
POST /api/v1/actions/ai.evaluate_skill
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
versionId | uuid | evet | Doldurulduğu yer: adresteki {id} · Sürüm · kimliği: ai_skill_version |
passed | number | evet | Başarılı · en az 0 |
total | number | evet | Durumlar · en az 0 |
notes | string | Notlar · en çok 10000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Sürüm bu çalışma alanında bulunmalı. |
Yayımladığı olaylar: ai.skill_evaluated
Neye yazar: ai_skill_version (update) — Writes the score
curl -X POST https://app.getera.io/api/v1/ai_skill_versions/AI_SKILL_VERSION_ID/actions/evaluate_skill \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"passed":1,"total":1}'{
"ok": true,
"result": "…",
"events": [
"ai.skill_evaluated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiSkillVersions.evaluateSkill("AI_SKILL_VERSION_ID", {
passed: 1,
total: 1
})era ai_skill_versions evaluate_skill AI_SKILL_VERSION_ID \
--passed 1 \
--total 1{
"name": "era__ai__evaluate_skill",
"arguments": {
"versionId": "AI_SKILL_VERSION_ID",
"passed": 1,
"total": 1
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found · 429 çok sık istek
ai.forget_computer_folder
Klasörü unut — Era bu klasörü artık adıyla tanımaz.
Gereken izin ai:handle · siler ya da geri alınamaz
https://app.getera.io/api/v1/computer_folders/{id}/actions/forget_computer_folder- Asıl adres:
POST /api/v1/actions/ai.forget_computer_folder
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Klasör · kimliği: computer_folder |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Klasör senin olmalı. |
Neye yazar: computer_folder (delete) — Removes the name
curl -X POST https://app.getera.io/api/v1/computer_folders/COMPUTER_FOLDER_ID/actions/forget_computer_folder \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.computerFolders.forgetComputerFolder("COMPUTER_FOLDER_ID")era computer_folders forget_computer_folder COMPUTER_FOLDER_ID{
"name": "era__ai__forget_computer_folder",
"arguments": {
"id": "COMPUTER_FOLDER_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found · 429 çok sık istek
ai.forget_learning
Unut (“bunu unut”) — Bir bilgiyi unutur (geçmişte kalır) ya da bir beceriyi kullanmayı bırakır (silinmez, durdurulur).
Gereken izin ai:write · siler ya da geri alınamaz
https://app.getera.io/api/v1/brain_fact_reviews/actions/forget_learning- Asıl adres:
POST /api/v1/actions/ai.forget_learning
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
memoryId | uuid | Bellek | |
about | string | Unutulacak olan, kelimelerle · en çok 500 | |
skillName | string | Kullanımı bırakılacak beceri · en çok 64 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
nothing_to_forget | Era bunu hatırlıyor (ya da bu beceriye sahip) olmalı. |
ambiguous | Birden fazla hatırayla eşleşen sözler için bir seçim gerekir. |
Yayımladığı olaylar: ai.learning_forgotten
Neye yazar: brain_fact_review (insert) — Records Unut; the table applies it; ai_skill_release (update) — Pauses the skill
curl -X POST https://app.getera.io/api/v1/brain_fact_reviews/actions/forget_learning \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"memoryId":"MEMORY_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.learning_forgotten"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brainFactReviews.forgetLearning({
memoryId: "MEMORY_ID"
})era brain_fact_reviews forget_learning \
--memory-id "MEMORY_ID"{
"name": "era__ai__forget_learning",
"arguments": {
"memoryId": "MEMORY_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 nothing_to_forget, ambiguous · 429 çok sık istek
ai.link_engine_agent
Ajanı bir asistana bağla — Bir asistanı (kişilik, beceriler, entegrasyonlar) bu ajanın yazım tarafı yapar. Boş, bağı kaldırır.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/ai_agents/{id}/actions/link_engine_agent- Asıl adres:
POST /api/v1/actions/ai.link_engine_agent
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Ajan · kimliği: ai_agent |
engineAgentId | string | Asistan · en çok 64 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Ajan bu çalışma alanında bulunmalı. |
already_linked | Bir asistan en fazla bir ajanı genişletir. |
Yayımladığı olaylar: ai.agent_linked
Neye yazar: ai_agent (update) — Writes engine_agent_id
curl -X POST https://app.getera.io/api/v1/ai_agents/AI_AGENT_ID/actions/link_engine_agent \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"engineAgentId":"Assistant"}'{
"ok": true,
"result": "…",
"events": [
"ai.agent_linked"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiAgents.linkEngineAgent("AI_AGENT_ID", {
engineAgentId: "Assistant"
})era ai_agents link_engine_agent AI_AGENT_ID \
--engine-agent-id "Assistant"{
"name": "era__ai__link_engine_agent",
"arguments": {
"id": "AI_AGENT_ID",
"engineAgentId": "Assistant"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, already_linked · 429 çok sık istek
ai.mark_chat_seen
Paylaşılan sohbeti aç — Seninle paylaşılan bir sohbete baktığını söyler: görünürlük ve erişim kaydı.
Gereken izin ai:read · veriyi değiştirir
https://app.getera.io/api/v1/era_chat_seens/actions/mark_chat_seen- Asıl adres:
POST /api/v1/actions/ai.mark_chat_seen
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
conversationId | uuid | evet | Sohbet |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Sohbet bu çalışma alanında olmalı. |
no_access | Sohbet seninle ya da çalışma alanıyla paylaşılmış olmalı. |
Neye yazar: era_chat_member (update) — Stamps when you last looked; era_share_access_log (insert) — Logs the visit; era_chat_seen (upsert) — Remembers when you last looked, for the unseen dot
curl -X POST https://app.getera.io/api/v1/era_chat_seens/actions/mark_chat_seen \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"conversationId":"CONVERSATION_ID"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.eraChatSeens.markChatSeen({
conversationId: "CONVERSATION_ID"
})era era_chat_seens mark_chat_seen \
--conversation-id "CONVERSATION_ID"{
"name": "era__ai__mark_chat_seen",
"arguments": {
"conversationId": "CONVERSATION_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:read izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, no_access · 429 çok sık istek
ai.open_code_session
Kod oturumu başlat — Bilgisayarındaki bir klasörde canlı bir Claude Code ya da Codex oturumu açar; sonra söylediklerin ona gider.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/computer_folders/{id}/actions/open_code_session- Asıl adres:
POST /api/v1/actions/ai.open_code_session
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
conversationId | uuid | Konuşma | |
folderId | uuid | Doldurulduğu yer: adresteki {id} · Klasör · kimliği: computer_folder | |
folderName | string | evet | Klasör adı · en çok 80 |
path | string | evet | Tam yol · en çok 1000 |
harness | string | evet | Motor · claude (Claude Code) veya codex (Codex). · en çok 20 |
deviceId | string | Bilgisayar · en çok 80 | |
surface | string | Başlatıldığı yer · en çok 40 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
computer_access_required | Bir bilgisayara yalnızca çalışma alanının sahibi ya da bilgisayar erişimi verilmiş bir üye ulaşabilir. |
unknown_harness | Kod oturumu Claude Code ya da Codex ile çalışır. |
Yayımladığı olaylar: ai.code_session_opened, ai.code_session_closed
Neye yazar: code_session (insert) — Opens the session; code_session (update) — Closes the conversation’s previous session; computer_folder (update) — Marks the folder as used
curl -X POST https://app.getera.io/api/v1/computer_folders/COMPUTER_FOLDER_ID/actions/open_code_session \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"folderName":"Folder name","path":"Full path","harness":"Engine"}'{
"ok": true,
"result": "…",
"events": [
"ai.code_session_opened",
"ai.code_session_closed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.computerFolders.openCodeSession("COMPUTER_FOLDER_ID", {
folderName: "Folder name",
path: "Full path",
harness: "Engine"
})era computer_folders open_code_session COMPUTER_FOLDER_ID \
--folder-name "Folder name" \
--path "Full path" \
--harness "Engine"{
"name": "era__ai__open_code_session",
"arguments": {
"folderId": "COMPUTER_FOLDER_ID",
"folderName": "Folder name",
"path": "Full path",
"harness": "Engine"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 computer_access_required, unknown_harness · 429 çok sık istek
ai.pause_computer
Bulut bilgisayarımı kapat — Bulut bilgisayarını kapatır: ücret durur, disk ve açık uygulamalar kalır.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/computer_machines/actions/pause_computer- Asıl adres:
POST /api/v1/actions/ai.pause_computer
Girdi
Bu işlem girdi almaz.
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
no_computer | Önce bir bulut bilgisayarınız olmalı. |
not_running | Yalnızca çalışan bir bilgisayar duraklatılabilir. |
Yayımladığı olaylar: ai.computer_machine_requested
Neye yazar: computer_machine (update) — Asks the worker to pause it; computer_session (update) — Stops tasks running on it
curl -X POST https://app.getera.io/api/v1/computer_machines/actions/pause_computer \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.computer_machine_requested"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.computerMachines.pauseComputer()era computer_machines pause_computer{
"name": "era__ai__pause_computer",
"arguments": {}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 no_computer, not_running · 429 çok sık istek
ai.pause_computer_session
Bilgisayar görevini duraklat — Görev, devam ettirene kadar bu adımdan sonra bekler.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/actions/ai.pause_computer_sessionGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Oturum · kimliği: computer_session |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Oturum bu çalışma alanında bulunamadı. |
not_running | Yalnızca çalışan bir görev duraklatılabilir. |
Neye yazar: computer_session (update) — Sets the pause flag; computer_session_event (insert) — Records the pause
curl -X POST https://app.getera.io/api/v1/actions/ai.pause_computer_session \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"COMPUTER_SESSION_ID"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.pause_computer_session", {
id: "COMPUTER_SESSION_ID"
})era ai pause_computer_session \
--id "COMPUTER_SESSION_ID"{
"name": "era__ai__pause_computer_session",
"arguments": {
"id": "COMPUTER_SESSION_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_running · 429 çok sık istek
ai.promote_skill
Beceri sürümünü öne çıkar — Bu sürümü canlı sürüm yapar. Eski bir sürümü öne çıkarmak geri almaktır.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/ai_skill_versions/{id}/actions/promote_skill- Asıl adres:
POST /api/v1/actions/ai.promote_skill
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
versionId | uuid | evet | Doldurulduğu yer: adresteki {id} · Sürüm · kimliği: ai_skill_version |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Sürüm bu çalışma alanında bulunmalı. |
not_evaluated | Yalnızca değerlendirilmiş veya daha önce canlı olmuş bir sürüm canlıya alınabilir. |
Yayımladığı olaylar: ai.skill_promoted
Neye yazar: ai_skill_version (update) — Retires the live version and activates this one
curl -X POST https://app.getera.io/api/v1/ai_skill_versions/AI_SKILL_VERSION_ID/actions/promote_skill \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.skill_promoted"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiSkillVersions.promoteSkill("AI_SKILL_VERSION_ID")era ai_skill_versions promote_skill AI_SKILL_VERSION_ID{
"name": "era__ai__promote_skill",
"arguments": {
"versionId": "AI_SKILL_VERSION_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_evaluated · 429 çok sık istek
ai.propose_learning
Bir şeyi hatırlamak için izin iste — Era bir şeyi saklamadan önce sorar (“Bunu hatırlayayım mı?”): bir bilgi, tercih, kural ya da yöntem — ya da tekrar eden işten yazdığı bir beceri. Sen onaylamadan hiçbir şey saklanmaz.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/era_learnings/actions/propose_learning- Asıl adres:
POST /api/v1/actions/ai.propose_learning
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
kind | string (enum) | Ne · İzin verilen değerler: memory, skill | |
statement | string | Hatırlanacak olan (tek başına anlaşılır bir cümle) · en çok 4000 | |
memoryKind | string | Kategori · fact · preference · rule · procedure · en çok 20 | |
audience | string | İçin · person (yalnızca konuştuğun kişi) · workspace (herkes) · module (yalnızca bir modülde) · en çok 20 | |
moduleCode | string | Modül · Kitle "module" ise: retail, appointments, crm … · en çok 64 | |
expiresAt | date-time | Bitiş | |
forUser | uuid | Kimin onayı | |
brainId | uuid | Beyin | |
knowledgeBaseId | uuid | Bilgi alanı | |
confidence | number | Ne kadar emin · en az 0 · en çok 1 | |
skillId | string | Güncellenecek beceri · en çok 64 | |
skillName | string | Beceri adı (kebab-case) · en çok 64 | |
skillDescription | string | Becerinin amacı · en çok 1024 | |
skillContent | string | Becerinin adımları · en çok 50000 | |
reason | string | Era neden böyle düşünüyor · en çok 1000 | |
source | object / array | Nereden geldiği · { kind: "conversation", ref, label, at, url } | |
evidenceCount | number | Görülme sayısı · en az 1 · en çok 1000 | |
dedupeKey | string | Aynı öneri anahtarı · en çok 200 | |
proposedBy | string | Öneren · era · learning · skills · en çok 20 | |
told | boolean | Kişi saklanmasını istedi · Yalnızca kişi sana bunu hatırlamanı SÖYLEDİĞİNDE (bunu öğren); kendi fark ettiğin bir şey için asla. |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
empty_statement | Bir hatıra neyin hatırlanacağını söyler. |
bad_memory_kind | Hafıza kaydı bir bilgi, tercih, kural ya da yöntem olmalı. |
module_required | Tek bir modüle ait hatıra, var olan bir modülü belirtmeli. |
already_expired | Bitiş tarihi ileride olmalı. |
already_known | Era zaten hatırladığı bir şeyi sormaz. |
already_proposed | Era aynı şeyi, yanıtlanana kadar yalnızca bir kez sorar. |
rejected_before | Era, sahibin hayır dediği bir şeyi ya da hep reddettiği türden şeyleri yeniden sormaz. |
skill_incomplete | Bir becerinin küçük harf ve tireli bir adı, tek satırlık bir amacı ve adımları olur. |
skill_not_found | Güncellenecek beceri burada bulunmalı. |
brain_not_found | Adı verilen beyin burada bulunmalı. |
Yayımladığı olaylar: ai.learning_proposed
Neye yazar: era_learning (insert) — Adds the proposal; nothing is kept yet
curl -X POST https://app.getera.io/api/v1/era_learnings/actions/propose_learning \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"kind":"memory"}'{
"ok": true,
"result": "…",
"events": [
"ai.learning_proposed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.eraLearnings.proposeLearning({
kind: "memory"
})era era_learnings propose_learning \
--kind "memory"{
"name": "era__ai__propose_learning",
"arguments": {
"kind": "memory"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 empty_statement, bad_memory_kind, module_required, already_expired, already_known, already_proposed, rejected_before, skill_incomplete, skill_not_found, brain_not_found · 429 çok sık istek
ai.provision_computer
Bulut bilgisayarımı kur — Bulutta sana ait bir Linux bilgisayar (tarayıcı, terminal, dosyalar) oluşturur; izleyebilir ve kullanabilirsin.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/computer_machines/actions/provision_computer- Asıl adres:
POST /api/v1/actions/ai.provision_computer
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
name | string | Ad · en çok 80 | |
provider | string | Sağlayıcı · en çok 40 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
already_has_computer | Kişi başına tek bulut bilgisayar olabilir; zaten bir tane var. |
computer_access_required | Bir bilgisayara yalnızca çalışma alanının sahibi ya da bilgisayar erişimi verilmiş bir üye ulaşabilir. |
unknown_provider | İstenen sağlayıcı boxd, e2b ya da digitalocean olmalı. |
hours_used_up | Kişinin bu ayki bulut saatleri planın saatlerinin ve çalışma alanı sınırının altında olmalı. |
Yayımladığı olaylar: ai.computer_machine_requested
Neye yazar: computer_machine (insert) — Requests the machine
curl -X POST https://app.getera.io/api/v1/computer_machines/actions/provision_computer \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Name"}'{
"ok": true,
"result": "…",
"events": [
"ai.computer_machine_requested"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.computerMachines.provisionComputer({
name: "Name"
})era computer_machines provision_computer \
--name "Name"{
"name": "era__ai__provision_computer",
"arguments": {
"name": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 already_has_computer, computer_access_required, unknown_provider, hours_used_up · 429 çok sık istek
ai.record_brain_insight
İçgörü kaydet — Era’nın öğrenme işi bir rolün bilmesi gereken bir şeyi, nereden geldiğiyle not eder.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/brain_insights/actions/record_brain_insight- Asıl adres:
POST /api/v1/actions/ai.record_brain_insight
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
role | string | İçin · sales · marketing · finance · operations · support · management · general · en çok 20 | |
title | string | evet | Başlık · en çok 200 |
body | string | Ayrıntılar · en çok 4000 | |
severity | string (enum) | Tür · İzin verilen değerler: info, opportunity, warning | |
brainId | uuid | Beyin | |
sources | object / array | Kaynaklar | |
reasoning | string | Neden · en çok 2000 | |
suggestedAction | object / array | Önerilen sonraki adım | |
generatedBy | object / array | Yapan | |
dedupeKey | string | Aynı içgörü anahtarı · en çok 200 | |
origin | string (enum) | Fark eden · İzin verilen değerler: learning, outcome, era, person | |
kind | string | İçgörü türü · en çok 64 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
bad_role | İçgörü tanınan bir rol için olmalı. |
empty_title | İçgörünün bir başlığı olmalı. |
brain_not_found | Belirtilen beyin bulunamadı. |
not_your_brain | Başkasının kişisel beyni yalnızca sahibine aittir. |
invalid_sources | Her kaynak nereden geldiğini söyleyen bir nesnedir. |
already_noted | Bu içgörü (aynı anahtar) zaten kaydedilmiş. |
Yayımladığı olaylar: ai.brain_insight_created
Neye yazar: brain_insight (insert) — Adds the insight (once per same-insight key)
curl -X POST https://app.getera.io/api/v1/brain_insights/actions/record_brain_insight \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"title":"Title"}'{
"ok": true,
"result": "…",
"events": [
"ai.brain_insight_created"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brainInsights.recordBrainInsight({
title: "Title"
})era brain_insights record_brain_insight \
--title "Title"{
"name": "era__ai__record_brain_insight",
"arguments": {
"title": "Title"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 bad_role, empty_title, brain_not_found, not_your_brain, invalid_sources, already_noted · 429 çok sık istek
ai.record_code_session
Kod turunu kaydet — Kod oturumunun ne yaptığı: çalışan tur, özeti, değişen dosyalar, diff ve testler.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/actions/ai.record_code_sessionGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Oturum · kimliği: code_session |
turnState | string | Durum · en çok 20 | |
currentJobId | string | İş · en çok 80 | |
providerSessionId | string | Devam noktası · en çok 200 | |
harness | string | Motor · en çok 20 | |
deviceId | string | Bilgisayar · en çok 80 | |
lastPrompt | string | Son istek · en çok 4000 | |
lastSummary | string | Son özet · en çok 8000 | |
files | object / array | Değişen dosyalar | |
diff | object / array | Değişiklik özeti | |
tests | object / array | Test sonucu | |
addTurn | boolean | Bir tur bitti | |
pushApproved | boolean | Gönderim onaylandı | |
pushPending | boolean | Gönderim onay bekler |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Oturum senin olmalı. |
invalid_state | Yalnızca bilinen durumlar; dosyalar liste olarak. |
unknown_harness | Kod oturumu Claude Code ya da Codex ile çalışır. |
Neye yazar: code_session (update) — Stores the turn
curl -X POST https://app.getera.io/api/v1/actions/ai.record_code_session \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"CODE_SESSION_ID"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.record_code_session", {
id: "CODE_SESSION_ID"
})era ai record_code_session \
--id "CODE_SESSION_ID"{
"name": "era__ai__record_code_session",
"arguments": {
"id": "CODE_SESSION_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, invalid_state, unknown_harness · 429 çok sık istek
ai.record_computer_file
Bilgisayar dosyasını kaydet — Görevin ürettiği bir dosyayı saklar. Yalnızca makine.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/actions/ai.record_computer_fileGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Oturum · kimliği: computer_session |
name | string | evet | Ad · en çok 200 |
mime | string | Tür · en çok 100 | |
content | string | evet | İçerik (base64) · en çok 14000000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Oturum bu çalışma alanında bulunamadı. |
too_large | Bir görev dosyası en fazla 10 MB olabilir. |
Neye yazar: computer_session_file (insert) — Stores the file; computer_session_event (insert) — Notes it on the timeline
curl -X POST https://app.getera.io/api/v1/actions/ai.record_computer_file \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"COMPUTER_SESSION_ID","name":"Name","content":"Content (base64)"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.record_computer_file", {
id: "COMPUTER_SESSION_ID",
name: "Name",
content: "Content (base64)"
})era ai record_computer_file \
--id "COMPUTER_SESSION_ID" \
--name "Name" \
--content "Content (base64)"{
"name": "era__ai__record_computer_file",
"arguments": {
"id": "COMPUTER_SESSION_ID",
"name": "Name",
"content": "Content (base64)"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, too_large · 429 çok sık istek
ai.record_computer_frame
Canlı görüntüyü kaydet — Çalışan görevin son görüntüsünü saklar. Yalnızca makine.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/actions/ai.record_computer_frameGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Oturum · kimliği: computer_session |
image | string | evet | Görsel (base64) · en çok 3000000 |
mime | string | Tür · en çok 40 | |
width | number | Genişlik · en az 1 | |
height | number | Yükseklik · en az 1 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Oturum bu çalışma alanında bulunamadı. |
invalid_frame | Kare, 2 MB’tan küçük bir görsel olmalı. |
Neye yazar: computer_frame (upsert) — Replaces the session’s live picture
curl -X POST https://app.getera.io/api/v1/actions/ai.record_computer_frame \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"COMPUTER_SESSION_ID","image":"Image (base64)"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.record_computer_frame", {
id: "COMPUTER_SESSION_ID",
image: "Image (base64)"
})era ai record_computer_frame \
--id "COMPUTER_SESSION_ID" \
--image "Image (base64)"{
"name": "era__ai__record_computer_frame",
"arguments": {
"id": "COMPUTER_SESSION_ID",
"image": "Image (base64)"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, invalid_frame · 429 çok sık istek
ai.record_computer_machine
Bulut bilgisayar durumunu kaydet — Bilgisayar çalışanı sağlayıcının yaptığını bildirir. Yalnızca makine.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/computer_machines/{id}/actions/record_computer_machine- Asıl adres:
POST /api/v1/actions/ai.record_computer_machine
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Bilgisayar · kimliği: computer_machine |
state | string | evet | Durum · en çok 20 |
externalId | string | Sağlayıcı kimliği · en çok 200 | |
viewerSecretRef | string | İzleyici gizli anahtarı · en çok 200 | |
viewerUrl | string | İzleyici adresi · en çok 2000 | |
error | string | Hata · en çok 500 | |
addSeconds | number | Kullanılan saniye · en az 0 | |
metadata | object / array | Ayrıntılar |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
no_computer | Makine bulunamadı. |
invalid_state | Yalnızca tanınan durumlar kaydedilebilir. |
Yayımladığı olaylar: ai.computer_machine_changed
Neye yazar: computer_machine (update) — Stores the provider’s answer and the hours used
curl -X POST https://app.getera.io/api/v1/computer_machines/COMPUTER_MACHINE_ID/actions/record_computer_machine \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"state":"State"}'{
"ok": true,
"result": "…",
"events": [
"ai.computer_machine_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.computerMachines.recordComputerMachine("COMPUTER_MACHINE_ID", {
state: "State"
})era computer_machines record_computer_machine COMPUTER_MACHINE_ID \
--state "State"{
"name": "era__ai__record_computer_machine",
"arguments": {
"id": "COMPUTER_MACHINE_ID",
"state": "State"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 no_computer, invalid_state · 429 çok sık istek
ai.record_computer_progress
Bilgisayar ilerlemesini kaydet — Bilgisayar çalışanı durumu, adımları, harcamayı, onayları ve sonucu bildirir. Yalnızca makine.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/actions/ai.record_computer_progressGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Oturum · kimliği: computer_session |
worker | string | evet | Süreç · en çok 200 |
status | string | Durum · en çok 40 | |
activity | string | Aktivite · en çok 300 | |
provider | string | Sağlayıcı · en çok 60 | |
stepCount | number | Adımlar · en az 0 | |
costUsd | number | Maliyet · en az 0 | |
currentUrl | string | Sayfa · en çok 2000 | |
approval | object / array | Onay | |
clearApproval | boolean | Onayı kaldır | |
result | string | Sonuç · en çok 20000 | |
success | boolean | Başarılı | |
events | object / array | Etkinlikler |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Oturum bu çalışma alanında bulunamadı. |
not_your_session | Bu oturumun ilerlemesini yalnızca oturumu üstlenen çalışan bildirebilir. |
already_stopped | Bitmiş bir oturuma ilerleme eklenemez. |
invalid_events | Zaman çizelgesi olaylarının tanınan bir türü ve özeti olmalı. |
Yayımladığı olaylar: ai.computer_session_started, ai.computer_approval_requested, ai.computer_session_finished
Neye yazar: computer_session (update) — Updates status, activity, spending and the pending approval; computer_session_event (insert) — Adds the steps to the timeline
curl -X POST https://app.getera.io/api/v1/actions/ai.record_computer_progress \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"COMPUTER_SESSION_ID","worker":"Worker"}'{
"ok": true,
"result": "…",
"events": [
"ai.computer_session_started",
"ai.computer_approval_requested",
"ai.computer_session_finished"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.record_computer_progress", {
id: "COMPUTER_SESSION_ID",
worker: "Worker"
})era ai record_computer_progress \
--id "COMPUTER_SESSION_ID" \
--worker "Worker"{
"name": "era__ai__record_computer_progress",
"arguments": {
"id": "COMPUTER_SESSION_ID",
"worker": "Worker"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_your_session, already_stopped, invalid_events · 429 çok sık istek
ai.record_decide_outcome
Era’nın bir kararını onayla ya da düzelt — Doğru mu yanlış mı — yanlışsa doğrusu ne. Era aynı soruyu bir dahaki sefere sorarken düzeltmelerden öğrenir.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/decide_decisions/actions/record_decide_outcome- Asıl adres:
POST /api/v1/actions/ai.record_decide_outcome
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
decisionId | uuid | evet | Karar |
outcome | string (enum) | evet | Karar · İzin verilen değerler: confirmed, corrected |
correctedAnswer | object / array | Doğrusu neydi | |
note | string | Not · en çok 500 | |
from | string (enum) | Karar veren · İzin verilen değerler: person, workflow, era |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
decision_not_found | Bu karar bu çalışma alanında bulunamadı. |
bad_correction | Düzeltme evet ya da hayır, seçeneklerden biri ya da seviyelerden biri olmalı. |
same_answer | Düzeltme, Era’nın verdiği kararla aynı olamaz. |
Yayımladığı olaylar: ai.decide_outcome_recorded
Neye yazar: decide_decision (update) — Saves the verdict; corrections become examples for the next decisions
curl -X POST https://app.getera.io/api/v1/decide_decisions/actions/record_decide_outcome \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"decisionId":"DECISION_ID","outcome":"confirmed"}'{
"ok": true,
"result": "…",
"events": [
"ai.decide_outcome_recorded"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.decideDecisions.recordDecideOutcome({
decisionId: "DECISION_ID",
outcome: "confirmed"
})era decide_decisions record_decide_outcome \
--decision-id "DECISION_ID" \
--outcome "confirmed"{
"name": "era__ai__record_decide_outcome",
"arguments": {
"decisionId": "DECISION_ID",
"outcome": "confirmed"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 decision_not_found, bad_correction, same_answer · 429 çok sık istek
ai.record_plan_limits
Bir aboneliğin plan sınırlarını kaydet — Kendi aracının bildirdiği 5 saatlik ve haftalık kullanım. Dolan plan yeniden açılana kadar bekler; yönlendirici sıradakine geçer.
Gereken izin ai:read · veriyi değiştirir
https://app.getera.io/api/v1/ai_providers/{id}/actions/record_plan_limits- Asıl adres:
POST /api/v1/actions/ai.record_plan_limits
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Abonelik · kimliği: ai_provider |
limits | object / array | evet | Plan sınırları |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Bu abonelik bu çalışma alanında bağlı değil. |
not_owner | Sınırlarını yalnızca sahibinin bilgisayarı bildirir. |
bad_plan_limits | Plan sınırları bir durum, bir kaynak, bir zaman ve %0–100 arası 5 saatlik / haftalık pencerelerdir. |
Yayımladığı olaylar: ai.subscription_limited, ai.subscription_recovered
Neye yazar: ai_provider (update) — Writes the plan’s windows; a used-up plan is limited until it opens again
curl -X POST https://app.getera.io/api/v1/ai_providers/AI_PROVIDER_ID/actions/record_plan_limits \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"limits":{}}'{
"ok": true,
"result": "…",
"events": [
"ai.subscription_limited",
"ai.subscription_recovered"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiProviders.recordPlanLimits("AI_PROVIDER_ID", {
limits: {}
})era ai_providers record_plan_limits AI_PROVIDER_ID --data '{"limits":{}}'{
"name": "era__ai__record_plan_limits",
"arguments": {
"id": "AI_PROVIDER_ID",
"limits": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:read izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_owner, bad_plan_limits · 429 çok sık istek
ai.record_provider_check
Sağlayıcı sağlık kontrolünü kaydet — Sağlayıcının test çağrısını yanıtlayıp yanıtlamadığını saklar. Ayarlar sayfasındaki Test düğmesi çalıştırır.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/ai_providers/{id}/actions/record_provider_check- Asıl adres:
POST /api/v1/actions/ai.record_provider_check
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Sağlayıcı · kimliği: ai_provider |
ok | boolean | evet | Yanıtlandı |
error | string | Hata · en çok 2000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Sağlayıcı bu çalışma alanında bulunmalı. |
Yayımladığı olaylar: ai.provider_checked
Neye yazar: ai_provider (update) — Writes status and the last error
curl -X POST https://app.getera.io/api/v1/ai_providers/AI_PROVIDER_ID/actions/record_provider_check \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"ok":true}'{
"ok": true,
"result": "…",
"events": [
"ai.provider_checked"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiProviders.recordProviderCheck("AI_PROVIDER_ID", {
ok: true
})era ai_providers record_provider_check AI_PROVIDER_ID \
--ok true{
"name": "era__ai__record_provider_check",
"arguments": {
"id": "AI_PROVIDER_ID",
"ok": true
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found · 429 çok sık istek
ai.record_provider_health
Zamanlanmış sağlayıcı kontrolünü kaydet — Bir sağlayıcı için sağlık işinin yanıtı: sağlıklı veya hatalı (çalıştırmalar hatalı olanın etrafından dolaşır) ve anahtar yenileme hatırlatması. Otomatik.
Gereken izin ai:handle · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/ai_providers/{id}/actions/record_provider_health- Asıl adres:
POST /api/v1/actions/ai.record_provider_health
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Sağlayıcı · kimliği: ai_provider |
ok | boolean | evet | Yanıtlandı |
error | string | Hata · en çok 2000 | |
latencyMs | number | Gecikme (ms) · en az 0 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Sağlayıcı bu çalışma alanında bulunmalı. |
Yayımladığı olaylar: ai.provider_unhealthy, ai.provider_recovered, ai.key_rotation_due
Neye yazar: ai_provider (update) — Writes status, failures, latency and the rotation stamp
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found · 429 çok sık istek
ai.record_skill_run
Beceri çalıştırmasını kaydet — Becerinin çalıştırma geçmişine bir satır. Otomatik.
Gereken izin ai:read · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/ai_skill_runs/actions/record_skill_run- Asıl adres:
POST /api/v1/actions/ai.record_skill_run
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
skillId | string | evet | Beceri · en çok 64 |
skillName | string | Ad · en çok 200 | |
versionId | uuid | Sürüm · kimliği: ai_skill_version | |
mode | string (enum) | evet | Çalışma biçimi · İzin verilen değerler: load, exec, eval, compiled |
ok | boolean | evet | Başarılı |
durationMs | number | Süre (ms) · en az 0 | |
costUsd | number | Maliyet (USD) · en az 0 | |
error | string | Hata · en çok 2000 |
Neye yazar: ai_skill_run (insert) — Appends the run
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:read izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
ai.record_subscription_state
Aboneliğin durumunu kaydet — Son çağrının veya giriş kontrolünün sonucu: bağlı, sınıra ulaşıldı, yeniden giriş yap, bilgisayar kapalı.
Gereken izin ai:read · veriyi değiştirir
https://app.getera.io/api/v1/ai_providers/{id}/actions/record_subscription_state- Asıl adres:
POST /api/v1/actions/ai.record_subscription_state
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Abonelik · kimliği: ai_provider |
status | string (enum) | evet | Durum · İzin verilen değerler: unchecked, healthy, failing, connecting, limited, relogin, offline, not_eligible |
detail | string | Ayrıntı · en çok 2000 | |
resetsAt | string | Sınırın sıfırlanma zamanı · en çok 40 | |
accountLabel | string | Hesap · en çok 160 | |
used | boolean | Kullanıldı |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Bu abonelik bu çalışma alanında bağlı değil. |
not_owner | Aboneliğin durumunu yalnızca sahibinin çalıştırmaları kaydedebilir. |
Yayımladığı olaylar: ai.subscription_needs_login, ai.subscription_limited, ai.subscription_recovered
Neye yazar: ai_provider (update) — Writes status, the reason and the reset time
curl -X POST https://app.getera.io/api/v1/ai_providers/AI_PROVIDER_ID/actions/record_subscription_state \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"status":"unchecked"}'{
"ok": true,
"result": "…",
"events": [
"ai.subscription_needs_login",
"ai.subscription_limited",
"ai.subscription_recovered"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiProviders.recordSubscriptionState("AI_PROVIDER_ID", {
status: "unchecked"
})era ai_providers record_subscription_state AI_PROVIDER_ID \
--status "unchecked"{
"name": "era__ai__record_subscription_state",
"arguments": {
"id": "AI_PROVIDER_ID",
"status": "unchecked"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:read izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_owner · 429 çok sık istek
ai.record_template_install
Pazar yeri kurulumunu kaydet — Bir ajan, beceri veya iş akışının hangi şablondan geldiğini ve çağırdığı uygulamaları hatırlar.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_template_installs/actions/record_template_install- Asıl adres:
POST /api/v1/actions/ai.record_template_install
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
templateId | string | evet | Şablon · en çok 120 |
templateName | string | evet | Şablon adı · en çok 200 |
kind | string (enum) | evet | Tür · İzin verilen değerler: agent, skill, workflow |
instanceId | string | evet | Kurulu adı · en çok 120 |
requiredApps | object / array | Kullandığı uygulamalar · ["gmail", "slack"] |
Yayımladığı olaylar: ai.template_installed
Neye yazar: ai_template_install (upsert) — Writes the install record
curl -X POST https://app.getera.io/api/v1/ai_template_installs/actions/record_template_install \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"templateId":"Template","templateName":"Template name","kind":"agent","instanceId":"Installed as"}'{
"ok": true,
"result": "…",
"events": [
"ai.template_installed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiTemplateInstalls.recordTemplateInstall({
templateId: "Template",
templateName: "Template name",
kind: "agent",
instanceId: "Installed as"
})era ai_template_installs record_template_install \
--template-id "Template" \
--template-name "Template name" \
--kind "agent" \
--instance-id "Installed as"{
"name": "era__ai__record_template_install",
"arguments": {
"templateId": "Template",
"templateName": "Template name",
"kind": "agent",
"instanceId": "Installed as"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
ai.record_turn
Konuşma adımını kaydet — Bir konuşmaya bir mesaj ve çağırdıklarını ekler.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_conversations/{id}/actions/record_turn- Asıl adres:
POST /api/v1/actions/ai.record_turn
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
conversationId | uuid | evet | Doldurulduğu yer: adresteki {id} · Konuşma · kimliği: ai_conversation |
role | string (enum) | evet | Nereden · İzin verilen değerler: user, assistant, system |
content | string | Metin · en çok 200000 | |
toolCalls | object / array | Yaptığı çağrılar · { name, input, ok, code } listesi. Ajanın çalıştırdığı her işlem için bir kayıt. |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Konuşma bu çalışma alanında bulunmalı. |
bad_tool_calls | Araç çağrısı kaydı bir liste olmalı. |
Neye yazar: ai_message (insert) — Appends the turn; ai_conversation (update) — Moves the thread to the top and titles it
curl -X POST https://app.getera.io/api/v1/ai_conversations/AI_CONVERSATION_ID/actions/record_turn \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"role":"user"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiConversations.recordTurn("AI_CONVERSATION_ID", {
role: "user"
})era ai_conversations record_turn AI_CONVERSATION_ID \
--role "user"{
"name": "era__ai__record_turn",
"arguments": {
"conversationId": "AI_CONVERSATION_ID",
"role": "user"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, bad_tool_calls · 429 çok sık istek
ai.record_usage
Yapay zekâ kullanımını kaydet — Bir çalıştırmanın token ve maliyetini deftere yazar; bir eşik aşılırsa bütçe uyarısı verir. Otomatik.
Gereken izin ai:read · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/ai_usages/actions/record_usage- Asıl adres:
POST /api/v1/actions/ai.record_usage
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
source | string (enum) | evet | Kaynak · İzin verilen değerler: agent_run, console, era, skill_eval |
ref | string | Referans · en çok 120 | |
agentId | uuid | Ajan · kimliği: ai_agent | |
runId | uuid | Çalıştır · kimliği: ai_run | |
conversationId | uuid | Konuşma · kimliği: ai_conversation | |
model | string | Model · en çok 120 | |
modelCalls | number | Model çağrıları · en az 0 | |
promptTokens | number | İstem tokenları · en az 0 | |
completionTokens | number | Yanıt tokenları · en az 0 | |
cacheReadTokens | number | Önbellekten okunan token · en az 0 | |
cacheWriteTokens | number | Önbelleğe yazılan token · en az 0 | |
toolCalls | number | Araç çağrıları · en az 0 | |
toolResultChars | number | Araç sonucu karakter sayısı · en az 0 | |
costUsd | number | Maliyet (USD) · en az 0 |
Yayımladığı olaylar: ai.budget_alert
Neye yazar: ai_usage (insert) — Appends the meter reading (idempotent per ref); ai_budget (update) — Stamps the alert key so an alert fires once
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:read izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
ai.refile_brain_fact
Era’nın öğrendiğini yeniden sınıflandır — Türü (bilgi, tercih, kural, yöntem), kimin için olduğu ve bitiş tarihi.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/brain_fact_reviews/actions/refile_brain_fact- Asıl adres:
POST /api/v1/actions/ai.refile_brain_fact
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
memoryId | uuid | evet | Era ne öğrendi |
kind | string | Kategori · fact · preference · rule · procedure · en çok 20 | |
audience | string | İçin · person · workspace · module · en çok 20 | |
moduleCode | string | Modül · en çok 64 | |
expiresAt | date-time | Bitiş | |
noExpiry | boolean | Bitiş tarihi yok |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
fact_not_found | Bu bilgi bulunamadı ya da başka birine ait özel bir bilgi. |
not_current | Yalnızca Era’nın şu anda bildiği bilgiler değiştirilebilir. |
bad_memory_kind | Hafıza kaydı bir bilgi, tercih, kural ya da yöntem olmalı. |
module_required | Tek bir modüle ait hatıra, var olan bir modülü belirtmeli. |
already_expired | Bitiş tarihi ileride olmalı. |
unchanged | Yeniden dosyalama bir şeyi değiştirmeli. |
Yayımladığı olaylar: ai.memory_refiled
Neye yazar: brain_fact_review (insert) — Records the re-file; the table applies it
curl -X POST https://app.getera.io/api/v1/brain_fact_reviews/actions/refile_brain_fact \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"memoryId":"MEMORY_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.memory_refiled"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brainFactReviews.refileBrainFact({
memoryId: "MEMORY_ID"
})era brain_fact_reviews refile_brain_fact \
--memory-id "MEMORY_ID"{
"name": "era__ai__refile_brain_fact",
"arguments": {
"memoryId": "MEMORY_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 fact_not_found, not_current, bad_memory_kind, module_required, already_expired, unchanged · 429 çok sık istek
ai.remind_task
Görev hatırlatması gönder — Atanan kişi için, son tarih başına bir kez, yaklaşan veya geciken görev uyarısı verir. Otomatik.
Gereken izin ai:handle · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/ai_tasks/{id}/actions/remind_task- Asıl adres:
POST /api/v1/actions/ai.remind_task
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Görev · kimliği: ai_task |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Görev bu çalışma alanında bulunmalı. |
not_due | Yalnızca son tarihine bir gün kalan ya da son tarihi geçmiş açık görevler hatırlatılır. |
already_reminded | Her hatırlatma, her son tarih için yalnızca bir kez gider. |
Yayımladığı olaylar: ai.task_due, ai.task_overdue
Neye yazar: ai_task (update) — Stamps the reminder so it is sent once
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_due, already_reminded · 429 çok sık istek
ai.remove_provider
Yapay zekâ sağlayıcısını kaldır — Bu sağlayıcıyı kullanmayı bırakır. Varsa çalıştırmalar ortak anahtara döner.
Gereken izin ai:manage · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/ai_providers/{id}/actions/remove_provider- Asıl adres:
POST /api/v1/actions/ai.remove_provider
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Sağlayıcı · kimliği: ai_provider |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Sağlayıcı bu çalışma alanında bulunmalı. |
Yayımladığı olaylar: ai.provider_removed
Neye yazar: ai_provider (delete) — Removes the provider row
curl -X POST https://app.getera.io/api/v1/ai_providers/AI_PROVIDER_ID/actions/remove_provider \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.provider_removed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiProviders.removeProvider("AI_PROVIDER_ID")era ai_providers remove_provider AI_PROVIDER_ID{
"name": "era__ai__remove_provider",
"arguments": {
"id": "AI_PROVIDER_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found · 429 çok sık istek
ai.reopen_task
Görevi yeniden aç — Tamamlanmış veya iptal edilmiş bir görevi listeye geri koyar.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_tasks/{id}/actions/reopen_task- Asıl adres:
POST /api/v1/actions/ai.reopen_task
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Görev · kimliği: ai_task |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Görev bu çalışma alanında bulunmalı. |
Yayımladığı olaylar: ai.task_reopened
Neye yazar: ai_task (update) — Sets it open
curl -X POST https://app.getera.io/api/v1/ai_tasks/AI_TASK_ID/actions/reopen_task \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.task_reopened"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiTasks.reopenTask("AI_TASK_ID")era ai_tasks reopen_task AI_TASK_ID{
"name": "era__ai__reopen_task",
"arguments": {
"id": "AI_TASK_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found · 429 çok sık istek
ai.resolve_erasure_candidate
Silme başvurusunun olası eşleşmesine karar ver — Era’nın tanıdığı biri, verileri silinen bir müşteriyle sadece aynı ismi taşıyor: onun hakkında öğrenilenleri de sil ya da farklı kişi olarak kapat.
Gereken izin ai:manage · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır) · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/brain_erasures/actions/resolve_erasure_candidate- Asıl adres:
POST /api/v1/actions/ai.resolve_erasure_candidate
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Olası eşleşme |
decision | string (enum) | evet | Karar · İzin verilen değerler: erase, dismiss |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
candidate_not_found | Bu olası eşleşme bu çalışma alanında bulunamadı. |
already_resolved | Bu olası eşleşme için zaten karar verilmiş. |
Yayımladığı olaylar: ai.erasure_candidate_resolved
Neye yazar: brain_erasure_candidate (update) — Saves the decision; brain_erasure (insert) — An erasure is registered
curl -X POST https://app.getera.io/api/v1/brain_erasures/actions/resolve_erasure_candidate \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"ID_ID","decision":"erase"}'{
"ok": true,
"result": "…",
"events": [
"ai.erasure_candidate_resolved"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brainErasures.resolveErasureCandidate({
id: "ID_ID",
decision: "erase"
})era brain_erasures resolve_erasure_candidate \
--id "ID_ID" \
--decision "erase"{
"name": "era__ai__resolve_erasure_candidate",
"arguments": {
"id": "ID_ID",
"decision": "erase"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 candidate_not_found, already_resolved · 429 çok sık istek
ai.resume_computer_session
Bilgisayar görevine devam et — Duraklatılmış görev kaldığı yerden devam eder.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/actions/ai.resume_computer_sessionGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Oturum · kimliği: computer_session |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Oturum bu çalışma alanında bulunamadı. |
not_paused | Yalnızca duraklatılmış bir görev sürdürülebilir. |
Neye yazar: computer_session (update) — Clears the pause flag; computer_session_event (insert) — Records the resume
curl -X POST https://app.getera.io/api/v1/actions/ai.resume_computer_session \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"COMPUTER_SESSION_ID"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.resume_computer_session", {
id: "COMPUTER_SESSION_ID"
})era ai resume_computer_session \
--id "COMPUTER_SESSION_ID"{
"name": "era__ai__resume_computer_session",
"arguments": {
"id": "COMPUTER_SESSION_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_paused · 429 çok sık istek
ai.review_brain_fact
Era’nın öğrendiğini düzelt, unut, gizli tut ya da taşı — Düzelt senin yazdığını kaydeder, Unut kullanmayı bırakır, Gizli tut sadece sana bırakır, Doğru onaylar, Taşı beynin başka bir alanına koyar.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/brain_fact_reviews/actions/review_brain_fact- Asıl adres:
POST /api/v1/actions/ai.review_brain_fact
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
memoryId | uuid | evet | Era ne öğrendi |
decision | string (enum) | evet | Karar · İzin verilen değerler: correct, forget, keep_private, confirm, move |
correctedText | string | Doğrusu · en çok 4000 | |
knowledgeBaseId | uuid | Taşı |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
fact_not_found | Bu bilgi bulunamadı ya da başka birine ait özel bir bilgi. |
not_current | Yalnızca Era’nın şu anda bildiği bilgiler değiştirilebilir. |
empty_correction | Düzeltmede doğrusunu yazmanız gerekir. |
unchanged | Düzeltme metni, taşıma ise bilgi alanını değiştirmeli; hiçbir şey değişmedi. |
knowledge_base_not_in_brain | Bir bilgi yalnızca kendi beynindeki bir bilgi alanına taşınabilir. |
Yayımladığı olaylar: ai.brain_fact_reviewed
Neye yazar: brain_fact_review (insert) — Records the decision; the table applies it to what Era knows
curl -X POST https://app.getera.io/api/v1/brain_fact_reviews/actions/review_brain_fact \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"memoryId":"MEMORY_ID","decision":"correct"}'{
"ok": true,
"result": "…",
"events": [
"ai.brain_fact_reviewed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brainFactReviews.reviewBrainFact({
memoryId: "MEMORY_ID",
decision: "correct"
})era brain_fact_reviews review_brain_fact \
--memory-id "MEMORY_ID" \
--decision "correct"{
"name": "era__ai__review_brain_fact",
"arguments": {
"memoryId": "MEMORY_ID",
"decision": "correct"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 fact_not_found, not_current, empty_correction, unchanged, knowledge_base_not_in_brain · 429 çok sık istek
ai.run_agent
Ajanı çalıştır — Bir ajan çalıştırmasını sıraya koyar. Bir otomasyon adımı bunu çağırabilir.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/actions/ai.run_agentGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
agentId | uuid | evet | Ajan · kimliği: ai_agent |
prompt | string | Ne yapılacak · en çok 20000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Ajan bu çalışma alanında bulunmalı. |
agent_disabled | Kapalı bir ajan çalıştırılamaz. |
budget_exceeded | Çalışma alanının veya ajanın bugünkü ya da bu ayki yapay zekâ bütçesi doldu. |
Yayımladığı olaylar: ai.agent_requested
curl -X POST https://app.getera.io/api/v1/actions/ai.run_agent \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"agentId":"AI_AGENT_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.agent_requested"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.run_agent", {
agentId: "AI_AGENT_ID"
})era ai run_agent \
--agent-id "AI_AGENT_ID"{
"name": "era__ai__run_agent",
"arguments": {
"agentId": "AI_AGENT_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, agent_disabled, budget_exceeded · 429 çok sık istek
ai.save_computer_folder
Klasörü hatırla — Bilgisayarındaki bir klasöre Era’nın anladığı bir ad verir ("quickera", "Era reposu").
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/computer_folders/actions/save_computer_folder- Asıl adres:
POST /api/v1/actions/ai.save_computer_folder
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
name | string | evet | Ad · en çok 80 |
path | string | evet | Tam yol · en çok 1000 |
aliases | object / array | Diğer adları · Bunu söylemenin diğer yolları: ["era reposu", "era projesi"]. |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
computer_access_required | Bir bilgisayara yalnızca çalışma alanının sahibi ya da bilgisayar erişimi verilmiş bir üye ulaşabilir. |
invalid_folder | Bir klasörün adı ve tam yolu olmalı. |
invalid_aliases | Diğer adlar bir ad listesi olmalı. |
Neye yazar: computer_folder (upsert) — Stores the name, the path and the other names
curl -X POST https://app.getera.io/api/v1/computer_folders/actions/save_computer_folder \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Name","path":"Full path"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.computerFolders.saveComputerFolder({
name: "Name",
path: "Full path"
})era computer_folders save_computer_folder \
--name "Name" \
--path "Full path"{
"name": "era__ai__save_computer_folder",
"arguments": {
"name": "Name",
"path": "Full path"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 computer_access_required, invalid_folder, invalid_aliases · 429 çok sık istek
ai.save_computer_policy
Bilgisayar kurallarını kaydet — Bilgisayarın hangi siteleri ve uygulamaları kullanabileceği, ne zaman önce soracağı ve ne kadar harcayabileceği.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/computer_policies/actions/save_computer_policy- Asıl adres:
POST /api/v1/actions/ai.save_computer_policy
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
allowDomains | object / array | Yalnızca bu siteler | |
denyDomains | object / array | Asla bu siteler | |
denyApps | object / array | Bu uygulamalar asla | |
approvalMode | string (enum) | Önce sor · İzin verilen değerler: risky, every_action, never | |
maxSteps | number | Görev başına en fazla adım · en az 1 · en çok 200 | |
maxMinutes | number | En uzun görev (dakika) · en az 1 · en çok 1440 | |
monthlyCloudHours | number | Kişi başına aylık bulut saati · en az 0 · en çok 744 | |
defaultModel | string | Varsayılan model · en çok 200 | |
provider | string (enum) | Bulut bilgisayar sağlayıcısı · İzin verilen değerler: ``, boxd, e2b, digitalocean |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
invalid_domain | Siteler example.com veya *.example.com biçiminde yazılmalı. |
unknown_provider | Sağlayıcı boxd, e2b ya da digitalocean olmalı. |
Yayımladığı olaylar: ai.computer_policy_saved
Neye yazar: computer_policy (upsert) — Stores the workspace computer rules
curl -X POST https://app.getera.io/api/v1/computer_policies/actions/save_computer_policy \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"allowDomains":{}}'{
"ok": true,
"result": "…",
"events": [
"ai.computer_policy_saved"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.computerPolicies.saveComputerPolicy({
allowDomains: {}
})era computer_policies save_computer_policy --data '{"allowDomains":{}}'{
"name": "era__ai__save_computer_policy",
"arguments": {
"allowDomains": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 invalid_domain, unknown_provider · 429 çok sık istek
ai.set_action_cap
Era için günlük izin belirle — Era’nın bir işi günde N kez sana sormadan yapmasına izin verir (0: yine her seferinde sorar).
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/era_action_caps/actions/set_action_cap- Asıl adres:
POST /api/v1/actions/ai.set_action_cap
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
kind | string | evet | Ne · en çok 80 |
dailyLimit | number | evet | Günde kaç kez · en az 0 · en çok 1000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_cappable | Yalnızca Era’nın normalde soracağı bir iş (para ve silme değil) için izin verilebilir. |
Neye yazar: era_action_cap (upsert) — Writes (or removes) your allowance for that kind
curl -X POST https://app.getera.io/api/v1/era_action_caps/actions/set_action_cap \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"kind":"What","dailyLimit":1}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.eraActionCaps.setActionCap({
kind: "What",
dailyLimit: 1
})era era_action_caps set_action_cap \
--kind "What" \
--daily-limit 1{
"name": "era__ai__set_action_cap",
"arguments": {
"kind": "What",
"dailyLimit": 1
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_cappable · 429 çok sık istek
ai.set_agent_enabled
Ajanı aç veya kapat — Bir ajanın herhangi bir şeye tepki verip vermeyeceğine karar veren tek şey.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/ai_agents/{id}/actions/set_agent_enabled- Asıl adres:
POST /api/v1/actions/ai.set_agent_enabled
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Ajan · kimliği: ai_agent |
enabled | boolean | evet | Çalışıyor |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Ajan bu çalışma alanında bulunmalı. |
no_instructions | Talimatı olmayan bir ajan açılamaz. |
Yayımladığı olaylar: ai.agent_enabled, ai.agent_disabled
Neye yazar: ai_agent (update) — Flips the switch
curl -X POST https://app.getera.io/api/v1/ai_agents/AI_AGENT_ID/actions/set_agent_enabled \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"enabled":true}'{
"ok": true,
"result": "…",
"events": [
"ai.agent_enabled",
"ai.agent_disabled"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiAgents.setAgentEnabled("AI_AGENT_ID", {
enabled: true
})era ai_agents set_agent_enabled AI_AGENT_ID \
--enabled true{
"name": "era__ai__set_agent_enabled",
"arguments": {
"id": "AI_AGENT_ID",
"enabled": true
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, no_instructions · 429 çok sık istek
ai.set_brain_insight_status
İçgörüyü işaretle — Görüldü, yapıldı ya da kapatıldı.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/brain_insights/actions/set_brain_insight_status- Asıl adres:
POST /api/v1/actions/ai.set_brain_insight_status
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | İçgörü |
status | string | evet | Durum · new · seen · done · dismissed · en çok 20 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
bad_status | Durum yeni, görüldü, tamamlandı ya da kapatıldı olmalı. |
insight_not_found | Bu içgörü bu çalışma alanında bulunamadı. |
Yayımladığı olaylar: ai.brain_insight_updated
Neye yazar: brain_insight (update) — Saves the status
curl -X POST https://app.getera.io/api/v1/brain_insights/actions/set_brain_insight_status \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"ID_ID","status":"Status"}'{
"ok": true,
"result": "…",
"events": [
"ai.brain_insight_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brainInsights.setBrainInsightStatus({
id: "ID_ID",
status: "Status"
})era brain_insights set_brain_insight_status \
--id "ID_ID" \
--status "Status"{
"name": "era__ai__set_brain_insight_status",
"arguments": {
"id": "ID_ID",
"status": "Status"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 bad_status, insight_not_found · 429 çok sık istek
ai.set_budget
Yapay zekâ bütçesi belirle — Çalışma alanı ya da tek bir ajan için günlük ve/veya aylık USD sınırı. Sınırı aşan çalıştırmalar reddedilir.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/ai_budgets/actions/set_budget- Asıl adres:
POST /api/v1/actions/ai.set_budget
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
agentId | uuid | Ajan · Boş = tüm çalışma alanı. · kimliği: ai_agent | |
dailyUsd | number (money) | Günlük üst sınır (USD) · en az 0 | |
monthlyUsd | number (money) | Aylık üst sınır (USD) · en az 0 | |
alertPct | number | Uyarı eşiği (%) · en az 1 · en çok 100 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
unknown_agent | Ajan bu çalışma alanında bulunmalı. |
Yayımladığı olaylar: ai.budget_updated
Neye yazar: ai_budget (upsert) — Writes the cap
curl -X POST https://app.getera.io/api/v1/ai_budgets/actions/set_budget \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"agentId":"AI_AGENT_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.budget_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiBudgets.setBudget({
agentId: "AI_AGENT_ID"
})era ai_budgets set_budget \
--agent-id "AI_AGENT_ID"{
"name": "era__ai__set_budget",
"arguments": {
"agentId": "AI_AGENT_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 unknown_agent · 429 çok sık istek
ai.set_chat_member
Sohbeti bir kişiyle paylaş — Bir kişiyi görebilir ya da işlem yapabilir olarak ekler, onaylayıp onaylayamayacağını belirler ya da çıkarır.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/era_chat_members/actions/set_chat_member- Asıl adres:
POST /api/v1/actions/ai.set_chat_member
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
conversationId | uuid | evet | Sohbet |
userId | uuid | evet | Kişi |
access | string (enum) | evet | Erişim · İzin verilen değerler: view, act, none |
canApprove | boolean | Onaylayabilir |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Sohbet bu çalışma alanında olmalı. |
not_owner | Sohbeti yalnızca başlatan kişi (ya da bir yönetici) paylaşabilir. |
owner_is_member | Sohbeti başlatan kişi ona eklenemez. |
not_a_member | Yalnızca çalışma alanının etkin üyeleri eklenebilir. |
approve_needs_act | Onaylayabilmek için işlem yapabilmek gerekir. |
not_an_approver | Onaylayabilmek için kişinin bu çalışma alanında Era için onay yetkisi olmalı. |
Yayımladığı olaylar: ai.chat_shared
Neye yazar: era_chat_member (upsert) — Writes (or removes) their seat in the chat
curl -X POST https://app.getera.io/api/v1/era_chat_members/actions/set_chat_member \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"conversationId":"CONVERSATION_ID","userId":"USER_ID","access":"view"}'{
"ok": true,
"result": "…",
"events": [
"ai.chat_shared"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.eraChatMembers.setChatMember({
conversationId: "CONVERSATION_ID",
userId: "USER_ID",
access: "view"
})era era_chat_members set_chat_member \
--conversation-id "CONVERSATION_ID" \
--user-id "USER_ID" \
--access "view"{
"name": "era__ai__set_chat_member",
"arguments": {
"conversationId": "CONVERSATION_ID",
"userId": "USER_ID",
"access": "view"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_owner, owner_is_member, not_a_member, approve_needs_act, not_an_approver · 429 çok sık istek
ai.set_connection_share
Bağlantıyı kimlerin kullanacağını seç — Yalnız ben, ekibim ya da çalışma alanındaki herkes; her bağlantı türünde kararı sahibi verir.
Gereken izin ai:write · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır)
https://app.getera.io/api/v1/ai_providers/{id}/actions/set_connection_share- Asıl adres:
POST /api/v1/actions/ai.set_connection_share
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Bağlantı · kimliği: ai_provider |
scope | string (enum) | evet | Kimler kullanabilir · İzin verilen değerler: me, team, workspace |
teamId | uuid | Ekip |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Bu bağlantı burada bulunamadı. |
not_owner | Bunu yalnızca sahibi ya da çalışma alanı geneli bir bağlantı için yönetici yapabilir. |
team_required | Bir ekiple paylaşmak için ekibi seçmeniz gerekir. |
Yayımladığı olaylar: ai.connection_shared
Neye yazar: ai_provider (update) — Writes share_scope and the team
curl -X POST https://app.getera.io/api/v1/ai_providers/AI_PROVIDER_ID/actions/set_connection_share \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"scope":"me"}'{
"ok": true,
"result": "…",
"events": [
"ai.connection_shared"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiProviders.setConnectionShare("AI_PROVIDER_ID", {
scope: "me"
})era ai_providers set_connection_share AI_PROVIDER_ID \
--scope "me"{
"name": "era__ai__set_connection_share",
"arguments": {
"id": "AI_PROVIDER_ID",
"scope": "me"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_owner, team_required · 429 çok sık istek
ai.set_model_policy
İş türü için model seç — Varsayılan, sohbet, ajan, sınıflandırma, özetleme, çıkarma, oluşturma veya araştırma — isteğe bağlı yedekle. Boş model satırı temizler.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/ai_model_policies/actions/set_model_policy- Asıl adres:
POST /api/v1/actions/ai.set_model_policy
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
taskClass | string (enum) | evet | İş türü · İzin verilen değerler: default, chat, agent, classify, summarize, extract, build, research |
model | string | Model · en çok 120 | |
fallbackModel | string | Yedek model · en çok 120 |
Yayımladığı olaylar: ai.model_policy_updated
Neye yazar: ai_model_policy (upsert) — Writes or clears the policy row
curl -X POST https://app.getera.io/api/v1/ai_model_policies/actions/set_model_policy \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"taskClass":"default"}'{
"ok": true,
"result": "…",
"events": [
"ai.model_policy_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiModelPolicies.setModelPolicy({
taskClass: "default"
})era ai_model_policies set_model_policy \
--task-class "default"{
"name": "era__ai__set_model_policy",
"arguments": {
"taskClass": "default"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
ai.set_provider
Yapay zekâ sağlayıcısını kaydet — Çalışma alanını bir model sağlayıcısına ve kasada mühürlü bir anahtara bağlar.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/ai_providers/actions/set_provider- Asıl adres:
POST /api/v1/actions/ai.set_provider
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
provider | string (enum) | evet | Sağlayıcı · İzin verilen değerler: anthropic, openai, google, xai, mistral, deepseek, zai, moonshot, groq, openrouter, azure_openai, ollama, openai_compatible, muapi, fal, replicate, bfl, ideogram, stability, luma, runway, kling, elevenlabs, deepgram, assemblyai, chatgpt, claude_code, gemini_cli, typesafe, grok_cli, copilot_cli, cursor_cli, kimi_cli, vibe_cli, opencode_cli, amp_cli, kiro_cli, cline_cli, auggie_cli |
secretRef | string | Kasa anahtarı · apps.store_secret’ten gelen vault:<id> · en çok 64 | |
keyHint | string | Anahtar (maskeli) · en çok 40 | |
baseUrl | string | Temel URL · en çok 300 | |
label | string | Etiket · en çok 120 | |
makeDefault | boolean | Varsayılan olarak kullan | |
personal | boolean | Yalnızca benim için · Kendi anahtarım: yalnızca benim isteklerim kullanır. |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
bad_secret_ref | Anahtar bu çalışma alanının bir kasa sırrı olmalı. |
subscription_provider | Bir abonelik (ChatGPT, Claude, Antigravity planı) anahtarla değil, giriş yaparak bağlanır. |
base_url_required | Azure OpenAI ve özel ağ geçidi için uç nokta adresi gerekir. |
Yayımladığı olaylar: ai.provider_updated
Neye yazar: ai_provider (upsert) — Writes the provider row (never the key)
curl -X POST https://app.getera.io/api/v1/ai_providers/actions/set_provider \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"provider":"anthropic"}'{
"ok": true,
"result": "…",
"events": [
"ai.provider_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiProviders.setProvider({
provider: "anthropic"
})era ai_providers set_provider \
--provider "anthropic"{
"name": "era__ai__set_provider",
"arguments": {
"provider": "anthropic"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 bad_secret_ref, subscription_provider, base_url_required · 429 çok sık istek
ai.set_skill_policy
Becerinin izinlerini belirle — Yayımlanıp yayımlanmadığı, hangi bağlı uygulamaları çağırabileceği, korumalı alanının hangi sunuculara ulaşabileceği ve hangi kasa sırlarını okuyabileceği.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/ai_skill_releases/actions/set_skill_policy- Asıl adres:
POST /api/v1/actions/ai.set_skill_policy
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
skillId | string | evet | Beceri · en çok 64 |
published | boolean | Yayımlandı | |
allowedIntegrations | object / array | Çağırabileceği uygulamalar · ["gmail", "crm"] | |
allowedDomains | object / array | Erişebileceği sunucular · ["api.example.com", "*.example.org"] | |
secrets | object / array | Okuyabileceği gizli anahtarlar · [{ "name": "API_KEY", "ref": "vault:<id>" }] |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
bad_policy | Uygulamalar, sunucular ve sır adları düzgün listeler olmalı. |
bad_secret_ref | Sır bu çalışma alanının bir kasa referansı olmalı. |
Yayımladığı olaylar: ai.skill_policy_updated
Neye yazar: ai_skill_release (upsert) — Writes the release policy
curl -X POST https://app.getera.io/api/v1/ai_skill_releases/actions/set_skill_policy \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"skillId":"Skill"}'{
"ok": true,
"result": "…",
"events": [
"ai.skill_policy_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiSkillReleases.setSkillPolicy({
skillId: "Skill"
})era ai_skill_releases set_skill_policy \
--skill-id "Skill"{
"name": "era__ai__set_skill_policy",
"arguments": {
"skillId": "Skill"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 bad_policy, bad_secret_ref · 429 çok sık istek
ai.set_skill_release
Duraklat, sürdür veya kurulumu kaydet — Duraklatmak, beceriyi hiçbir ajana sunmaz. Kurulumu kaydetmek geldiği şablon ve sürümü saklar.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/ai_skill_releases/actions/set_skill_release- Asıl adres:
POST /api/v1/actions/ai.set_skill_release
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
skillId | string | evet | Beceri · en çok 64 |
paused | boolean | Duraklatıldı | |
sourceTemplate | string | Şablon · en çok 120 | |
sourceVersion | string | Şablon sürümü · en çok 40 |
Yayımladığı olaylar: ai.skill_paused, ai.skill_resumed, ai.skill_installed
Neye yazar: ai_skill_release (upsert) — Writes the release row
curl -X POST https://app.getera.io/api/v1/ai_skill_releases/actions/set_skill_release \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"skillId":"Skill"}'{
"ok": true,
"result": "…",
"events": [
"ai.skill_paused",
"ai.skill_resumed",
"ai.skill_installed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiSkillReleases.setSkillRelease({
skillId: "Skill"
})era ai_skill_releases set_skill_release \
--skill-id "Skill"{
"name": "era__ai__set_skill_release",
"arguments": {
"skillId": "Skill"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
ai.set_source_choice
Yapay zekânın nerede çalışacağını seç — Bir Era, iş akışı, beyin, sesli ajan, yaratıcı stüdyo, bilgisayar veya kendi sohbetin için: hangi abonelik ya da anahtar kullanılacak ve gerekirse neye geçilebilecek.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_source_choices/actions/set_source_choice- Asıl adres:
POST /api/v1/actions/ai.set_source_choice
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
subjectType | string (enum) | evet | İçin · İzin verilen değerler: chat, agent, workflow, brain, voice_agent, creative, computer |
subjectId | string | evet | Hangisi · en çok 120 |
mode | string (enum) | Yapay zekâ kaynağı · İzin verilen değerler: auto, byok, byos, connection | |
connectionId | uuid | Bağlantı · kimliği: ai_provider | |
model | string | Model · en çok 160 | |
allowShared | boolean | Bir çalışma arkadaşının paylaştığı bağlantı | |
allowByok | boolean | Şirket anahtarları | |
whenOffline | string (enum) | Bilgisayar kapalıysa · İzin verilen değerler: wait, fallback |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
bad_subject | Bir Era, iş akışı, beyin, sesli ajan, Creative Studio, bilgisayar ya da sohbet seçilmeli. |
not_owner | Bir kişinin sohbet varsayılanını yalnızca o kişi belirleyebilir. |
connection_not_usable | Yalnızca kendi bağlantınızı, çalışma alanının bir bağlantısını ya da sizinle paylaşılan bir bağlantıyı seçebilirsiniz. |
connection_required | “Bu bağlantı” seçeneği için bağlantıyı seçmeniz gerekir. |
Yayımladığı olaylar: ai.source_choice_updated
Neye yazar: ai_source_choice (upsert) — One row per AI-using thing
curl -X POST https://app.getera.io/api/v1/ai_source_choices/actions/set_source_choice \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"subjectType":"chat","subjectId":"Which one"}'{
"ok": true,
"result": "…",
"events": [
"ai.source_choice_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiSourceChoices.setSourceChoice({
subjectType: "chat",
subjectId: "Which one"
})era ai_source_choices set_source_choice \
--subject-type "chat" \
--subject-id "Which one"{
"name": "era__ai__set_source_choice",
"arguments": {
"subjectType": "chat",
"subjectId": "Which one"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 bad_subject, not_owner, connection_not_usable, connection_required · 429 çok sık istek
ai.set_subscription_use
Aboneliğimin nerede kullanılacağını seç — Era sohbeti, Era’larım, iş akışları, beyin, hafıza araması, yaratıcı stüdyo, ses ve bilgisayar; her biri ayrı ayrı kapatılabilir.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_providers/{id}/actions/set_subscription_use- Asıl adres:
POST /api/v1/actions/ai.set_subscription_use
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Abonelik · kimliği: ai_provider |
chat | boolean | Era sohbeti | |
agents | boolean | Era’larım | |
workflows | boolean | İş akışları | |
computer | boolean | Bilgisayar | |
brain | boolean | Beyin | |
embeddings | boolean | Hafızada arama | |
creative | boolean | Kreatif stüdyo | |
voice | boolean | Ses |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Bu abonelik bu çalışma alanında bağlı değil. |
not_owner | Nerede kullanılacağını yalnızca sahibi seçebilir. |
Neye yazar: ai_provider (update) — Writes the four switches
curl -X POST https://app.getera.io/api/v1/ai_providers/AI_PROVIDER_ID/actions/set_subscription_use \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"chat":true}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiProviders.setSubscriptionUse("AI_PROVIDER_ID", {
chat: true
})era ai_providers set_subscription_use AI_PROVIDER_ID \
--chat true{
"name": "era__ai__set_subscription_use",
"arguments": {
"id": "AI_PROVIDER_ID",
"chat": true
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_owner · 429 çok sık istek
ai.share_chat
Sohbeti paylaş — Sohbeti özel ya da çalışma alanına açık yapar; salt okunur bağlantısını açar ya da kapatır.
Gereken izin ai:write · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır)
https://app.getera.io/api/v1/era_chat_shares/actions/share_chat- Asıl adres:
POST /api/v1/actions/ai.share_chat
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
conversationId | uuid | evet | Sohbet |
visibility | string (enum) | Kim görür · İzin verilen değerler: private, workspace | |
link | string (enum) | Salt okunur bağlantı · İzin verilen değerler: keep, new, off | |
linkExpiresAt | date-time | Bağlantının bitişi |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Sohbet bu çalışma alanında olmalı. |
not_owner | Sohbeti yalnızca başlatan kişi (ya da bir yönetici) paylaşabilir. |
bad_expiry | Bağlantının süresi gelecekte dolmalı. |
Yayımladığı olaylar: ai.chat_visibility_changed
Neye yazar: era_chat_share (upsert) — Stores who sees the chat, the link hash and its expiry
curl -X POST https://app.getera.io/api/v1/era_chat_shares/actions/share_chat \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"conversationId":"CONVERSATION_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.chat_visibility_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.eraChatShares.shareChat({
conversationId: "CONVERSATION_ID"
})era era_chat_shares share_chat \
--conversation-id "CONVERSATION_ID"{
"name": "era__ai__share_chat",
"arguments": {
"conversationId": "CONVERSATION_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_owner, bad_expiry · 429 çok sık istek
ai.snapshot_skill
Beceri sürümünü kaydet — Becerinin mevcut tanımını sonraki numaralı sürüm olarak dondurur.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_skill_versions/actions/snapshot_skill- Asıl adres:
POST /api/v1/actions/ai.snapshot_skill
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
skillId | string | evet | Beceri · en çok 64 |
definition | object / array | evet | Tanım · { kind, content, code, language, inputSchema, enrichOp, enrichConfig, description } |
note | string | Not · en çok 2000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
bad_definition | Tanım bir nesne olmalı. |
Yayımladığı olaylar: ai.skill_version_created
Neye yazar: ai_skill_version (insert) — Writes the version
curl -X POST https://app.getera.io/api/v1/ai_skill_versions/actions/snapshot_skill \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"skillId":"Skill","definition":{}}'{
"ok": true,
"result": "…",
"events": [
"ai.skill_version_created"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiSkillVersions.snapshotSkill({
skillId: "Skill",
definition: {}
})era ai_skill_versions snapshot_skill --data '{"skillId":"Skill","definition":{}}'{
"name": "era__ai__snapshot_skill",
"arguments": {
"skillId": "Skill",
"definition": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 bad_definition · 429 çok sık istek
ai.start_computer
Bulut bilgisayarımı aç — Bulut bilgisayarını bıraktığın hâliyle açar.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/computer_machines/actions/start_computer- Asıl adres:
POST /api/v1/actions/ai.start_computer
Girdi
Bu işlem girdi almaz.
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
no_computer | Önce bir bulut bilgisayarınız olmalı. |
already_running | Zaten açık. |
computer_access_required | Bir bilgisayara yalnızca çalışma alanının sahibi ya da bilgisayar erişimi verilmiş bir üye ulaşabilir. |
hours_used_up | Kişinin bu ayki bulut saatleri planın saatlerinin ve çalışma alanı sınırının altında olmalı. |
Yayımladığı olaylar: ai.computer_machine_requested
Neye yazar: computer_machine (update) — Asks the worker to start it
curl -X POST https://app.getera.io/api/v1/computer_machines/actions/start_computer \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.computer_machine_requested"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.computerMachines.startComputer()era computer_machines start_computer{
"name": "era__ai__start_computer",
"arguments": {}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 no_computer, already_running, computer_access_required, hours_used_up · 429 çok sık istek
ai.start_computer_session
Bilgisayara görev ver — Era’nın tarayıcısında, bulut bilgisayarında ya da kendi bilgisayarında bir web ya da masaüstü görevi başlatır. Riskli adımlar onayını bekler.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/actions/ai.start_computer_sessionGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
title | string | Ad · en çok 200 | |
objective | string | Ne yapmalı? · en çok 4000 | |
kind | string (enum) | Tür · İzin verilen değerler: browser, desktop | |
target | string (enum) | Koşul · İzin verilen değerler: server, cloud, device | |
startUrl | string | Başlangıç sayfası · en çok 2000 | |
model | string | Model · en çok 200 | |
maxSteps | number | En fazla adım · en az 1 · en çok 200 | |
deviceId | string | Cihaz · en çok 100 | |
agentId | uuid | Ajan | |
source | string (enum) | İsteyen · İzin verilen değerler: person, era, workflow, agent | |
sourceRef | string | Kaynak referansı · en çok 300 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
empty_title | Görevin net bir amacı olmalı. |
blocked_start_url | Başlangıç sayfasına çalışma alanının bilgisayar kuralları izin vermiyor. |
no_cloud_computer | Bulutta çalışacak bir görev için kişinin bulut bilgisayarı olmalı. |
no_device | Kendi bilgisayarınızda çalışacak bir görev için cihaz seçilmeli. |
too_many_running | Bir çalışma alanında aynı anda en fazla üç bilgisayar görevi çalışabilir. |
computer_access_required | Bir bilgisayara yalnızca çalışma alanının sahibi ya da bilgisayar erişimi verilmiş bir üye ulaşabilir. |
Yayımladığı olaylar: ai.computer_session_queued
Neye yazar: computer_session (insert) — Creates the queued task with its step limit and rules; computer_session_event (insert) — Records that it was queued
curl -X POST https://app.getera.io/api/v1/actions/ai.start_computer_session \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"title":"Name"}'{
"ok": true,
"result": "…",
"events": [
"ai.computer_session_queued"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.start_computer_session", {
title: "Name"
})era ai start_computer_session \
--title "Name"{
"name": "era__ai__start_computer_session",
"arguments": {
"title": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 empty_title, blocked_start_url, no_cloud_computer, no_device, too_many_running, computer_access_required · 429 çok sık istek
ai.start_conversation
Sohbet başlat — Era ile ya da kayıtlı bir ajanla bir konuşma açar.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_conversations/actions/start_conversation- Asıl adres:
POST /api/v1/actions/ai.start_conversation
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
title | string | Başlık · en çok 200 | |
agentId | uuid | Ajan · kimliği: ai_agent |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
unknown_agent | Ajan bu çalışma alanında bulunmalı. |
Yayımladığı olaylar: ai.conversation_started
Neye yazar: ai_conversation (insert) — Opens the thread
curl -X POST https://app.getera.io/api/v1/ai_conversations/actions/start_conversation \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"title":"Title"}'{
"ok": true,
"result": "…",
"events": [
"ai.conversation_started"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiConversations.startConversation({
title: "Title"
})era ai_conversations start_conversation \
--title "Title"{
"name": "era__ai__start_conversation",
"arguments": {
"title": "Title"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 unknown_agent · 429 çok sık istek
ai.steer_computer_session
Çalışan bilgisayar görevine bir şey söyle — Görev çalışırken talimatını ekler; bilgisayar bir sonraki adımdan önce okur.
Gereken izin ai:handle · veriyi değiştirir
https://app.getera.io/api/v1/actions/ai.steer_computer_sessionGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Oturum · kimliği: computer_session |
text | string | evet | Mesaj · en çok 4000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Oturum bu çalışma alanında bulunamadı. |
not_running | Yalnızca hâlâ çalışan bir göreve yeni talimat verilebilir. |
empty_message | Mesaj bir şey söylemeli. |
Neye yazar: computer_session_event (insert) — Adds the message to the timeline, where the worker reads it
curl -X POST https://app.getera.io/api/v1/actions/ai.steer_computer_session \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"COMPUTER_SESSION_ID","text":"Message"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.steer_computer_session", {
id: "COMPUTER_SESSION_ID",
text: "Message"
})era ai steer_computer_session \
--id "COMPUTER_SESSION_ID" \
--text "Message"{
"name": "era__ai__steer_computer_session",
"arguments": {
"id": "COMPUTER_SESSION_ID",
"text": "Message"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, not_running, empty_message · 429 çok sık istek
ai.stop_all_computer_sessions
Acil durdur — Bu çalışma alanında çalışan tüm bilgisayar görevlerini durdurur.
Gereken izin ai:handle · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır) · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/actions/ai.stop_all_computer_sessionsGirdi
Bu işlem girdi almaz.
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
nothing_running | Durdurulacak çalışan bir görev yok. |
Yayımladığı olaylar: ai.computer_session_stopped, ai.computer_session_finished
Neye yazar: computer_session (update) — Marks every running task stopping; computer_session_event (insert) — Records the emergency stop on each
curl -X POST https://app.getera.io/api/v1/actions/ai.stop_all_computer_sessions \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"ai.computer_session_stopped",
"ai.computer_session_finished"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.stop_all_computer_sessions")era ai stop_all_computer_sessions{
"name": "era__ai__stop_all_computer_sessions",
"arguments": {}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 nothing_running · 429 çok sık istek
ai.stop_computer_session
Bilgisayar görevini durdur — Görevi bir adım içinde durdurur; geçmişi kalır.
Gereken izin ai:handle · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır) · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/actions/ai.stop_computer_sessionGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Oturum · kimliği: computer_session |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Oturum bu çalışma alanında bulunamadı. |
already_stopped | Bu oturum zaten bitmiş. |
Yayımladığı olaylar: ai.computer_session_stopped, ai.computer_session_finished
Neye yazar: computer_session (update) — Marks the session stopping or stopped; computer_session_event (insert) — Records who stopped it
curl -X POST https://app.getera.io/api/v1/actions/ai.stop_computer_session \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"COMPUTER_SESSION_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.computer_session_stopped",
"ai.computer_session_finished"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("ai.stop_computer_session", {
id: "COMPUTER_SESSION_ID"
})era ai stop_computer_session \
--id "COMPUTER_SESSION_ID"{
"name": "era__ai__stop_computer_session",
"arguments": {
"id": "COMPUTER_SESSION_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, already_stopped · 429 çok sık istek
ai.unbind_brain
Beyin bağını kaldır — Era, iş akışı ya da sesli asistan bu beyinden bilmeyi bırakır.
Gereken izin ai:manage · siler ya da geri alınamaz
https://app.getera.io/api/v1/brain_bindings/actions/unbind_brain- Asıl adres:
POST /api/v1/actions/ai.unbind_brain
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
subjectType | string | evet | İçin · agent · workflow · voice_agent · era_chat · meeting · team · role · en çok 20 |
subjectId | string | evet | Hangisi · en çok 120 |
brainId | uuid | evet | Beyin |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
bad_subject | Bir Era, iş akışı, sesli ajan, toplantı ya da Era sohbeti seçilmeli. |
brain_not_found | Bu beyin bu çalışma alanında bulunamadı. |
not_bound | Beyin buna bağlı değil. |
Yayımladığı olaylar: ai.brain_unbound
Neye yazar: brain_binding (delete) — Disconnects the brain
curl -X POST https://app.getera.io/api/v1/brain_bindings/actions/unbind_brain \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"subjectType":"For","subjectId":"Which one","brainId":"BRAIN_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.brain_unbound"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brainBindings.unbindBrain({
subjectType: "For",
subjectId: "Which one",
brainId: "BRAIN_ID"
})era brain_bindings unbind_brain \
--subject-type "For" \
--subject-id "Which one" \
--brain-id "BRAIN_ID"{
"name": "era__ai__unbind_brain",
"arguments": {
"subjectType": "For",
"subjectId": "Which one",
"brainId": "BRAIN_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 bad_subject, brain_not_found, not_bound · 429 çok sık istek
ai.uninstall_skill
Beceriyi kaldır — Becerinin sürümlerini ve yayın kaydını bırakır.
Gereken izin ai:delete · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/ai_skill_releases/actions/uninstall_skill- Asıl adres:
POST /api/v1/actions/ai.uninstall_skill
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
skillId | string | evet | Beceri · en çok 64 |
Yayımladığı olaylar: ai.skill_uninstalled
Neye yazar: ai_skill_release (delete) — Removes the release row; ai_skill_version (delete) — Removes its versions
curl -X POST https://app.getera.io/api/v1/ai_skill_releases/actions/uninstall_skill \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"skillId":"Skill"}'{
"ok": true,
"result": "…",
"events": [
"ai.skill_uninstalled"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiSkillReleases.uninstallSkill({
skillId: "Skill"
})era ai_skill_releases uninstall_skill \
--skill-id "Skill"{
"name": "era__ai__uninstall_skill",
"arguments": {
"skillId": "Skill"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
ai.update_agent
Ajanı değiştir — Talimatını, modelini, araç bütçesini veya onu neyin uyandırdığını yeniden yazar.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/ai_agents/{id}/actions/update_agent- Asıl adres:
POST /api/v1/actions/ai.update_agent
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Ajan · kimliği: ai_agent |
name | string | Ad · en çok 160 | |
instructions | string | Talimatlar · en çok 20000 | |
description | string | Açıklama · en çok 2000 | |
model | string | Model · en çok 120 | |
allowedModules | object / array | Yalnızca bu modüllerle sınırlı · Modül kodlarının listesi. Boş bırakılırsa oluşturan kişinin zaten kullanabildiği tüm modüller. | |
wakesOn | object / array | Şunlarda devreye girer · Olay adlarının listesi — crm.lead_won, crm.* veya *. Boş bırakılırsa yalnızca istendiğinde çalışır. | |
maxSteps | number | Çalıştırma başına araç çağrısı · en az 1 · en çok 40 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Ajan bu çalışma alanında bulunmalı. |
empty_name | Ajanın bir adı olmalı. |
bad_modules | Yalnızca bu platformun kayıtlı modülleriyle sınırlandırılabilir. |
bad_trigger | Uyandırma tetikleyicisi, bir modülün tanımladığı bir olay olmalı. |
Yayımladığı olaylar: ai.agent_updated
Neye yazar: ai_agent (update) — Rewrites the agent
curl -X POST https://app.getera.io/api/v1/ai_agents/AI_AGENT_ID/actions/update_agent \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Name"}'{
"ok": true,
"result": "…",
"events": [
"ai.agent_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiAgents.updateAgent("AI_AGENT_ID", {
name: "Name"
})era ai_agents update_agent AI_AGENT_ID \
--name "Name"{
"name": "era__ai__update_agent",
"arguments": {
"id": "AI_AGENT_ID",
"name": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, empty_name, bad_modules, bad_trigger · 429 çok sık istek
ai.update_brain
Beyni değiştir — Adını, neyden öğrendiğini, kısa hafızanın süresini ve hatırlamak için ne kadar emin olması gerektiğini değiştirir.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/brains/actions/update_brain- Asıl adres:
POST /api/v1/actions/ai.update_brain
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Beyin |
name | string | Ad · en çok 80 | |
description | string | Ne için · en çok 500 | |
shortTtlHours | number | Kısa süreli hafıza süresi (saat) · en az 1 · en çok 720 | |
embeddingSpace | string (enum) | Anlamı nerede çıkarır · İzin verilen değerler: bge-m3-1024, e5-small-384 | |
learnFrom | object / array | Öğrendiği kaynaklar | |
rememberThreshold | number | Hatırlamadan önce gereken güven · en az 0 · en çok 1 | |
askBeforeRemembering | boolean | Sohbetlerde duyduklarını hatırlamadan önce sor |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
brain_not_found | Bu beyin bu çalışma alanında bulunamadı. |
not_your_brain | Başkasının kişisel beynini yalnızca sahibi değiştirebilir. |
archived | Arşivlenmiş bir beyin değiştirilemez. |
empty_name | Beynin bir adı olmalı. |
name_taken | Bu adda bir beyin bu çalışma alanında zaten var. |
space_locked | Beyin bir şey öğrendikten sonra anlamı nerede işleyeceği değiştirilemez. |
invalid_learn_from | Öğrenme kaynakları yalnızca tanınan açma/kapama seçeneklerinden oluşmalı. |
Yayımladığı olaylar: ai.brain_updated
Neye yazar: brain (update) — Saves the brain’s settings
curl -X POST https://app.getera.io/api/v1/brains/actions/update_brain \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"ID_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.brain_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.brains.updateBrain({
id: "ID_ID"
})era brains update_brain \
--id "ID_ID"{
"name": "era__ai__update_brain",
"arguments": {
"id": "ID_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 brain_not_found, not_your_brain, archived, empty_name, name_taken, space_locked, invalid_learn_from · 429 çok sık istek
ai.update_knowledge_base
Bilgi alanını değiştir — Alanın adını, içine ne gireceğini değiştirir ya da onu beynin ana alanı yapar.
Gereken izin ai:manage · veriyi değiştirir
https://app.getera.io/api/v1/knowledge_bases/actions/update_knowledge_base- Asıl adres:
POST /api/v1/actions/ai.update_knowledge_base
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Boşluk |
name | string | Ad · en çok 80 | |
description | string | Buraya ne girer · en çok 500 | |
makeDefault | boolean | Ana alan yap |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
knowledge_base_not_found | Bu bilgi alanı bu çalışma alanında bulunamadı. |
archived | Arşivlenmiş bir bilgi alanı değiştirilemez. |
empty_name | Bilgi alanının bir adı olmalı. |
name_taken | Bu adda bir bilgi alanı bu beyinde zaten var. |
Yayımladığı olaylar: ai.knowledge_base_updated
Neye yazar: knowledge_base (update) — Saves the space
curl -X POST https://app.getera.io/api/v1/knowledge_bases/actions/update_knowledge_base \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"ID_ID"}'{
"ok": true,
"result": "…",
"events": [
"ai.knowledge_base_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.knowledgeBases.updateKnowledgeBase({
id: "ID_ID"
})era knowledge_bases update_knowledge_base \
--id "ID_ID"{
"name": "era__ai__update_knowledge_base",
"arguments": {
"id": "ID_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 knowledge_base_not_found, archived, empty_name, name_taken · 429 çok sık istek
ai.update_task
Görevi değiştir — Başlık, ayrıntılar, liste, öncelik, son tarih, tekrar kuralı veya durum.
Gereken izin ai:write · veriyi değiştirir
https://app.getera.io/api/v1/ai_tasks/{id}/actions/update_task- Asıl adres:
POST /api/v1/actions/ai.update_task
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Görev · kimliği: ai_task |
title | string | Başlık · en çok 300 | |
description | string | Ayrıntılar · en çok 10000 | |
listName | string | Liste · en çok 80 | |
priority | string (enum) | Öncelik · İzin verilen değerler: low, normal, high, urgent | |
dueAt | date-time | Son tarih | |
recurrence | string (enum) | Tekrar · İzin verilen değerler: none, daily, weekly, monthly | |
status | string (enum) | Durum · İzin verilen değerler: open, in_progress, cancelled |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
not_found | Görev bu çalışma alanında bulunmalı. |
empty_title | Görevin bir başlığı olmalı. |
Yayımladığı olaylar: ai.task_updated, ai.task_cancelled
Neye yazar: ai_task (update) — Rewrites the task
curl -X POST https://app.getera.io/api/v1/ai_tasks/AI_TASK_ID/actions/update_task \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"title":"Title"}'{
"ok": true,
"result": "…",
"events": [
"ai.task_updated",
"ai.task_cancelled"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.aiTasks.updateTask("AI_TASK_ID", {
title: "Title"
})era ai_tasks update_task AI_TASK_ID \
--title "Title"{
"name": "era__ai__update_task",
"arguments": {
"id": "AI_TASK_ID",
"title": "Title"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 not_found, empty_title · 429 çok sık istek
ai.use_action_cap
Era’nın günlük iznini kullan — Era sormadan bir şey yapmadan önce günün izninden bir tane düşer; işlem reddedilirse geri verir.
Gereken izin ai:read · veriyi değiştirir
https://app.getera.io/api/v1/era_action_caps/actions/use_action_cap- Asıl adres:
POST /api/v1/actions/ai.use_action_cap
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
kind | string | evet | Ne · en çok 80 |
op | string (enum) | Kullan veya geri ver · İzin verilen değerler: use, give_back |
Neye yazar: era_action_cap (update) — Counts today’s use of the allowance
curl -X POST https://app.getera.io/api/v1/era_action_caps/actions/use_action_cap \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"kind":"What"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.eraActionCaps.useActionCap({
kind: "What"
})era era_action_caps use_action_cap \
--kind "What"{
"name": "era__ai__use_action_cap",
"arguments": {
"kind": "What"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde ai:read izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 429 çok sık istek
Veri modelleri
AiAgent
Tablo ai_agent · Kaynak ai_agents
GET /api/v1/ai_agentsGET /api/v1/ai_agents/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
name | string · text | |||
description | string · text | evet | ||
instructions | string · text | |||
model | string · text | |||
allowed_modules | string[] · text[] | |||
wakes_on | string[] · text[] | |||
max_steps | integer · int4 | |||
is_enabled | boolean · bool | |||
acts_as_user_id | string (uuid) · uuid | app_user | ||
engine_agent_id | string · text | evet | ||
last_run_at | string (date-time) · timestamptz | evet | ||
run_count | integer · int4 | |||
failure_count | integer · int4 | |||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK ((length(btrim(name)) > 0))CHECK (((max_steps >= 1) AND (max_steps <= 40)))CHECK (os.valid_event_patterns(wakes_on))
AiBudget
Tablo ai_budget · Kaynak ai_budgets
GET /api/v1/ai_budgetsGET /api/v1/ai_budgets/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
agent_id | string (uuid) · uuid | evet | ai_agent | |
daily_usd | string (decimal) · numeric | evet | ||
monthly_usd | string (decimal) · numeric | evet | ||
alert_pct | integer · int4 | |||
last_alert_key | string · text | evet | ||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK (((alert_pct >= 1) AND (alert_pct <= 100)))CHECK ((((daily_usd IS NULL) OR (daily_usd >= (0)::numeric)) AND ((monthly_usd IS NULL) OR (monthly_usd >= (0)::numeric))))
AiConversation
Tablo ai_conversation · Kaynak ai_conversations
GET /api/v1/ai_conversationsGET /api/v1/ai_conversations/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
agent_id | string (uuid) · uuid | evet | ai_agent | |
created_by | string (uuid) · uuid | app_user | ||
title | string · text | evet | ||
message_count | integer · int4 | |||
last_message_at | string (date-time) · timestamptz | evet | ||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz | |||
deleted_at | string (date-time) · timestamptz | evet |
Birincil anahtar: id
AiMessage
Tablo ai_message · Kaynak ai_messages
GET /api/v1/ai_messagesGET /api/v1/ai_messages/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
conversation_id | string (uuid) · uuid | ai_conversation | ||
position | integer · int4 | |||
role | string · text | user, assistant, system | ||
content | string · text | |||
tool_calls | object · jsonb | |||
created_at | string (date-time) · timestamptz |
Birincil anahtar: id
Tekil: conversation_id, position
Denetimler:
CHECK (("position" >= 0))
AiModelPolicy
Tablo ai_model_policy · Kaynak ai_model_policies
GET /api/v1/ai_model_policiesGET /api/v1/ai_model_policies/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
task_class | string · text | default, chat, agent, classify, summarize, extract, build, research | ||
model | string · text | |||
fallback_model | string · text | evet | ||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Tekil: workspace_id, task_class
Denetimler:
CHECK ((length(btrim(model)) > 0))
AiProvider
Tablo ai_provider · Kaynak ai_providers
GET /api/v1/ai_providersGET /api/v1/ai_providers/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
provider | string · text | |||
label | string · text | evet | ||
key_hint | string · text | evet | ||
base_url | string · text | evet | ||
is_default | boolean · bool | |||
status | string · text | unchecked, healthy, failing, connecting, limited, relogin, offline, not_eligible | ||
last_checked_at | string (date-time) · timestamptz | evet | ||
last_error | string · text | evet | ||
created_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz | |||
key_set_at | string (date-time) · timestamptz | evet | ||
consecutive_failures | integer · int4 | |||
last_latency_ms | integer · int4 | evet | ||
rotation_reminded_at | string (date-time) · timestamptz | evet | ||
connection_kind | string · text | api_key, subscription | ||
owner_user_id | string (uuid) · uuid | evet | app_user | |
execution | string · text | remote, local_device, cloud_computer | ||
device_id | string · text | evet | ||
capabilities | string[] · text[] | |||
account_label | string · text | evet | ||
limit_resets_at | string (date-time) · timestamptz | evet | ||
use_for | object · jsonb | |||
last_used_at | string (date-time) · timestamptz | evet | ||
meta | object · jsonb | |||
share_scope | string · text | |||
share_team_id | string (uuid) · uuid | evet | team | |
plan_limits | object · jsonb | evet |
Birincil anahtar: id
Denetimler:
CHECK ((provider = ANY ('{amp_cli,anthropic,auggie_cli,azure_openai,bfl,chatgpt,claude_code,cline_cli,copilot_cli,cursor_cli,deepseek,elevenlabs,fal,gemini_cli,google,grok_cli,groq,ideogram,kimi_cli,kiro_cli,kling,luma,mistral,moonshot,ollama,openai,openai_compatible,opencode_cli,openrouter,replicate,runway,stability,typesafe,vibe_cli,xai,zai,deepgram,assemblyai}'::text[])))CHECK (((plan_limits IS NULL) OR ((jsonb_typeof(plan_limits) = 'object'::text) AND (plan_limits ? 'state'::text))))CHECK (((share_scope = ANY (ARRAY['me'::text, 'team'::text, 'workspace'::text])) AND ((share_scope <> 'team'::text) OR (share_team_id IS NOT NULL))))CHECK ((jsonb_typeof(use_for) = 'object'::text))
AiRun
Tablo ai_run · Kaynak ai_runs
GET /api/v1/ai_runsGET /api/v1/ai_runs/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
agent_id | string (uuid) · uuid | ai_agent | ||
event_id | string (int64) · int8 | evet | ||
event_name | string · text | evet | ||
conversation_id | string (uuid) · uuid | evet | ai_conversation | |
status | string · text | running, succeeded, failed, skipped, refused | ||
started_at | string (date-time) · timestamptz | |||
finished_at | string (date-time) · timestamptz | evet | ||
steps | object · jsonb | |||
error | string · text | evet | ||
model | string · text | evet | ||
model_calls | integer · int4 | |||
cost_usd | string (decimal) · numeric | |||
repairs | integer · int4 | |||
answer | string · text | evet | ||
touched_records | object · jsonb | |||
approval_ids | string[] · uuid[] |
Birincil anahtar: id
AiSkillRelease
Tablo ai_skill_release · Kaynak ai_skill_releases
GET /api/v1/ai_skill_releasesGET /api/v1/ai_skill_releases/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
skill_id | string · text | |||
paused | boolean · bool | |||
source_template | string · text | evet | ||
source_version | string · text | evet | ||
installed_at | string (date-time) · timestamptz | evet | ||
updated_at | string (date-time) · timestamptz | |||
published | boolean · bool | |||
allowed_integrations | string[] · text[] | |||
allowed_domains | string[] · text[] |
Birincil anahtar: id
Tekil: workspace_id, skill_id
AiSkillRun
Tablo ai_skill_run · Kaynak ai_skill_runs
GET /api/v1/ai_skill_runsGET /api/v1/ai_skill_runs/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
skill_id | string · text | |||
skill_name | string · text | evet | ||
version_id | string (uuid) · uuid | evet | ai_skill_version | |
mode | string · text | load, exec, eval, compiled | ||
status | string · text | ok, error | ||
duration_ms | integer · int4 | evet | ||
cost_usd | string (decimal) · numeric | |||
error | string · text | evet | ||
created_at | string (date-time) · timestamptz |
Birincil anahtar: id
AiSkillVersion
Tablo ai_skill_version · Kaynak ai_skill_versions
GET /api/v1/ai_skill_versionsGET /api/v1/ai_skill_versions/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
skill_id | string · text | |||
version | integer · int4 | |||
definition | object · jsonb | |||
note | string · text | evet | ||
status | string · text | draft, active, retired | ||
eval_score | string (decimal) · numeric | evet | ||
eval_passed | integer · int4 | evet | ||
eval_total | integer · int4 | evet | ||
eval_notes | string · text | evet | ||
evaluated_at | string (date-time) · timestamptz | evet | ||
was_active | boolean · bool | |||
created_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz |
Birincil anahtar: id
Tekil: workspace_id, skill_id, version
AiSourceChoice
Tablo ai_source_choice · Kaynak ai_source_choices
GET /api/v1/ai_source_choicesGET /api/v1/ai_source_choices/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
subject_type | string · text | chat, agent, workflow, brain, voice_agent, creative, computer | ||
subject_id | string · text | |||
connection_id | string (uuid) · uuid | evet | ai_provider | |
model | string · text | evet | ||
allow_shared | boolean · bool | |||
allow_byok | boolean · bool | |||
when_offline | string · text | wait, fallback | ||
created_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz | |||
source_mode | string · text | auto, byok, byos, connection |
Birincil anahtar: id
Tekil: workspace_id, subject_type, subject_id
AiTask
Tablo ai_task · Kaynak ai_tasks
GET /api/v1/ai_tasksGET /api/v1/ai_tasks/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
title | string · text | |||
description | string · text | evet | ||
list_name | string · text | |||
status | string · text | open, in_progress, done, cancelled | ||
priority | string · text | low, normal, high, urgent | ||
due_at | string (date-time) · timestamptz | evet | ||
assignee_user_id | string (uuid) · uuid | evet | app_user | |
assignee_agent_id | string (uuid) · uuid | evet | ai_agent | |
recurrence | string · text | none, daily, weekly, monthly | ||
recurrence_of | string (uuid) · uuid | evet | ai_task | |
handoffs | object · jsonb | |||
created_by | string (uuid) · uuid | app_user | ||
completed_at | string (date-time) · timestamptz | evet | ||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz | |||
deleted_at | string (date-time) · timestamptz | evet | ||
record_type | string · text | evet | ||
record_id | string (uuid) · uuid | evet | ||
due_reminded_at | string (date-time) · timestamptz | evet | ||
overdue_reminded_at | string (date-time) · timestamptz | evet |
Birincil anahtar: id
Denetimler:
CHECK (((assignee_user_id IS NULL) OR (assignee_agent_id IS NULL)))CHECK ((((record_type IS NULL) AND (record_id IS NULL)) OR ((record_type = ANY (ARRAY['customer'::text, 'lead'::text, 'appointment'::text, 'order'::text, 'conversation'::text])) AND (record_id IS NOT NULL))))CHECK ((length(btrim(title)) > 0))
AiTemplateInstall
Tablo ai_template_install · Kaynak ai_template_installs
GET /api/v1/ai_template_installsGET /api/v1/ai_template_installs/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
template_id | string · text | |||
template_name | string · text | |||
kind | string · text | agent, skill, workflow | ||
instance_id | string · text | |||
required_apps | string[] · text[] | |||
installed_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz |
Birincil anahtar: id
Tekil: workspace_id, kind, instance_id
AiUsage
Tablo ai_usage · Kaynak ai_usages
GET /api/v1/ai_usagesGET /api/v1/ai_usages/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
agent_id | string (uuid) · uuid | evet | ai_agent | |
run_id | string (uuid) · uuid | evet | ai_run | |
conversation_id | string (uuid) · uuid | evet | ai_conversation | |
source | string · text | agent_run, console, era, skill_eval, router | ||
ref | string · text | evet | ||
model | string · text | evet | ||
model_calls | integer · int4 | |||
tool_calls | integer · int4 | |||
tool_result_chars | integer · int4 | |||
cost_usd | string (decimal) · numeric | |||
created_at | string (date-time) · timestamptz | |||
surface | string · text | evet | ||
capability | string · text | evet | ||
source_kind | string · text | evet | ||
provider | string · text | evet | ||
units | string (decimal) · numeric | evet | ||
unit | string · text | evet | ||
user_id | string (uuid) · uuid | evet | ||
connection_id | string (uuid) · uuid | evet | ai_provider | |
latency_ms | integer · int4 | evet | ||
attempts | object · jsonb | evet | ||
gateway_request_id | string · text | evet |
Birincil anahtar: id
Denetimler:
CHECK (((source_kind IS NULL) OR (source_kind = ANY (ARRAY['native'::text, 'byos'::text, 'byok'::text])))) NOT VALID
BrainBinding
Tablo brain_binding · Kaynak brain_bindings
GET /api/v1/brain_bindingsGET /api/v1/brain_bindings/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
subject_type | string · text | agent, workflow, voice_agent, era_chat, meeting, team, role | ||
subject_id | string · text | |||
brain_id | string (uuid) · uuid | brain | ||
knowledge_base_ids | string[] · uuid[] | |||
access | string · text | read, read_write | ||
created_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK (((length(subject_id) >= 1) AND (length(subject_id) <= 120)))
BrainErasure
Tablo brain_erasure · Kaynak brain_erasures
GET /api/v1/brain_erasuresGET /api/v1/brain_erasures/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
kind | string · text | fact, person | ||
subject_label | string · text | |||
subject_ref | string · text | evet | ||
privacy_request_id | string (uuid) · uuid | evet | ||
reason | string · text | evet | ||
requested_on | string (date) · date | evet | ||
counts | object · jsonb | |||
erased_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK ((jsonb_typeof(counts) = 'object'::text))CHECK (((reason IS NULL) OR (length(reason) <= 500)))CHECK (((length(subject_label) >= 1) AND (length(subject_label) <= 200)))CHECK (((subject_ref IS NULL) OR (length(subject_ref) <= 200)))
BrainFactReview
Tablo brain_fact_review · Kaynak brain_fact_reviews
GET /api/v1/brain_fact_reviewsGET /api/v1/brain_fact_reviews/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
memory_id | string (uuid) · uuid | |||
decision | string · text | correct, forget, keep_private, confirm, move, refile | ||
corrected_text | string · text | evet | ||
applied_memory_id | string (uuid) · uuid | evet | ||
reviewed_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
target_knowledge_base_id | string (uuid) · uuid | evet | knowledge_base | |
new_kind | string · text | evet | ||
new_audience | string · text | evet | ||
new_module_code | string · text | evet | ||
new_expires_at | string (date-time) · timestamptz | evet | ||
clear_expiry | boolean · bool |
Birincil anahtar: id
Denetimler:
CHECK (((decision = 'correct'::text) = (corrected_text IS NOT NULL)))CHECK (((corrected_text IS NULL) OR ((length(corrected_text) >= 3) AND (length(corrected_text) <= 4000))))CHECK (((decision = 'move'::text) = (target_knowledge_base_id IS NOT NULL)))CHECK (((new_audience IS NULL) OR (new_audience = ANY (ARRAY['person'::text, 'workspace'::text, 'module'::text]))))CHECK (((new_kind IS NULL) OR (new_kind = ANY (ARRAY['fact'::text, 'preference'::text, 'rule'::text, 'procedure'::text, 'decision'::text, 'commitment'::text, 'episode'::text]))))CHECK (((decision <> 'refile'::text) OR (new_kind IS NOT NULL) OR (new_audience IS NOT NULL) OR (new_expires_at IS NOT NULL) OR clear_expiry))
BrainInsight
Tablo brain_insight · Kaynak brain_insights
GET /api/v1/brain_insightsGET /api/v1/brain_insights/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
brain_id | string (uuid) · uuid | evet | brain | |
role | string · text | sales, marketing, finance, operations, support, management, general | ||
title | string · text | |||
body | string · text | |||
severity | string · text | info, opportunity, warning | ||
sources | object · jsonb | |||
reasoning | string · text | evet | ||
suggested_action | object · jsonb | evet | ||
generated_by | object · jsonb | |||
status | string · text | new, seen, done, dismissed | ||
dedupe_key | string · text | evet | ||
status_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz | |||
origin | string · text | learning, outcome, era, person | ||
kind | string · text | evet |
Birincil anahtar: id
Denetimler:
CHECK ((length(body) <= 4000))CHECK (((dedupe_key IS NULL) OR (length(dedupe_key) <= 200)))CHECK ((jsonb_typeof(generated_by) = 'object'::text))CHECK (((kind IS NULL) OR (length(kind) <= 64)))CHECK (((reasoning IS NULL) OR (length(reasoning) <= 2000)))CHECK ((jsonb_typeof(sources) = 'array'::text))CHECK (((suggested_action IS NULL) OR (jsonb_typeof(suggested_action) = 'object'::text)))CHECK (((length(btrim(title)) >= 1) AND (length(btrim(title)) <= 200)))
Brain
Tablo brain · Kaynak brains
GET /api/v1/brainsGET /api/v1/brains/{id}POST /api/v1/brains→ai.create_brain
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
name | string · text | |||
description | string · text | evet | ||
kind | string · text | company, personal, team, era, voice, brand, custom | ||
scope | string · text | workspace, team, era, voice_agent, person | ||
scope_ref | string (uuid) · uuid | evet | ||
memory | string · text | long, short | ||
short_ttl_hours | integer · int4 | evet | ||
embedding_space | string · text | bge-m3-1024, e5-small-384 | ||
learn_from | object · jsonb | |||
remember_threshold | number · float4 | |||
is_default | boolean · bool | |||
archived_at | string (date-time) · timestamptz | evet | ||
created_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz | |||
ask_before_remembering | boolean · bool |
Birincil anahtar: id
Denetimler:
CHECK (((scope = 'workspace'::text) = (scope_ref IS NULL)))CHECK (((memory = 'long'::text) OR (short_ttl_hours IS NOT NULL)))CHECK (((description IS NULL) OR (length(description) <= 500)))CHECK ((jsonb_typeof(learn_from) = 'object'::text))CHECK (((length(btrim(name)) >= 1) AND (length(btrim(name)) <= 80)))CHECK (((remember_threshold >= (0)::double precision) AND (remember_threshold <= (1)::double precision)))CHECK (((short_ttl_hours IS NULL) OR ((short_ttl_hours >= 1) AND (short_ttl_hours <= 720))))
ComputerFolder
Tablo computer_folder · Kaynak computer_folders
GET /api/v1/computer_foldersGET /api/v1/computer_folders/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
owner_user_id | string (uuid) · uuid | app_user | ||
name | string · text | |||
aliases | string[] · text[] | |||
path | string · text | |||
visibility | string · text | private, everyone | ||
last_used_at | string (date-time) · timestamptz | evet | ||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK (((length(name) >= 1) AND (length(name) <= 80)))CHECK (((length(path) >= 1) AND (length(path) <= 1000)))
ComputerMachine
Tablo computer_machine · Kaynak computer_machines
GET /api/v1/computer_machinesGET /api/v1/computer_machines/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
owner_user_id | string (uuid) · uuid | app_user | ||
name | string · text | |||
provider | string · text | |||
external_id | string · text | evet | ||
state | string · text | requested, provisioning, running, pausing, paused, failed, deleting, deleted | ||
resolution_w | integer · int4 | |||
resolution_h | integer · int4 | |||
viewer_url | string · text | evet | ||
last_error | string · text | evet | ||
seconds_used | string (int64) · int8 | |||
month_seconds_used | string (int64) · int8 | |||
usage_month | string · text | evet | ||
started_at | string (date-time) · timestamptz | evet | ||
paused_at | string (date-time) · timestamptz | evet | ||
deleted_at | string (date-time) · timestamptz | evet | ||
metadata | object · jsonb | |||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
ComputerPolicy
Tablo computer_policy · Kaynak computer_policies
GET /api/v1/computer_policiesGET /api/v1/computer_policies/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
workspace_id | string (uuid) · uuid | workspace | ||
organization_id | string (uuid) · uuid | organization | ||
allow_domains | string[] · text[] | |||
deny_domains | string[] · text[] | |||
deny_apps | string[] · text[] | |||
approval_mode | string · text | risky, every_action, never | ||
max_steps | integer · int4 | |||
max_minutes | integer · int4 | |||
monthly_cloud_hours | string (decimal) · numeric | |||
default_model | string · text | evet | ||
updated_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz | |||
provider | string · text | evet |
Birincil anahtar: workspace_id
Denetimler:
CHECK (((max_minutes >= 1) AND (max_minutes <= 1440)))CHECK (((max_steps >= 1) AND (max_steps <= 200)))CHECK ((monthly_cloud_hours >= (0)::numeric))CHECK (((provider IS NULL) OR (provider = ANY (ARRAY['boxd'::text, 'e2b'::text, 'digitalocean'::text]))))
DecideDecision
Tablo decide_decision · Kaynak decide_decisions
GET /api/v1/decide_decisionsGET /api/v1/decide_decisions/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
question_key | string · text | |||
question | object · jsonb | |||
focus | object · jsonb | evet | ||
answer | object · jsonb | |||
confidence | number · float4 | evet | ||
provider | string · text | evet | ||
model | string · text | evet | ||
needs_review | boolean · bool | |||
ref | string · text | evet | ||
outcome | string · text | evet | ||
corrected_answer | object · jsonb | evet | ||
outcome_source | string · text | evet | ||
outcome_note | string · text | evet | ||
outcome_by | string (uuid) · uuid | evet | app_user | |
outcome_at | string (date-time) · timestamptz | evet | ||
created_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK ((jsonb_typeof(answer) = 'object'::text))CHECK (((outcome = 'corrected'::text) = (corrected_answer IS NOT NULL)))CHECK (((corrected_answer IS NULL) OR (jsonb_typeof(corrected_answer) = 'object'::text)))CHECK (((outcome IS NULL) OR (outcome = ANY (ARRAY['confirmed'::text, 'corrected'::text]))))CHECK (((outcome_note IS NULL) OR (length(outcome_note) <= 500)))CHECK (((outcome_source IS NULL) OR (outcome_source = ANY (ARRAY['fact_review'::text, 'person'::text, 'workflow'::text, 'era'::text]))))CHECK ((jsonb_typeof(question) = 'object'::text))CHECK (((length(question_key) >= 1) AND (length(question_key) <= 160)))CHECK (((ref IS NULL) OR (length(ref) <= 200)))
EraActionCap
Tablo era_action_cap · Kaynak era_action_caps
GET /api/v1/era_action_capsGET /api/v1/era_action_caps/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
user_id | string (uuid) · uuid | app_user | ||
kind | string · text | |||
daily_limit | integer · int4 | |||
used | integer · int4 | |||
used_on | string (date) · date | evet | ||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Tekil: workspace_id, user_id, kind
Denetimler:
CHECK (((daily_limit >= 1) AND (daily_limit <= 1000)))CHECK (((kind ~ '^[a-z][a-z0-9_]*\.[a-z][a-z0-9_]*$'::text) AND (length(kind) <= 80)))CHECK ((used >= 0))
EraChatMember
Tablo era_chat_member · Kaynak era_chat_members
GET /api/v1/era_chat_membersGET /api/v1/era_chat_members/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
conversation_id | string (uuid) · uuid | conversations | ||
user_id | string (uuid) · uuid | app_user | ||
access | string · text | view, act | ||
can_approve | boolean · bool | |||
added_by | string (uuid) · uuid | evet | app_user | |
last_seen_at | string (date-time) · timestamptz | evet | ||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Tekil: conversation_id, user_id
Denetimler:
CHECK (((NOT can_approve) OR (access = 'act'::text)))
EraChatSeen
Tablo era_chat_seen · Kaynak era_chat_seens
GET /api/v1/era_chat_seensGET /api/v1/era_chat_seens/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
conversation_id | string (uuid) · uuid | conversations | ||
user_id | string (uuid) · uuid | app_user | ||
seen_at | string (date-time) · timestamptz |
Birincil anahtar: id
Tekil: conversation_id, user_id
EraChatShare
Tablo era_chat_share · Kaynak era_chat_shares
GET /api/v1/era_chat_sharesGET /api/v1/era_chat_shares/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
conversation_id | string (uuid) · uuid | conversations | ||
created_by | string (uuid) · uuid | app_user | ||
visibility | string · text | private, workspace | ||
link_expires_at | string (date-time) · timestamptz | evet | ||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Tekil: conversation_id · link_token_hash
EraLearning
Tablo era_learning · Kaynak era_learnings
GET /api/v1/era_learningsGET /api/v1/era_learnings/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
kind | string · text | memory, skill | ||
status | string · text | proposed, approved, rejected | ||
proposed_by | string · text | era, learning, skills | ||
for_user | string (uuid) · uuid | evet | app_user | |
statement | string · text | evet | ||
memory_kind | string · text | evet | ||
audience | string · text | person, workspace, module | ||
module_code | string · text | evet | ||
expires_at | string (date-time) · timestamptz | evet | ||
brain_id | string (uuid) · uuid | evet | brain | |
knowledge_base_id | string (uuid) · uuid | evet | knowledge_base | |
confidence | number · float4 | evet | ||
skill_id | string · text | evet | ||
skill_name | string · text | evet | ||
skill_description | string · text | evet | ||
skill_content | string · text | evet | ||
reason | string · text | evet | ||
source | object · jsonb | |||
evidence_count | integer · int4 | |||
dedupe_key | string · text | evet | ||
decided_by | string (uuid) · uuid | evet | app_user | |
decided_at | string (date-time) · timestamptz | evet | ||
result_ref | string · text | evet | ||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz | |||
score | number · float4 | evet | ||
lowered_by | object · jsonb |
Birincil anahtar: id
Denetimler:
CHECK (((kind <> 'memory'::text) OR ((statement IS NOT NULL) AND (memory_kind IS NOT NULL))))CHECK (((kind <> 'skill'::text) OR ((skill_name IS NOT NULL) AND (skill_description IS NOT NULL) AND (skill_content IS NOT NULL))))CHECK (((audience = 'module'::text) = (module_code IS NOT NULL)))CHECK (((status = 'proposed'::text) = (decided_at IS NULL)))CHECK (((confidence IS NULL) OR ((confidence >= (0)::double precision) AND (confidence <= (1)::double precision))))CHECK ((evidence_count >= 1))CHECK ((jsonb_typeof(lowered_by) = 'array'::text))CHECK (((memory_kind IS NULL) OR (memory_kind = ANY (ARRAY['fact'::text, 'preference'::text, 'rule'::text, 'procedure'::text]))))CHECK (((reason IS NULL) OR (length(reason) <= 1000)))CHECK (((score IS NULL) OR ((score >= (0)::double precision) AND (score <= (1)::double precision))))CHECK (((skill_content IS NULL) OR (length(skill_content) <= 50000)))CHECK (((skill_description IS NULL) OR (length(skill_description) <= 1024)))CHECK (((skill_name IS NULL) OR (skill_name ~ '^[a-z0-9]+(-[a-z0-9]+)*$'::text)))CHECK ((jsonb_typeof(source) = 'object'::text))CHECK (((statement IS NULL) OR ((length(statement) >= 3) AND (length(statement) <= 4000))))
KnowledgeBase
Tablo knowledge_base · Kaynak knowledge_bases
GET /api/v1/knowledge_basesGET /api/v1/knowledge_bases/{id}POST /api/v1/knowledge_bases→ai.create_knowledge_base
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
brain_id | string (uuid) · uuid | brain | ||
name | string · text | |||
kind | string · text | company, product, sales, marketing, customers, projects, personal, voice, industry, meetings, brand, finance, support, custom | ||
description | string · text | evet | ||
is_default | boolean · bool | |||
archived_at | string (date-time) · timestamptz | evet | ||
created_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK (((description IS NULL) OR (length(description) <= 500)))CHECK (((length(btrim(name)) >= 1) AND (length(btrim(name)) <= 80)))
Olaylar
İş akışları ve webhook'lar bu olaylara tepki verir.
| Olay | Ne olur | Taşıdığı alanlar |
|---|---|---|
ai.agent_created | Bir ajan oluşturuldu. | id, name |
ai.agent_deleted | Bir ajan kaldırıldı. | id, name |
ai.agent_disabled | Bir ajan dinlemeyi bıraktı. | id, name |
ai.agent_enabled | Bir ajan dinlemeye başladı. | id, name |
ai.agent_linked | Bir ajan bir asistana bağlandı (ya da bağlantısı kaldırıldı). | id, engineAgentId |
ai.agent_requested | Biri ya da bir şey bir ajandan çalışmasını istedi. | id, prompt |
ai.agent_updated | Bir ajanın talimatı, modeli ya da tetikleyicileri değişti. | id, name |
ai.approval_escalated | Bir onay isteği çok uzun süredir bekliyor. | approvalId, intent, tool, ageHours |
ai.brain_archived | Bir beyin arşivlendi. | id, name |
ai.brain_bound | Bir Era, iş akışı ya da sesli asistan artık bir beyni kullanıyor. | id, subjectType, subjectId, brainId, access |
ai.brain_created | Bir beyin oluşturuldu. | id, name, kind |
ai.brain_fact_erased | Era’nın öğrendiği bir şey kalıcı olarak silindi. | id, facts |
ai.brain_fact_reviewed | Biri Era’nın öğrendiği bir şeyi düzeltti, unutturdu, gizledi ya da onayladı. | id, memoryId, decision, appliedMemoryId |
ai.brain_insight_created | Era bir rol için bir şey fark etti. | id, role, title, severity |
ai.brain_insight_updated | Bir içgörü görüldü, yapıldı ya da kapatıldı. | id, status |
ai.brain_person_erased | Era’nın bir kişi hakkında öğrendiği her şey kalıcı olarak silindi. | id, facts, entities |
ai.brain_unbound | Bir Era, iş akışı ya da sesli asistan bir beyni kullanmayı bıraktı. | subjectType, subjectId, brainId |
ai.brain_updated | Bir beynin adı, hafızası ya da neyden öğrendiği değişti. | id, name |
ai.budget_alert | Yapay zekâ harcaması bir bütçe uyarı eşiğini ya da tavanını geçti. Bir bildirim kuralını buna yönlendirin. | budgetId, scope, agentId, period, capUsd, spentUsd, level |
ai.budget_updated | Bir yapay zekâ bütçesi belirlendi ya da kaldırıldı. | id, agentId |
ai.chat_shared | Bir sohbet bir kişiyle paylaşıldı (ya da erişimi değişti). | conversationId, title, access, canApprove, recipientUserId |
ai.chat_visibility_changed | Bir sohbet özel ya da çalışma alanına açık oldu, ya da bağlantısı değişti. | conversationId, visibility, link |
ai.code_session_closed | Canlı kodlama oturumu kapatıldı. | id |
ai.code_session_opened | Kişinin bilgisayarındaki bir klasörde canlı kodlama oturumu başladı. | id, folderName, harness, conversationId |
ai.computer_approval_requested | Bir bilgisayar görevi bir adım için onay bekliyor. | id, summary, risk, recipientUserId |
ai.computer_machine_changed | Bir bulut bilgisayarın durumu değişti. | id, state, recipientUserId |
ai.computer_machine_requested | Biri bulut bilgisayarının kurulmasını, açılmasını, kapatılmasını ya da silinmesini istedi. | id, op |
ai.computer_policy_saved | Çalışma alanının bilgisayar kuralları değişti. | approvalMode |
ai.computer_session_created | Bir bilgisayar oturumu hazırlandı. | id, title, needsProvider |
ai.computer_session_finished | Bir bilgisayar görevi bitti, bitiremedi ya da durduruldu. | id, status, success, result, sourceRef |
ai.computer_session_queued | Bir bilgisayar görevi sıraya alındı. | id, title, kind, target |
ai.computer_session_started | Bir bilgisayar görevi çalışmaya başladı. | id, provider |
ai.computer_session_stopped | Bir bilgisayar oturumu durduruldu. | id |
ai.connection_shared | Bir yapay zekâ bağlantısını kimlerin kullanabileceği değişti. | id, provider, scope |
ai.conversation_deleted | Bir konuşma silindi. | id |
ai.conversation_started | Era ile bir konuşma açıldı. | id, agentId |
ai.decide_outcome_recorded | Biri Era’nın bir kararını onayladı ya da düzeltti. | id, questionKey, outcome |
ai.erasure_candidate_resolved | Bir yönetici, silme başvurusunun olası eşleşmesini sildi ya da kapattı. | id, decision, facts |
ai.key_rotation_due | Bir sağlayıcı anahtarının yenilenme zamanı geldi. | id, provider, ageDays, recipientUserId |
ai.knowledge_base_archived | Bir bilgi alanı arşivlendi. | id, brainId, name |
ai.knowledge_base_created | Bir bilgi alanı oluşturuldu. | id, brainId, name |
ai.knowledge_base_updated | Bir bilgi alanı değişti. | id, brainId, name |
ai.learning_decided | Biri Era’nın saklamak istediği bir şeyi onayladı ya da reddetti. | id, kind, decision, resultRef |
ai.learning_forgotten | Biri Era’ya bir şeyi unutmasını ya da bir beceriyi bırakmasını söyledi. | kind, ref |
ai.learning_proposed | Era bir şeyi hatırlamak ya da bir beceriyi kullanmak için izin istedi. | id, kind, proposedBy |
ai.memory_refiled | Biri bir hafıza kaydının türünü, kimin için olduğunu ya da bitiş tarihini değiştirdi. | id, memoryId |
ai.model_policy_updated | Bir iş türü için kullanılan model değişti. | taskClass, model |
ai.provider_checked | Bir yapay zekâ sağlayıcısının sağlık kontrolü yapıldı. | id, ok |
ai.provider_recovered | Sorunlu bir sağlayıcı yeniden yanıt verdi. | id, provider, recipientUserId |
ai.provider_removed | Bir yapay zekâ sağlayıcısı kaldırıldı. | id, provider |
ai.provider_unhealthy | Bir sağlayıcı zamanlanmış kontrolünü geçemedi; çalıştırmalar onu atlayarak yönlendirilir. | id, provider, error, recipientUserId |
ai.provider_updated | Bir yapay zekâ sağlayıcısı ya da anahtarı kaydedildi. | id, provider |
ai.skill_evaluated | Bir beceri sürümü değerlendirildi. | id, skillId, score |
ai.skill_installed | Bir beceri bir şablondan yüklendi. | skillId |
ai.skill_paused | Bir beceri duraklatıldı. | skillId |
ai.skill_policy_updated | Bir becerinin yayın durumu ya da izinleri değişti. | skillId, published |
ai.skill_promoted | Bir beceri sürümü yayına girdi (ya da ona geri dönüldü). | id, skillId, version |
ai.skill_resumed | Bir beceri sürdürüldü. | skillId |
ai.skill_uninstalled | Bir beceri kaldırıldı. | skillId |
ai.skill_version_created | Bir beceri sürümü kaydedildi. | id, skillId, version |
ai.source_choice_updated | Era, bir iş akışı, hafıza ya da başka bir yapay zekâ kullanan şeyin nerede çalıştığı değişti. | id, subjectType, subjectId |
ai.subscription_connected | Biri kendi yapay zekâ aboneliğini bağladı. | id, provider, execution, recipientUserId |
ai.subscription_disconnected | Biri kendi yapay zekâ aboneliğinin bağlantısını kesti. | id, provider, recipientUserId |
ai.subscription_limited | Bir kişinin aboneliği paket sınırına ulaştı. | id, provider, resetsAt, recipientUserId |
ai.subscription_needs_login | Bir kişinin aboneliğinden çıkış yapılmış; yeniden giriş yapması gerekiyor. | id, provider, recipientUserId |
ai.subscription_recovered | Bir kişinin aboneliği yeniden çalışıyor. | id, provider, recipientUserId |
ai.task_assigned | Bir görev bir kişiye ya da ajana verildi. | id, assigneeUserId, assigneeAgentId, recipientUserId |
ai.task_cancelled | Bir görev iptal edildi (durumu iptal olarak ayarlandı). | id |
ai.task_completed | Bir görev tamamlandı. | id, nextId |
ai.task_created | Bir görev oluşturuldu. | id, title, recordType, recordId, recipientUserId |
ai.task_deleted | Bir görev silindi. | id |
ai.task_due | Bir görevin son tarihine bir günden az kaldı. Atanan kişi için (ajandaysa yazarı için). | id, title, dueAt, recordType, recordId, recipientUserId |
ai.task_overdue | Bir görevin son tarihi geçti. Atanan kişiye bildirilir; görev bir ajana atanmışsa oluşturan kişiye. | id, title, dueAt, recordType, recordId, recipientUserId |
ai.task_reopened | Bir görev yeniden açıldı. | id |
ai.task_updated | Bir görev değişti. | id |
ai.template_installed | Pazaryerinden bir ajan, beceri ya da iş akışı yüklendi. | id, kind, instanceId, templateId, requiredApps |