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

KaynakTabloListeleme ve okumaPOSTPATCHDELETE
ai_agentsai_agent/api/v1/ai_agents
ai_budgetsai_budget/api/v1/ai_budgets
ai_conversationsai_conversation/api/v1/ai_conversations
ai_messagesai_message/api/v1/ai_messages
ai_model_policiesai_model_policy/api/v1/ai_model_policies
ai_providersai_provider/api/v1/ai_providers
ai_runsai_run/api/v1/ai_runs
ai_skill_releasesai_skill_release/api/v1/ai_skill_releases
ai_skill_runsai_skill_run/api/v1/ai_skill_runs
ai_skill_versionsai_skill_version/api/v1/ai_skill_versions
ai_source_choicesai_source_choice/api/v1/ai_source_choices
ai_tasksai_task/api/v1/ai_tasks
ai_template_installsai_template_install/api/v1/ai_template_installs
ai_usagesai_usage/api/v1/ai_usages
brain_bindingsbrain_binding/api/v1/brain_bindings
brain_erasuresbrain_erasure/api/v1/brain_erasures
brain_fact_reviewsbrain_fact_review/api/v1/brain_fact_reviews
brain_insightsbrain_insight/api/v1/brain_insights
brainsbrain/api/v1/brainsai.create_brain
computer_folderscomputer_folder/api/v1/computer_folders
computer_machinescomputer_machine/api/v1/computer_machines
computer_policiescomputer_policy/api/v1/computer_policies
decide_decisionsdecide_decision/api/v1/decide_decisions
era_action_capsera_action_cap/api/v1/era_action_caps
era_chat_membersera_chat_member/api/v1/era_chat_members
era_chat_seensera_chat_seen/api/v1/era_chat_seens
era_chat_sharesera_chat_share/api/v1/era_chat_shares
era_learningsera_learning/api/v1/era_learnings
knowledge_basesknowledge_base/api/v1/knowledge_basesai.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

İşlemGereken izinNe yapar
ai.archive_brainai:manageBeyni arşivle
ai.archive_knowledge_baseai:manageBilgi alanını arşivle
ai.assign_taskai:writeGörevi devret
ai.bind_brainai:manageBeyin bağla
ai.check_budgetai:readYapay zekâ bütçesini kontrol et
ai.clear_budgetai:manageYapay zekâ bütçesini kaldır
ai.close_code_sessionai:handleKod oturumunu kapat
ai.complete_taskai:writeGörevi tamamla
ai.connect_subscriptionai:writeKendi yapay zekâ aboneliğini bağla
ai.create_agentai:manageAjan oluştur
ai.create_brainai:manageBeyin oluştur
ai.create_knowledge_baseai:manageBilgi alanı ekle
ai.create_taskai:writeGörev oluştur
ai.decide_computer_stepai:handleBilgisayar adımını onayla ya da reddet
ai.decide_learningai:writeEra’nın sorusunu cevapla
ai.delete_agentai:deleteAjanı sil
ai.delete_computerai:handleBulut bilgisayarımı sil
ai.delete_conversationai:deleteSohbeti sil
ai.delete_taskai:deleteGörevi sil
ai.disconnect_subscriptionai:writeAboneliğimin bağlantısını kes
ai.erase_brain_factai:manageEra’nın öğrendiğini kalıcı olarak sil
ai.erase_brain_personai:manageEra’nın bir kişi hakkında öğrendiği her şeyi sil
ai.escalate_approvalai:readBekleyen onayı yükselt
ai.evaluate_skillai:writeBeceri değerlendirmesini kaydet
ai.forget_computer_folderai:handleKlasörü unut
ai.forget_learningai:writeUnut (“bunu unut”)
ai.link_engine_agentai:manageAjanı bir asistana bağla
ai.mark_chat_seenai:readPaylaşılan sohbeti aç
ai.open_code_sessionai:handleKod oturumu başlat
ai.pause_computerai:handleBulut bilgisayarımı kapat
ai.pause_computer_sessionai:handleBilgisayar görevini duraklat
ai.promote_skillai:manageBeceri sürümünü öne çıkar
ai.propose_learningai:writeBir şeyi hatırlamak için izin iste
ai.provision_computerai:handleBulut bilgisayarımı kur
ai.record_brain_insightai:writeİçgörü kaydet
ai.record_code_sessionai:handleKod turunu kaydet
ai.record_computer_fileai:handleBilgisayar dosyasını kaydet
ai.record_computer_frameai:handleCanlı görüntüyü kaydet
ai.record_computer_machineai:handleBulut bilgisayar durumunu kaydet
ai.record_computer_progressai:handleBilgisayar ilerlemesini kaydet
ai.record_decide_outcomeai:writeEra’nın bir kararını onayla ya da düzelt
ai.record_plan_limitsai:readBir aboneliğin plan sınırlarını kaydet
ai.record_provider_checkai:manageSağlayıcı sağlık kontrolünü kaydet
ai.record_provider_healthai:handleZamanlanmış sağlayıcı kontrolünü kaydet
ai.record_skill_runai:readBeceri çalıştırmasını kaydet
ai.record_subscription_stateai:readAboneliğin durumunu kaydet
ai.record_template_installai:writePazar yeri kurulumunu kaydet
ai.record_turnai:writeKonuşma adımını kaydet
ai.record_usageai:readYapay zekâ kullanımını kaydet
ai.refile_brain_factai:writeEra’nın öğrendiğini yeniden sınıflandır
ai.remind_taskai:handleGörev hatırlatması gönder
ai.remove_providerai:manageYapay zekâ sağlayıcısını kaldır
ai.reopen_taskai:writeGörevi yeniden aç
ai.resolve_erasure_candidateai:manageSilme başvurusunun olası eşleşmesine karar ver
ai.resume_computer_sessionai:handleBilgisayar görevine devam et
ai.review_brain_factai:writeEra’nın öğrendiğini düzelt, unut, gizli tut ya da taşı
ai.run_agentai:handleAjanı çalıştır
ai.save_computer_folderai:handleKlasörü hatırla
ai.save_computer_policyai:manageBilgisayar kurallarını kaydet
ai.set_action_capai:writeEra için günlük izin belirle
ai.set_agent_enabledai:manageAjanı aç veya kapat
ai.set_brain_insight_statusai:writeİçgörüyü işaretle
ai.set_budgetai:manageYapay zekâ bütçesi belirle
ai.set_chat_memberai:writeSohbeti bir kişiyle paylaş
ai.set_connection_shareai:writeBağlantıyı kimlerin kullanacağını seç
ai.set_model_policyai:manageİş türü için model seç
ai.set_providerai:manageYapay zekâ sağlayıcısını kaydet
ai.set_skill_policyai:manageBecerinin izinlerini belirle
ai.set_skill_releaseai:manageDuraklat, sürdür veya kurulumu kaydet
ai.set_source_choiceai:writeYapay zekânın nerede çalışacağını seç
ai.set_subscription_useai:writeAboneliğimin nerede kullanılacağını seç
ai.share_chatai:writeSohbeti paylaş
ai.snapshot_skillai:writeBeceri sürümünü kaydet
ai.start_computerai:handleBulut bilgisayarımı aç
ai.start_computer_sessionai:handleBilgisayara görev ver
ai.start_conversationai:writeSohbet başlat
ai.steer_computer_sessionai:handleÇalışan bilgisayar görevine bir şey söyle
ai.stop_all_computer_sessionsai:handleAcil durdur
ai.stop_computer_sessionai:handleBilgisayar görevini durdur
ai.unbind_brainai:manageBeyin bağını kaldır
ai.uninstall_skillai:deleteBeceriyi kaldır
ai.update_agentai:manageAjanı değiştir
ai.update_brainai:manageBeyni değiştir
ai.update_knowledge_baseai:manageBilgi alanını değiştir
ai.update_taskai:writeGörevi değiştir
ai.use_action_capai:readEra’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

POSThttps://app.getera.io/api/v1/brains/actions/archive_brain
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.archive_brain

Girdi

AlanTürZorunluAçıklama
iduuidevetBeyin

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
brain_not_foundBu beyin bu çalışma alanında bulunamadı.
not_your_brainBaşkasının kişisel beynini yalnızca sahibi arşivleyebilir.
archivedZaten 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/knowledge_bases/actions/archive_knowledge_base
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.archive_knowledge_base

Girdi

AlanTürZorunluAçıklama
iduuidevetBoşluk

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
knowledge_base_not_foundBu bilgi alanı bu çalışma alanında bulunamadı.
archivedZaten arşivlenmiş.
default_knowledge_baseBeynin 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_tasks/{id}/actions/assign_task
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.assign_task

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Görev · kimliği: ai_task
assigneeUserIduuidKişi · kimliği: app_user
assigneeAgentIduuidAjan · kimliği: ai_agent
notestringNot · en çok 2000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundGörev bu çalışma alanında bulunmalı.
not_memberKişi bu çalışma alanının üyesi olmalı.
unknown_agentAjan bu çalışma alanında bulunmalı.
agent_disabledKapalı 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/brain_bindings/actions/bind_brain
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.bind_brain

Girdi

AlanTürZorunluAçıklama
subjectTypestringevetİçin · agent · workflow · voice_agent · era_chat · meeting · team · role · en çok 20
subjectIdstringevetHangisi · en çok 120
brainIduuidevetBeyin
knowledgeBaseIdsobject / arrayAlanlar (boş = tümü)
accessstring (enum)Erişim · İzin verilen değerler: read, read_write

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
bad_subjectBir Era, iş akışı, sesli ajan, toplantı ya da Era sohbeti seçilmeli.
brain_not_foundBu beyin bu çalışma alanında bulunamadı.
not_your_brainBaşkasının kişisel beyni yalnızca sahibine aittir.
archivedArşivlenmiş bir beyin kullanıma verilemez.
personal_brainKişisel beyin yalnızca sahibinin kendi sohbetinde kullanılabilir.
agent_not_foundBu Era bulunamadı.
subject_not_foundBu ekip ya da rol bu çalışma alanında bulunamadı.
knowledge_base_not_in_brainBilgi 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_budgets/actions/check_budget
API anahtarı ya da OAuth token · ai:read
  • Asıl adres: POST /api/v1/actions/ai.check_budget

Girdi

AlanTürZorunluAçıklama
agentIduuidAjan · 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_budgets/{id}/actions/clear_budget
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.clear_budget

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğ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:

KodNe zaman reddedilir
not_foundBü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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.close_code_session
API anahtarı ya da OAuth token · ai:handle

Girdi

AlanTürZorunluAçıklama
iduuidevetOturum · kimliği: code_session

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundYalnı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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_tasks/{id}/actions/complete_task
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.complete_task

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Görev · kimliği: ai_task

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundGörev bu çalışma alanında bulunmalı.
already_doneTamamlanmış 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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_providers/actions/connect_subscription
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.connect_subscription

Girdi

AlanTürZorunluAçıklama
providerstring (enum)evetAbonelik · İ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
executionstring (enum)evetÇalıştırmalar · İzin verilen değerler: remote, local_device, cloud_computer
deviceIdstringBilgisayar · en çok 64
secretRefstringKasa girişi · en çok 64
oauthSecretRefstringKasa izni · en çok 64
keyHintstringAnahtar (maskeli) · en çok 40
accountLabelstringHesap · en çok 160
statusstring (enum)Durum · İzin verilen değerler: connecting, healthy
metaobject / arrayAyrıntılar

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
unknown_subscriptionYalnızca Era’nın tanıdığı bir abonelik, çalışabildiği yerlerde.
bad_secret_refBulut girişi bu çalışma alanının kasasındaki bir sır olmalı.
device_requiredBilgisayar 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_agents/actions/create_agent
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.create_agent

Girdi

AlanTürZorunluAçıklama
namestringevetAd · en çok 160
instructionsstringTalimatlar · en çok 20000
descriptionstringAçıklama · en çok 2000
modelstringModel · en çok 120
allowedModulesobject / arrayYalnı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.
wakesOnobject / 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.
maxStepsnumberÇ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:

KodNe zaman reddedilir
empty_nameAjanın bir adı olmalı.
bad_modulesYalnızca bu platformun kayıtlı modülleriyle sınırlandırılabilir.
bad_triggerUyandı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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/brains/actions/create_brain
API anahtarı ya da OAuth token · ai:manage
  • REST kısayolu: POST /api/v1/brains
  • Asıl adres: POST /api/v1/actions/ai.create_brain

Girdi

AlanTürZorunluAçıklama
namestringevetAd · en çok 80
descriptionstringNe için · en çok 500
kindstring (enum)Tür · İzin verilen değerler: company, personal, team, era, voice, brand, custom
scopestring (enum)Kim kullanıyor · İzin verilen değerler: workspace, team, era, voice_agent, person
scopeRefuuidKimin
memorystring (enum)Bellek · İzin verilen değerler: long, short
shortTtlHoursnumberKısa süreli hafıza süresi (saat) · en az 1 · en çok 720
embeddingSpacestring (enum)Anlamı nerede çıkarır · İzin verilen değerler: bge-m3-1024, e5-small-384
learnFromobject / arrayÖğrendiği kaynaklar
knowledgeBasesobject / arrayBilgi alanları

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
empty_nameBeynin bir adı olmalı.
name_takenBu adda bir beyin bu çalışma alanında zaten var.
not_your_brainKişisel beyin sadece senin olabilir.
missing_scope_refBir ekip, Era ya da sesli ajan için beyin oluştururken hangisi olduğunu seçmeniz gerekir.
agent_not_foundBu Era bulunamadı.
team_not_foundBu 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/knowledge_bases/actions/create_knowledge_base
API anahtarı ya da OAuth token · ai:manage
  • REST kısayolu: POST /api/v1/knowledge_bases
  • Asıl adres: POST /api/v1/actions/ai.create_knowledge_base

Girdi

AlanTürZorunluAçıklama
brainIduuidevetBeyin
namestringevetAd · en çok 80
kindstring (enum)Tür · İzin verilen değerler: company, product, sales, marketing, customers, projects, personal, voice, industry, meetings, brand, finance, support, custom
descriptionstringBuraya ne girer · en çok 500

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
brain_not_foundBu beyin bu çalışma alanında bulunamadı.
not_your_brainBaşkasının kişisel beyni yalnızca sahibine aittir.
archivedArşivlenmiş bir beyne yeni bilgi alanı eklenemez.
empty_nameBilgi alanının bir adı olmalı.
name_takenBu 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_tasks/actions/create_task
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.create_task

Girdi

AlanTürZorunluAçıklama
titlestringevetBaşlık · en çok 300
descriptionstringAyrıntılar · en çok 10000
listNamestringListe · en çok 80
prioritystring (enum)Öncelik · İzin verilen değerler: low, normal, high, urgent
dueAtdate-timeSon tarih
recurrencestring (enum)Tekrar · İzin verilen değerler: none, daily, weekly, monthly
assigneeUserIduuidKişi · kimliği: app_user
assigneeAgentIduuidAjan · kimliği: ai_agent
recordTypestring (enum)Hakkında · İzin verilen değerler: customer, lead, appointment, order, conversation
recordIduuidKayıt kimliği

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
empty_titleGörevin bir başlığı olmalı.
not_memberKişi bu çalışma alanının üyesi olmalı.
unknown_agentAjan bu çalışma alanında bulunmalı.
agent_disabledKapalı 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.decide_computer_step
API anahtarı ya da OAuth token · ai:handle

Girdi

AlanTürZorunluAçıklama
iduuidevetOturum · kimliği: computer_session
approvalIduuidevetAdım
decisionstring (enum)evetKarar · İzin verilen değerler: approve, deny
allowSimilarbooleanBenzer adımlara 15 dakika izin ver
notestringNot · en çok 500

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundOturum bu çalışma alanında bulunamadı.
no_pending_approvalBu 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/era_learnings/actions/decide_learning
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.decide_learning

Girdi

AlanTürZorunluAçıklama
iduuidevetEra’nın sorduğu
decisionstring (enum)evetYanıt · İzin verilen değerler: approve, reject
statementstringMetin · en çok 4000
memoryKindstringKategori · fact · preference · rule · procedure · en çok 20
audiencestringİçin · person · workspace · module · en çok 20
moduleCodestringModül · en çok 64
expiresAtdate-timeBitiş
skillDescriptionstringBecerinin amacı · en çok 1024
skillContentstringBecerinin adımları · en çok 50000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
learning_not_foundEra bunu burada sormuş olmalı.
already_decidedBir öneri bir kez yanıtlanır.
not_yoursBir kişiye yönelik öneriyi o kişi (ya da bir yönetici) yanıtlar.
empty_statementYeniden yazılan hatıra yine bir şey söylemeli.
bad_memory_kindHafıza kaydı bir bilgi, tercih, kural ya da yöntem olmalı.
module_requiredTek bir modüle ait hatıra, var olan bir modülü belirtmeli.
already_expiredBitiş tarihi ileride olmalı.
skill_incompleteDü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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_agents/{id}/actions/delete_agent
API anahtarı ya da OAuth token · ai:delete
  • Asıl adres: POST /api/v1/actions/ai.delete_agent

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Ajan · kimliği: ai_agent

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundAjan 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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/computer_machines/actions/delete_computer
API anahtarı ya da OAuth token · ai:handle
  • 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:

KodNe 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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_conversations/{id}/actions/delete_conversation
API anahtarı ya da OAuth token · ai:delete
  • Asıl adres: POST /api/v1/actions/ai.delete_conversation

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Konuşma · kimliği: ai_conversation

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundKonuş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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_tasks/{id}/actions/delete_task
API anahtarı ya da OAuth token · ai:delete
  • Asıl adres: POST /api/v1/actions/ai.delete_task

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Görev · kimliği: ai_task

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundGö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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_providers/{id}/actions/disconnect_subscription
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.disconnect_subscription

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Abonelik · kimliği: ai_provider

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundBu abonelik bu çalışma alanında bağlı değil.
not_ownerBunu 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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/brain_erasures/actions/erase_brain_fact
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.erase_brain_fact

Girdi

AlanTürZorunluAçıklama
memoryIduuidevetEra ne öğrendi
reasonstringNeden (örneğin bir KVKK talebinin referansı) · en çok 500

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
fact_not_foundBu 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/brain_erasures/actions/erase_brain_person
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.erase_brain_person

Girdi

AlanTürZorunluAçıklama
entityIduuidevetKişi
reasonstringBaşvuru numarası · en çok 500
requestedOnstringBaşvuru tarihi · en çok 10

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
person_not_foundEra bu kişiyi bu çalışma alanında tanımıyor.
bad_dateTalep 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

Era’nın kendi çalıştırdığı bir işlem. Başvuru eksiksiz olsun diye listelenir; API anahtarı ya da token ile istek reddedilir (403 machine_only).
POSThttps://app.getera.io/api/v1/actions/ai.escalate_approval
API anahtarı ya da OAuth token · ai:read

Girdi

AlanTürZorunluAçıklama
approvalIdstringevetOnay · en çok 64
intentstringSorduğu · en çok 300
toolstringAraç · en çok 200
ageHoursnumberevetBekleme 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

POSThttps://app.getera.io/api/v1/ai_skill_versions/{id}/actions/evaluate_skill
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.evaluate_skill

Girdi

AlanTürZorunluAçıklama
versionIduuidevetDoldurulduğu yer: adresteki {id} · Sürüm · kimliği: ai_skill_version
passednumberevetBaşarılı · en az 0
totalnumberevetDurumlar · en az 0
notesstringNotlar · en çok 10000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundSü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}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/computer_folders/{id}/actions/forget_computer_folder
API anahtarı ya da OAuth token · ai:handle
  • Asıl adres: POST /api/v1/actions/ai.forget_computer_folder

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Klasör · kimliği: computer_folder

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundKlasö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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/brain_fact_reviews/actions/forget_learning
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.forget_learning

Girdi

AlanTürZorunluAçıklama
memoryIduuidBellek
aboutstringUnutulacak olan, kelimelerle · en çok 500
skillNamestringKullanımı bırakılacak beceri · en çok 64

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
nothing_to_forgetEra bunu hatırlıyor (ya da bu beceriye sahip) olmalı.
ambiguousBirden 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

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

POSThttps://app.getera.io/api/v1/ai_agents/{id}/actions/link_engine_agent
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.link_engine_agent
AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Ajan · kimliği: ai_agent
engineAgentIdstringAsistan · en çok 64

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundAjan bu çalışma alanında bulunmalı.
already_linkedBir 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/era_chat_seens/actions/mark_chat_seen
API anahtarı ya da OAuth token · ai:read
  • Asıl adres: POST /api/v1/actions/ai.mark_chat_seen

Girdi

AlanTürZorunluAçıklama
conversationIduuidevetSohbet

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundSohbet bu çalışma alanında olmalı.
no_accessSohbet 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/computer_folders/{id}/actions/open_code_session
API anahtarı ya da OAuth token · ai:handle
  • Asıl adres: POST /api/v1/actions/ai.open_code_session

Girdi

AlanTürZorunluAçıklama
conversationIduuidKonuşma
folderIduuidDoldurulduğu yer: adresteki {id} · Klasör · kimliği: computer_folder
folderNamestringevetKlasör adı · en çok 80
pathstringevetTam yol · en çok 1000
harnessstringevetMotor · claude (Claude Code) veya codex (Codex). · en çok 20
deviceIdstringBilgisayar · en çok 80
surfacestringBaşlatıldığı yer · en çok 40

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
computer_access_requiredBir bilgisayara yalnızca çalışma alanının sahibi ya da bilgisayar erişimi verilmiş bir üye ulaşabilir.
unknown_harnessKod 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/computer_machines/actions/pause_computer
API anahtarı ya da OAuth token · ai:handle
  • 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:

KodNe zaman reddedilir
no_computerÖnce bir bulut bilgisayarınız olmalı.
not_runningYalnı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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.pause_computer_session
API anahtarı ya da OAuth token · ai:handle

Girdi

AlanTürZorunluAçıklama
iduuidevetOturum · kimliği: computer_session

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundOturum bu çalışma alanında bulunamadı.
not_runningYalnı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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_skill_versions/{id}/actions/promote_skill
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.promote_skill

Girdi

AlanTürZorunluAçıklama
versionIduuidevetDoldurulduğ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:

KodNe zaman reddedilir
not_foundSürüm bu çalışma alanında bulunmalı.
not_evaluatedYalnı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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/era_learnings/actions/propose_learning
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.propose_learning

Girdi

AlanTürZorunluAçıklama
kindstring (enum)Ne · İzin verilen değerler: memory, skill
statementstringHatırlanacak olan (tek başına anlaşılır bir cümle) · en çok 4000
memoryKindstringKategori · fact · preference · rule · procedure · en çok 20
audiencestringİçin · person (yalnızca konuştuğun kişi) · workspace (herkes) · module (yalnızca bir modülde) · en çok 20
moduleCodestringModül · Kitle "module" ise: retail, appointments, crm … · en çok 64
expiresAtdate-timeBitiş
forUseruuidKimin onayı
brainIduuidBeyin
knowledgeBaseIduuidBilgi alanı
confidencenumberNe kadar emin · en az 0 · en çok 1
skillIdstringGüncellenecek beceri · en çok 64
skillNamestringBeceri adı (kebab-case) · en çok 64
skillDescriptionstringBecerinin amacı · en çok 1024
skillContentstringBecerinin adımları · en çok 50000
reasonstringEra neden böyle düşünüyor · en çok 1000
sourceobject / arrayNereden geldiği · { kind: "conversation", ref, label, at, url }
evidenceCountnumberGörülme sayısı · en az 1 · en çok 1000
dedupeKeystringAynı öneri anahtarı · en çok 200
proposedBystringÖneren · era · learning · skills · en çok 20
toldbooleanKiş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:

KodNe zaman reddedilir
empty_statementBir hatıra neyin hatırlanacağını söyler.
bad_memory_kindHafıza kaydı bir bilgi, tercih, kural ya da yöntem olmalı.
module_requiredTek bir modüle ait hatıra, var olan bir modülü belirtmeli.
already_expiredBitiş tarihi ileride olmalı.
already_knownEra zaten hatırladığı bir şeyi sormaz.
already_proposedEra aynı şeyi, yanıtlanana kadar yalnızca bir kez sorar.
rejected_beforeEra, sahibin hayır dediği bir şeyi ya da hep reddettiği türden şeyleri yeniden sormaz.
skill_incompleteBir becerinin küçük harf ve tireli bir adı, tek satırlık bir amacı ve adımları olur.
skill_not_foundGüncellenecek beceri burada bulunmalı.
brain_not_foundAdı 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/computer_machines/actions/provision_computer
API anahtarı ya da OAuth token · ai:handle
  • Asıl adres: POST /api/v1/actions/ai.provision_computer

Girdi

AlanTürZorunluAçıklama
namestringAd · en çok 80
providerstringSağlayıcı · en çok 40

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
already_has_computerKişi başına tek bulut bilgisayar olabilir; zaten bir tane var.
computer_access_requiredBir 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_upKiş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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/brain_insights/actions/record_brain_insight
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.record_brain_insight

Girdi

AlanTürZorunluAçıklama
rolestringİçin · sales · marketing · finance · operations · support · management · general · en çok 20
titlestringevetBaşlık · en çok 200
bodystringAyrıntılar · en çok 4000
severitystring (enum)Tür · İzin verilen değerler: info, opportunity, warning
brainIduuidBeyin
sourcesobject / arrayKaynaklar
reasoningstringNeden · en çok 2000
suggestedActionobject / arrayÖnerilen sonraki adım
generatedByobject / arrayYapan
dedupeKeystringAynı içgörü anahtarı · en çok 200
originstring (enum)Fark eden · İzin verilen değerler: learning, outcome, era, person
kindstringİçgörü türü · en çok 64

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe 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_foundBelirtilen beyin bulunamadı.
not_your_brainBaşkasının kişisel beyni yalnızca sahibine aittir.
invalid_sourcesHer kaynak nereden geldiğini söyleyen bir nesnedir.
already_notedBu 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.record_code_session
API anahtarı ya da OAuth token · ai:handle

Girdi

AlanTürZorunluAçıklama
iduuidevetOturum · kimliği: code_session
turnStatestringDurum · en çok 20
currentJobIdstringİş · en çok 80
providerSessionIdstringDevam noktası · en çok 200
harnessstringMotor · en çok 20
deviceIdstringBilgisayar · en çok 80
lastPromptstringSon istek · en çok 4000
lastSummarystringSon özet · en çok 8000
filesobject / arrayDeğişen dosyalar
diffobject / arrayDeğişiklik özeti
testsobject / arrayTest sonucu
addTurnbooleanBir tur bitti
pushApprovedbooleanGönderim onaylandı
pushPendingbooleanGönderim onay bekler

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundOturum senin olmalı.
invalid_stateYalnızca bilinen durumlar; dosyalar liste olarak.
unknown_harnessKod 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.record_computer_file
API anahtarı ya da OAuth token · ai:handle

Girdi

AlanTürZorunluAçıklama
iduuidevetOturum · kimliği: computer_session
namestringevetAd · en çok 200
mimestringTür · en çok 100
contentstringevetİçerik (base64) · en çok 14000000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundOturum bu çalışma alanında bulunamadı.
too_largeBir 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)"}'
Yanıt
{
  "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)"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.record_computer_frame
API anahtarı ya da OAuth token · ai:handle

Girdi

AlanTürZorunluAçıklama
iduuidevetOturum · kimliği: computer_session
imagestringevetGörsel (base64) · en çok 3000000
mimestringTür · en çok 40
widthnumberGenişlik · en az 1
heightnumberYükseklik · en az 1

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundOturum bu çalışma alanında bulunamadı.
invalid_frameKare, 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)"}'
Yanıt
{
  "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)"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/computer_machines/{id}/actions/record_computer_machine
API anahtarı ya da OAuth token · ai:handle
  • Asıl adres: POST /api/v1/actions/ai.record_computer_machine

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Bilgisayar · kimliği: computer_machine
statestringevetDurum · en çok 20
externalIdstringSağlayıcı kimliği · en çok 200
viewerSecretRefstringİzleyici gizli anahtarı · en çok 200
viewerUrlstringİzleyici adresi · en çok 2000
errorstringHata · en çok 500
addSecondsnumberKullanılan saniye · en az 0
metadataobject / arrayAyrıntılar

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
no_computerMakine bulunamadı.
invalid_stateYalnı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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.record_computer_progress
API anahtarı ya da OAuth token · ai:handle

Girdi

AlanTürZorunluAçıklama
iduuidevetOturum · kimliği: computer_session
workerstringevetSüreç · en çok 200
statusstringDurum · en çok 40
activitystringAktivite · en çok 300
providerstringSağlayıcı · en çok 60
stepCountnumberAdımlar · en az 0
costUsdnumberMaliyet · en az 0
currentUrlstringSayfa · en çok 2000
approvalobject / arrayOnay
clearApprovalbooleanOnayı kaldır
resultstringSonuç · en çok 20000
successbooleanBaşarılı
eventsobject / arrayEtkinlikler

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundOturum bu çalışma alanında bulunamadı.
not_your_sessionBu oturumun ilerlemesini yalnızca oturumu üstlenen çalışan bildirebilir.
already_stoppedBitmiş bir oturuma ilerleme eklenemez.
invalid_eventsZaman ç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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/decide_decisions/actions/record_decide_outcome
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.record_decide_outcome

Girdi

AlanTürZorunluAçıklama
decisionIduuidevetKarar
outcomestring (enum)evetKarar · İzin verilen değerler: confirmed, corrected
correctedAnswerobject / arrayDoğrusu neydi
notestringNot · en çok 500
fromstring (enum)Karar veren · İzin verilen değerler: person, workflow, era

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
decision_not_foundBu karar bu çalışma alanında bulunamadı.
bad_correctionDüzeltme evet ya da hayır, seçeneklerden biri ya da seviyelerden biri olmalı.
same_answerDü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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_providers/{id}/actions/record_plan_limits
API anahtarı ya da OAuth token · ai:read
  • Asıl adres: POST /api/v1/actions/ai.record_plan_limits

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Abonelik · kimliği: ai_provider
limitsobject / arrayevetPlan sınırları

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundBu abonelik bu çalışma alanında bağlı değil.
not_ownerSınırlarını yalnızca sahibinin bilgisayarı bildirir.
bad_plan_limitsPlan 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":{}}'
Yanıt
{
  "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":{}}'
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_providers/{id}/actions/record_provider_check
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.record_provider_check

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Sağlayıcı · kimliği: ai_provider
okbooleanevetYanıtlandı
errorstringHata · en çok 2000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundSağ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}'
Yanıt
{
  "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
tools/call
{
  "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

Era’nın kendi çalıştırdığı bir işlem. Başvuru eksiksiz olsun diye listelenir; API anahtarı ya da token ile istek reddedilir (403 machine_only).
POSThttps://app.getera.io/api/v1/ai_providers/{id}/actions/record_provider_health
API anahtarı ya da OAuth token · ai:handle
  • Asıl adres: POST /api/v1/actions/ai.record_provider_health

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Sağlayıcı · kimliği: ai_provider
okbooleanevetYanıtlandı
errorstringHata · en çok 2000
latencyMsnumberGecikme (ms) · en az 0

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundSağ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

Era’nın kendi çalıştırdığı bir işlem. Başvuru eksiksiz olsun diye listelenir; API anahtarı ya da token ile istek reddedilir (403 machine_only).
POSThttps://app.getera.io/api/v1/ai_skill_runs/actions/record_skill_run
API anahtarı ya da OAuth token · ai:read
  • Asıl adres: POST /api/v1/actions/ai.record_skill_run

Girdi

AlanTürZorunluAçıklama
skillIdstringevetBeceri · en çok 64
skillNamestringAd · en çok 200
versionIduuidSürüm · kimliği: ai_skill_version
modestring (enum)evetÇalışma biçimi · İzin verilen değerler: load, exec, eval, compiled
okbooleanevetBaşarılı
durationMsnumberSüre (ms) · en az 0
costUsdnumberMaliyet (USD) · en az 0
errorstringHata · 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

POSThttps://app.getera.io/api/v1/ai_providers/{id}/actions/record_subscription_state
API anahtarı ya da OAuth token · ai:read
  • Asıl adres: POST /api/v1/actions/ai.record_subscription_state

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Abonelik · kimliği: ai_provider
statusstring (enum)evetDurum · İzin verilen değerler: unchecked, healthy, failing, connecting, limited, relogin, offline, not_eligible
detailstringAyrıntı · en çok 2000
resetsAtstringSınırın sıfırlanma zamanı · en çok 40
accountLabelstringHesap · en çok 160
usedbooleanKullanıldı

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundBu abonelik bu çalışma alanında bağlı değil.
not_ownerAboneliğ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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_template_installs/actions/record_template_install
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.record_template_install

Girdi

AlanTürZorunluAçıklama
templateIdstringevetŞablon · en çok 120
templateNamestringevetŞablon adı · en çok 200
kindstring (enum)evetTür · İzin verilen değerler: agent, skill, workflow
instanceIdstringevetKurulu adı · en çok 120
requiredAppsobject / arrayKullandığı 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_conversations/{id}/actions/record_turn
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.record_turn

Girdi

AlanTürZorunluAçıklama
conversationIduuidevetDoldurulduğu yer: adresteki {id} · Konuşma · kimliği: ai_conversation
rolestring (enum)evetNereden · İzin verilen değerler: user, assistant, system
contentstringMetin · en çok 200000
toolCallsobject / arrayYaptığı ç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:

KodNe zaman reddedilir
not_foundKonuşma bu çalışma alanında bulunmalı.
bad_tool_callsAraç ç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"}'
Yanıt
{
  "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"
tools/call
{
  "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

Era’nın kendi çalıştırdığı bir işlem. Başvuru eksiksiz olsun diye listelenir; API anahtarı ya da token ile istek reddedilir (403 machine_only).
POSThttps://app.getera.io/api/v1/ai_usages/actions/record_usage
API anahtarı ya da OAuth token · ai:read
  • Asıl adres: POST /api/v1/actions/ai.record_usage

Girdi

AlanTürZorunluAçıklama
sourcestring (enum)evetKaynak · İzin verilen değerler: agent_run, console, era, skill_eval
refstringReferans · en çok 120
agentIduuidAjan · kimliği: ai_agent
runIduuidÇalıştır · kimliği: ai_run
conversationIduuidKonuşma · kimliği: ai_conversation
modelstringModel · en çok 120
modelCallsnumberModel çağrıları · en az 0
promptTokensnumberİstem tokenları · en az 0
completionTokensnumberYanıt tokenları · en az 0
cacheReadTokensnumberÖnbellekten okunan token · en az 0
cacheWriteTokensnumberÖnbelleğe yazılan token · en az 0
toolCallsnumberAraç çağrıları · en az 0
toolResultCharsnumberAraç sonucu karakter sayısı · en az 0
costUsdnumberMaliyet (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

POSThttps://app.getera.io/api/v1/brain_fact_reviews/actions/refile_brain_fact
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.refile_brain_fact

Girdi

AlanTürZorunluAçıklama
memoryIduuidevetEra ne öğrendi
kindstringKategori · fact · preference · rule · procedure · en çok 20
audiencestringİçin · person · workspace · module · en çok 20
moduleCodestringModül · en çok 64
expiresAtdate-timeBitiş
noExpirybooleanBitiş tarihi yok

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
fact_not_foundBu bilgi bulunamadı ya da başka birine ait özel bir bilgi.
not_currentYalnızca Era’nın şu anda bildiği bilgiler değiştirilebilir.
bad_memory_kindHafıza kaydı bir bilgi, tercih, kural ya da yöntem olmalı.
module_requiredTek bir modüle ait hatıra, var olan bir modülü belirtmeli.
already_expiredBitiş tarihi ileride olmalı.
unchangedYeniden 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

Era’nın kendi çalıştırdığı bir işlem. Başvuru eksiksiz olsun diye listelenir; API anahtarı ya da token ile istek reddedilir (403 machine_only).
POSThttps://app.getera.io/api/v1/ai_tasks/{id}/actions/remind_task
API anahtarı ya da OAuth token · ai:handle
  • Asıl adres: POST /api/v1/actions/ai.remind_task

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Görev · kimliği: ai_task

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundGörev bu çalışma alanında bulunmalı.
not_dueYalnızca son tarihine bir gün kalan ya da son tarihi geçmiş açık görevler hatırlatılır.
already_remindedHer 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

POSThttps://app.getera.io/api/v1/ai_providers/{id}/actions/remove_provider
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.remove_provider

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğ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:

KodNe zaman reddedilir
not_foundSağ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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_tasks/{id}/actions/reopen_task
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.reopen_task

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Görev · kimliği: ai_task

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundGö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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/brain_erasures/actions/resolve_erasure_candidate
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.resolve_erasure_candidate

Girdi

AlanTürZorunluAçıklama
iduuidevetOlası eşleşme
decisionstring (enum)evetKarar · İzin verilen değerler: erase, dismiss

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
candidate_not_foundBu olası eşleşme bu çalışma alanında bulunamadı.
already_resolvedBu 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.resume_computer_session
API anahtarı ya da OAuth token · ai:handle

Girdi

AlanTürZorunluAçıklama
iduuidevetOturum · kimliği: computer_session

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundOturum bu çalışma alanında bulunamadı.
not_pausedYalnı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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/brain_fact_reviews/actions/review_brain_fact
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.review_brain_fact

Girdi

AlanTürZorunluAçıklama
memoryIduuidevetEra ne öğrendi
decisionstring (enum)evetKarar · İzin verilen değerler: correct, forget, keep_private, confirm, move
correctedTextstringDoğrusu · en çok 4000
knowledgeBaseIduuidTaşı

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
fact_not_foundBu bilgi bulunamadı ya da başka birine ait özel bir bilgi.
not_currentYalnızca Era’nın şu anda bildiği bilgiler değiştirilebilir.
empty_correctionDüzeltmede doğrusunu yazmanız gerekir.
unchangedDüzeltme metni, taşıma ise bilgi alanını değiştirmeli; hiçbir şey değişmedi.
knowledge_base_not_in_brainBir 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.run_agent
API anahtarı ya da OAuth token · ai:handle

Girdi

AlanTürZorunluAçıklama
agentIduuidevetAjan · kimliği: ai_agent
promptstringNe yapılacak · en çok 20000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundAjan bu çalışma alanında bulunmalı.
agent_disabledKapalı 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/computer_folders/actions/save_computer_folder
API anahtarı ya da OAuth token · ai:handle
  • Asıl adres: POST /api/v1/actions/ai.save_computer_folder

Girdi

AlanTürZorunluAçıklama
namestringevetAd · en çok 80
pathstringevetTam yol · en çok 1000
aliasesobject / arrayDiğ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:

KodNe zaman reddedilir
computer_access_requiredBir bilgisayara yalnızca çalışma alanının sahibi ya da bilgisayar erişimi verilmiş bir üye ulaşabilir.
invalid_folderBir klasörün adı ve tam yolu olmalı.
invalid_aliasesDiğ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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/computer_policies/actions/save_computer_policy
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.save_computer_policy

Girdi

AlanTürZorunluAçıklama
allowDomainsobject / arrayYalnızca bu siteler
denyDomainsobject / arrayAsla bu siteler
denyAppsobject / arrayBu uygulamalar asla
approvalModestring (enum)Önce sor · İzin verilen değerler: risky, every_action, never
maxStepsnumberGörev başına en fazla adım · en az 1 · en çok 200
maxMinutesnumberEn uzun görev (dakika) · en az 1 · en çok 1440
monthlyCloudHoursnumberKişi başına aylık bulut saati · en az 0 · en çok 744
defaultModelstringVarsayılan model · en çok 200
providerstring (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:

KodNe zaman reddedilir
invalid_domainSiteler example.com veya *.example.com biçiminde yazılmalı.
unknown_providerSağ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":{}}'
Yanıt
{
  "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":{}}'
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/era_action_caps/actions/set_action_cap
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.set_action_cap

Girdi

AlanTürZorunluAçıklama
kindstringevetNe · en çok 80
dailyLimitnumberevetGünde kaç kez · en az 0 · en çok 1000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_cappableYalnı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}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_agents/{id}/actions/set_agent_enabled
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.set_agent_enabled

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Ajan · kimliği: ai_agent
enabledbooleanevetÇalışıyor

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundAjan bu çalışma alanında bulunmalı.
no_instructionsTalimatı 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}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/brain_insights/actions/set_brain_insight_status
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.set_brain_insight_status

Girdi

AlanTürZorunluAçıklama
iduuidevetİçgörü
statusstringevetDurum · new · seen · done · dismissed · en çok 20

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
bad_statusDurum yeni, görüldü, tamamlandı ya da kapatıldı olmalı.
insight_not_foundBu 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_budgets/actions/set_budget
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.set_budget

Girdi

AlanTürZorunluAçıklama
agentIduuidAjan · Boş = tüm çalışma alanı. · kimliği: ai_agent
dailyUsdnumber (money)Günlük üst sınır (USD) · en az 0
monthlyUsdnumber (money)Aylık üst sınır (USD) · en az 0
alertPctnumberUyarı eşiği (%) · en az 1 · en çok 100

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
unknown_agentAjan 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/era_chat_members/actions/set_chat_member
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.set_chat_member

Girdi

AlanTürZorunluAçıklama
conversationIduuidevetSohbet
userIduuidevetKişi
accessstring (enum)evetErişim · İzin verilen değerler: view, act, none
canApprovebooleanOnaylayabilir

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundSohbet bu çalışma alanında olmalı.
not_ownerSohbeti yalnızca başlatan kişi (ya da bir yönetici) paylaşabilir.
owner_is_memberSohbeti başlatan kişi ona eklenemez.
not_a_memberYalnızca çalışma alanının etkin üyeleri eklenebilir.
approve_needs_actOnaylayabilmek için işlem yapabilmek gerekir.
not_an_approverOnaylayabilmek 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"}'
Yanıt
{
  "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"
tools/call
{
  "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)

POSThttps://app.getera.io/api/v1/ai_providers/{id}/actions/set_connection_share
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.set_connection_share

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Bağlantı · kimliği: ai_provider
scopestring (enum)evetKimler kullanabilir · İzin verilen değerler: me, team, workspace
teamIduuidEkip

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundBu bağlantı burada bulunamadı.
not_ownerBunu yalnızca sahibi ya da çalışma alanı geneli bir bağlantı için yönetici yapabilir.
team_requiredBir 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_model_policies/actions/set_model_policy
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.set_model_policy

Girdi

AlanTürZorunluAçıklama
taskClassstring (enum)evetİş türü · İzin verilen değerler: default, chat, agent, classify, summarize, extract, build, research
modelstringModel · en çok 120
fallbackModelstringYedek 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_providers/actions/set_provider
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.set_provider

Girdi

AlanTürZorunluAçıklama
providerstring (enum)evetSağ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
secretRefstringKasa anahtarı · apps.store_secret’ten gelen vault:<id> · en çok 64
keyHintstringAnahtar (maskeli) · en çok 40
baseUrlstringTemel URL · en çok 300
labelstringEtiket · en çok 120
makeDefaultbooleanVarsayılan olarak kullan
personalbooleanYalnı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:

KodNe zaman reddedilir
bad_secret_refAnahtar bu çalışma alanının bir kasa sırrı olmalı.
subscription_providerBir abonelik (ChatGPT, Claude, Antigravity planı) anahtarla değil, giriş yaparak bağlanır.
base_url_requiredAzure 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_skill_releases/actions/set_skill_policy
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.set_skill_policy

Girdi

AlanTürZorunluAçıklama
skillIdstringevetBeceri · en çok 64
publishedbooleanYayımlandı
allowedIntegrationsobject / arrayÇağırabileceği uygulamalar · ["gmail", "crm"]
allowedDomainsobject / arrayErişebileceği sunucular · ["api.example.com", "*.example.org"]
secretsobject / arrayOkuyabileceği gizli anahtarlar · [{ "name": "API_KEY", "ref": "vault:<id>" }]

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
bad_policyUygulamalar, sunucular ve sır adları düzgün listeler olmalı.
bad_secret_refSı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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_skill_releases/actions/set_skill_release
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.set_skill_release

Girdi

AlanTürZorunluAçıklama
skillIdstringevetBeceri · en çok 64
pausedbooleanDuraklatıldı
sourceTemplatestringŞablon · en çok 120
sourceVersionstringŞ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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_source_choices/actions/set_source_choice
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.set_source_choice

Girdi

AlanTürZorunluAçıklama
subjectTypestring (enum)evetİçin · İzin verilen değerler: chat, agent, workflow, brain, voice_agent, creative, computer
subjectIdstringevetHangisi · en çok 120
modestring (enum)Yapay zekâ kaynağı · İzin verilen değerler: auto, byok, byos, connection
connectionIduuidBağlantı · kimliği: ai_provider
modelstringModel · en çok 160
allowSharedbooleanBir çalışma arkadaşının paylaştığı bağlantı
allowByokbooleanŞirket anahtarları
whenOfflinestring (enum)Bilgisayar kapalıysa · İzin verilen değerler: wait, fallback

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
bad_subjectBir Era, iş akışı, beyin, sesli ajan, Creative Studio, bilgisayar ya da sohbet seçilmeli.
not_ownerBir kişinin sohbet varsayılanını yalnızca o kişi belirleyebilir.
connection_not_usableYalnı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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_providers/{id}/actions/set_subscription_use
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.set_subscription_use

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Abonelik · kimliği: ai_provider
chatbooleanEra sohbeti
agentsbooleanEra’larım
workflowsbooleanİş akışları
computerbooleanBilgisayar
brainbooleanBeyin
embeddingsbooleanHafızada arama
creativebooleanKreatif stüdyo
voicebooleanSes

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundBu abonelik bu çalışma alanında bağlı değil.
not_ownerNerede 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}'
Yanıt
{
  "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
tools/call
{
  "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)

POSThttps://app.getera.io/api/v1/era_chat_shares/actions/share_chat
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.share_chat

Girdi

AlanTürZorunluAçıklama
conversationIduuidevetSohbet
visibilitystring (enum)Kim görür · İzin verilen değerler: private, workspace
linkstring (enum)Salt okunur bağlantı · İzin verilen değerler: keep, new, off
linkExpiresAtdate-timeBağlantının bitişi

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundSohbet bu çalışma alanında olmalı.
not_ownerSohbeti yalnızca başlatan kişi (ya da bir yönetici) paylaşabilir.
bad_expiryBağ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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_skill_versions/actions/snapshot_skill
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.snapshot_skill

Girdi

AlanTürZorunluAçıklama
skillIdstringevetBeceri · en çok 64
definitionobject / arrayevetTanım · { kind, content, code, language, inputSchema, enrichOp, enrichConfig, description }
notestringNot · en çok 2000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
bad_definitionTanı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":{}}'
Yanıt
{
  "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":{}}'
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/computer_machines/actions/start_computer
API anahtarı ya da OAuth token · ai:handle
  • 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:

KodNe zaman reddedilir
no_computerÖnce bir bulut bilgisayarınız olmalı.
already_runningZaten açık.
computer_access_requiredBir bilgisayara yalnızca çalışma alanının sahibi ya da bilgisayar erişimi verilmiş bir üye ulaşabilir.
hours_used_upKiş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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.start_computer_session
API anahtarı ya da OAuth token · ai:handle

Girdi

AlanTürZorunluAçıklama
titlestringAd · en çok 200
objectivestringNe yapmalı? · en çok 4000
kindstring (enum)Tür · İzin verilen değerler: browser, desktop
targetstring (enum)Koşul · İzin verilen değerler: server, cloud, device
startUrlstringBaşlangıç sayfası · en çok 2000
modelstringModel · en çok 200
maxStepsnumberEn fazla adım · en az 1 · en çok 200
deviceIdstringCihaz · en çok 100
agentIduuidAjan
sourcestring (enum)İsteyen · İzin verilen değerler: person, era, workflow, agent
sourceRefstringKaynak referansı · en çok 300

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
empty_titleGörevin net bir amacı olmalı.
blocked_start_urlBaşlangıç sayfasına çalışma alanının bilgisayar kuralları izin vermiyor.
no_cloud_computerBulutta çalışacak bir görev için kişinin bulut bilgisayarı olmalı.
no_deviceKendi bilgisayarınızda çalışacak bir görev için cihaz seçilmeli.
too_many_runningBir çalışma alanında aynı anda en fazla üç bilgisayar görevi çalışabilir.
computer_access_requiredBir 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_conversations/actions/start_conversation
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.start_conversation

Girdi

AlanTürZorunluAçıklama
titlestringBaşlık · en çok 200
agentIduuidAjan · kimliği: ai_agent

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
unknown_agentAjan 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.steer_computer_session
API anahtarı ya da OAuth token · ai:handle

Girdi

AlanTürZorunluAçıklama
iduuidevetOturum · kimliği: computer_session
textstringevetMesaj · en çok 4000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundOturum bu çalışma alanında bulunamadı.
not_runningYalnızca hâlâ çalışan bir göreve yeni talimat verilebilir.
empty_messageMesaj 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.stop_all_computer_sessions
API anahtarı ya da OAuth token · ai:handle

Girdi

Bu işlem girdi almaz.

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
nothing_runningDurdurulacak ç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 '{}'
Yanıt
{
  "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
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/actions/ai.stop_computer_session
API anahtarı ya da OAuth token · ai:handle

Girdi

AlanTürZorunluAçıklama
iduuidevetOturum · kimliği: computer_session

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundOturum bu çalışma alanında bulunamadı.
already_stoppedBu 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/brain_bindings/actions/unbind_brain
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.unbind_brain

Girdi

AlanTürZorunluAçıklama
subjectTypestringevetİçin · agent · workflow · voice_agent · era_chat · meeting · team · role · en çok 20
subjectIdstringevetHangisi · en çok 120
brainIduuidevetBeyin

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
bad_subjectBir Era, iş akışı, sesli ajan, toplantı ya da Era sohbeti seçilmeli.
brain_not_foundBu beyin bu çalışma alanında bulunamadı.
not_boundBeyin 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_skill_releases/actions/uninstall_skill
API anahtarı ya da OAuth token · ai:delete
  • Asıl adres: POST /api/v1/actions/ai.uninstall_skill

Girdi

AlanTürZorunluAçıklama
skillIdstringevetBeceri · 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_agents/{id}/actions/update_agent
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.update_agent

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Ajan · kimliği: ai_agent
namestringAd · en çok 160
instructionsstringTalimatlar · en çok 20000
descriptionstringAçıklama · en çok 2000
modelstringModel · en çok 120
allowedModulesobject / arrayYalnı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.
wakesOnobject / 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.
maxStepsnumberÇ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:

KodNe zaman reddedilir
not_foundAjan bu çalışma alanında bulunmalı.
empty_nameAjanın bir adı olmalı.
bad_modulesYalnızca bu platformun kayıtlı modülleriyle sınırlandırılabilir.
bad_triggerUyandı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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/brains/actions/update_brain
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.update_brain

Girdi

AlanTürZorunluAçıklama
iduuidevetBeyin
namestringAd · en çok 80
descriptionstringNe için · en çok 500
shortTtlHoursnumberKısa süreli hafıza süresi (saat) · en az 1 · en çok 720
embeddingSpacestring (enum)Anlamı nerede çıkarır · İzin verilen değerler: bge-m3-1024, e5-small-384
learnFromobject / arrayÖğrendiği kaynaklar
rememberThresholdnumberHatırlamadan önce gereken güven · en az 0 · en çok 1
askBeforeRememberingbooleanSohbetlerde duyduklarını hatırlamadan önce sor

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
brain_not_foundBu beyin bu çalışma alanında bulunamadı.
not_your_brainBaşkasının kişisel beynini yalnızca sahibi değiştirebilir.
archivedArşivlenmiş bir beyin değiştirilemez.
empty_nameBeynin bir adı olmalı.
name_takenBu adda bir beyin bu çalışma alanında zaten var.
space_lockedBeyin 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/knowledge_bases/actions/update_knowledge_base
API anahtarı ya da OAuth token · ai:manage
  • Asıl adres: POST /api/v1/actions/ai.update_knowledge_base

Girdi

AlanTürZorunluAçıklama
iduuidevetBoşluk
namestringAd · en çok 80
descriptionstringBuraya ne girer · en çok 500
makeDefaultbooleanAna alan yap

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
knowledge_base_not_foundBu bilgi alanı bu çalışma alanında bulunamadı.
archivedArşivlenmiş bir bilgi alanı değiştirilemez.
empty_nameBilgi alanının bir adı olmalı.
name_takenBu 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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/ai_tasks/{id}/actions/update_task
API anahtarı ya da OAuth token · ai:write
  • Asıl adres: POST /api/v1/actions/ai.update_task

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Görev · kimliği: ai_task
titlestringBaşlık · en çok 300
descriptionstringAyrıntılar · en çok 10000
listNamestringListe · en çok 80
prioritystring (enum)Öncelik · İzin verilen değerler: low, normal, high, urgent
dueAtdate-timeSon tarih
recurrencestring (enum)Tekrar · İzin verilen değerler: none, daily, weekly, monthly
statusstring (enum)Durum · İzin verilen değerler: open, in_progress, cancelled

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
not_foundGörev bu çalışma alanında bulunmalı.
empty_titleGö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"}'
Yanıt
{
  "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"
tools/call
{
  "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

POSThttps://app.getera.io/api/v1/era_action_caps/actions/use_action_cap
API anahtarı ya da OAuth token · ai:read
  • Asıl adres: POST /api/v1/actions/ai.use_action_cap

Girdi

AlanTürZorunluAçıklama
kindstringevetNe · en çok 80
opstring (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"}'
Yanıt
{
  "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"
tools/call
{
  "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_agents
  • GET /api/v1/ai_agents/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
namestring · text
descriptionstring · textevet
instructionsstring · text
modelstring · text
allowed_modulesstring[] · text[]
wakes_onstring[] · text[]
max_stepsinteger · int4
is_enabledboolean · bool
acts_as_user_idstring (uuid) · uuidapp_user
engine_agent_idstring · textevet
last_run_atstring (date-time) · timestamptzevet
run_countinteger · int4
failure_countinteger · int4
created_atstring (date-time) · timestamptz
updated_atstring (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_budgets
  • GET /api/v1/ai_budgets/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
agent_idstring (uuid) · uuidevetai_agent
daily_usdstring (decimal) · numericevet
monthly_usdstring (decimal) · numericevet
alert_pctinteger · int4
last_alert_keystring · textevet
updated_atstring (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_conversations
  • GET /api/v1/ai_conversations/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
agent_idstring (uuid) · uuidevetai_agent
created_bystring (uuid) · uuidapp_user
titlestring · textevet
message_countinteger · int4
last_message_atstring (date-time) · timestamptzevet
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz
deleted_atstring (date-time) · timestamptzevet

Birincil anahtar: id

AiMessage

Tablo ai_message · Kaynak ai_messages

  • GET /api/v1/ai_messages
  • GET /api/v1/ai_messages/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
conversation_idstring (uuid) · uuidai_conversation
positioninteger · int4
rolestring · textuser, assistant, system
contentstring · text
tool_callsobject · jsonb
created_atstring (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_policies
  • GET /api/v1/ai_model_policies/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
task_classstring · textdefault, chat, agent, classify, summarize, extract, build, research
modelstring · text
fallback_modelstring · textevet
updated_atstring (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_providers
  • GET /api/v1/ai_providers/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
providerstring · text
labelstring · textevet
key_hintstring · textevet
base_urlstring · textevet
is_defaultboolean · bool
statusstring · textunchecked, healthy, failing, connecting, limited, relogin, offline, not_eligible
last_checked_atstring (date-time) · timestamptzevet
last_errorstring · textevet
created_bystring (uuid) · uuidevetapp_user
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz
key_set_atstring (date-time) · timestamptzevet
consecutive_failuresinteger · int4
last_latency_msinteger · int4evet
rotation_reminded_atstring (date-time) · timestamptzevet
connection_kindstring · textapi_key, subscription
owner_user_idstring (uuid) · uuidevetapp_user
executionstring · textremote, local_device, cloud_computer
device_idstring · textevet
capabilitiesstring[] · text[]
account_labelstring · textevet
limit_resets_atstring (date-time) · timestamptzevet
use_forobject · jsonb
last_used_atstring (date-time) · timestamptzevet
metaobject · jsonb
share_scopestring · text
share_team_idstring (uuid) · uuidevetteam
plan_limitsobject · jsonbevet

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_runs
  • GET /api/v1/ai_runs/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
agent_idstring (uuid) · uuidai_agent
event_idstring (int64) · int8evet
event_namestring · textevet
conversation_idstring (uuid) · uuidevetai_conversation
statusstring · textrunning, succeeded, failed, skipped, refused
started_atstring (date-time) · timestamptz
finished_atstring (date-time) · timestamptzevet
stepsobject · jsonb
errorstring · textevet
modelstring · textevet
model_callsinteger · int4
cost_usdstring (decimal) · numeric
repairsinteger · int4
answerstring · textevet
touched_recordsobject · jsonb
approval_idsstring[] · uuid[]

Birincil anahtar: id

AiSkillRelease

Tablo ai_skill_release · Kaynak ai_skill_releases

  • GET /api/v1/ai_skill_releases
  • GET /api/v1/ai_skill_releases/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
skill_idstring · text
pausedboolean · bool
source_templatestring · textevet
source_versionstring · textevet
installed_atstring (date-time) · timestamptzevet
updated_atstring (date-time) · timestamptz
publishedboolean · bool
allowed_integrationsstring[] · text[]
allowed_domainsstring[] · text[]

Birincil anahtar: id

Tekil: workspace_id, skill_id

AiSkillRun

Tablo ai_skill_run · Kaynak ai_skill_runs

  • GET /api/v1/ai_skill_runs
  • GET /api/v1/ai_skill_runs/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
skill_idstring · text
skill_namestring · textevet
version_idstring (uuid) · uuidevetai_skill_version
modestring · textload, exec, eval, compiled
statusstring · textok, error
duration_msinteger · int4evet
cost_usdstring (decimal) · numeric
errorstring · textevet
created_atstring (date-time) · timestamptz

Birincil anahtar: id

AiSkillVersion

Tablo ai_skill_version · Kaynak ai_skill_versions

  • GET /api/v1/ai_skill_versions
  • GET /api/v1/ai_skill_versions/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
skill_idstring · text
versioninteger · int4
definitionobject · jsonb
notestring · textevet
statusstring · textdraft, active, retired
eval_scorestring (decimal) · numericevet
eval_passedinteger · int4evet
eval_totalinteger · int4evet
eval_notesstring · textevet
evaluated_atstring (date-time) · timestamptzevet
was_activeboolean · bool
created_bystring (uuid) · uuidevetapp_user
created_atstring (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_choices
  • GET /api/v1/ai_source_choices/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
subject_typestring · textchat, agent, workflow, brain, voice_agent, creative, computer
subject_idstring · text
connection_idstring (uuid) · uuidevetai_provider
modelstring · textevet
allow_sharedboolean · bool
allow_byokboolean · bool
when_offlinestring · textwait, fallback
created_bystring (uuid) · uuidevetapp_user
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz
source_modestring · textauto, byok, byos, connection

Birincil anahtar: id

Tekil: workspace_id, subject_type, subject_id

AiTask

Tablo ai_task · Kaynak ai_tasks

  • GET /api/v1/ai_tasks
  • GET /api/v1/ai_tasks/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
titlestring · text
descriptionstring · textevet
list_namestring · text
statusstring · textopen, in_progress, done, cancelled
prioritystring · textlow, normal, high, urgent
due_atstring (date-time) · timestamptzevet
assignee_user_idstring (uuid) · uuidevetapp_user
assignee_agent_idstring (uuid) · uuidevetai_agent
recurrencestring · textnone, daily, weekly, monthly
recurrence_ofstring (uuid) · uuidevetai_task
handoffsobject · jsonb
created_bystring (uuid) · uuidapp_user
completed_atstring (date-time) · timestamptzevet
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz
deleted_atstring (date-time) · timestamptzevet
record_typestring · textevet
record_idstring (uuid) · uuidevet
due_reminded_atstring (date-time) · timestamptzevet
overdue_reminded_atstring (date-time) · timestamptzevet

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_installs
  • GET /api/v1/ai_template_installs/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
template_idstring · text
template_namestring · text
kindstring · textagent, skill, workflow
instance_idstring · text
required_appsstring[] · text[]
installed_bystring (uuid) · uuidevetapp_user
created_atstring (date-time) · timestamptz

Birincil anahtar: id

Tekil: workspace_id, kind, instance_id

AiUsage

Tablo ai_usage · Kaynak ai_usages

  • GET /api/v1/ai_usages
  • GET /api/v1/ai_usages/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
agent_idstring (uuid) · uuidevetai_agent
run_idstring (uuid) · uuidevetai_run
conversation_idstring (uuid) · uuidevetai_conversation
sourcestring · textagent_run, console, era, skill_eval, router
refstring · textevet
modelstring · textevet
model_callsinteger · int4
tool_callsinteger · int4
tool_result_charsinteger · int4
cost_usdstring (decimal) · numeric
created_atstring (date-time) · timestamptz
surfacestring · textevet
capabilitystring · textevet
source_kindstring · textevet
providerstring · textevet
unitsstring (decimal) · numericevet
unitstring · textevet
user_idstring (uuid) · uuidevet
connection_idstring (uuid) · uuidevetai_provider
latency_msinteger · int4evet
attemptsobject · jsonbevet
gateway_request_idstring · textevet

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_bindings
  • GET /api/v1/brain_bindings/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
subject_typestring · textagent, workflow, voice_agent, era_chat, meeting, team, role
subject_idstring · text
brain_idstring (uuid) · uuidbrain
knowledge_base_idsstring[] · uuid[]
accessstring · textread, read_write
created_bystring (uuid) · uuidevetapp_user
created_atstring (date-time) · timestamptz
updated_atstring (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_erasures
  • GET /api/v1/brain_erasures/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
kindstring · textfact, person
subject_labelstring · text
subject_refstring · textevet
privacy_request_idstring (uuid) · uuidevet
reasonstring · textevet
requested_onstring (date) · dateevet
countsobject · jsonb
erased_bystring (uuid) · uuidevetapp_user
created_atstring (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_reviews
  • GET /api/v1/brain_fact_reviews/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
memory_idstring (uuid) · uuid
decisionstring · textcorrect, forget, keep_private, confirm, move, refile
corrected_textstring · textevet
applied_memory_idstring (uuid) · uuidevet
reviewed_bystring (uuid) · uuidevetapp_user
created_atstring (date-time) · timestamptz
target_knowledge_base_idstring (uuid) · uuidevetknowledge_base
new_kindstring · textevet
new_audiencestring · textevet
new_module_codestring · textevet
new_expires_atstring (date-time) · timestamptzevet
clear_expiryboolean · 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_insights
  • GET /api/v1/brain_insights/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
brain_idstring (uuid) · uuidevetbrain
rolestring · textsales, marketing, finance, operations, support, management, general
titlestring · text
bodystring · text
severitystring · textinfo, opportunity, warning
sourcesobject · jsonb
reasoningstring · textevet
suggested_actionobject · jsonbevet
generated_byobject · jsonb
statusstring · textnew, seen, done, dismissed
dedupe_keystring · textevet
status_bystring (uuid) · uuidevetapp_user
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz
originstring · textlearning, outcome, era, person
kindstring · textevet

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/brains
  • GET /api/v1/brains/{id}
  • POST /api/v1/brains → ai.create_brain
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
namestring · text
descriptionstring · textevet
kindstring · textcompany, personal, team, era, voice, brand, custom
scopestring · textworkspace, team, era, voice_agent, person
scope_refstring (uuid) · uuidevet
memorystring · textlong, short
short_ttl_hoursinteger · int4evet
embedding_spacestring · textbge-m3-1024, e5-small-384
learn_fromobject · jsonb
remember_thresholdnumber · float4
is_defaultboolean · bool
archived_atstring (date-time) · timestamptzevet
created_bystring (uuid) · uuidevetapp_user
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz
ask_before_rememberingboolean · 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_folders
  • GET /api/v1/computer_folders/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
owner_user_idstring (uuid) · uuidapp_user
namestring · text
aliasesstring[] · text[]
pathstring · text
visibilitystring · textprivate, everyone
last_used_atstring (date-time) · timestamptzevet
created_atstring (date-time) · timestamptz
updated_atstring (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_machines
  • GET /api/v1/computer_machines/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
owner_user_idstring (uuid) · uuidapp_user
namestring · text
providerstring · text
external_idstring · textevet
statestring · textrequested, provisioning, running, pausing, paused, failed, deleting, deleted
resolution_winteger · int4
resolution_hinteger · int4
viewer_urlstring · textevet
last_errorstring · textevet
seconds_usedstring (int64) · int8
month_seconds_usedstring (int64) · int8
usage_monthstring · textevet
started_atstring (date-time) · timestamptzevet
paused_atstring (date-time) · timestamptzevet
deleted_atstring (date-time) · timestamptzevet
metadataobject · jsonb
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz

Birincil anahtar: id

ComputerPolicy

Tablo computer_policy · Kaynak computer_policies

  • GET /api/v1/computer_policies
  • GET /api/v1/computer_policies/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
workspace_idstring (uuid) · uuidworkspace
organization_idstring (uuid) · uuidorganization
allow_domainsstring[] · text[]
deny_domainsstring[] · text[]
deny_appsstring[] · text[]
approval_modestring · textrisky, every_action, never
max_stepsinteger · int4
max_minutesinteger · int4
monthly_cloud_hoursstring (decimal) · numeric
default_modelstring · textevet
updated_bystring (uuid) · uuidevetapp_user
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz
providerstring · textevet

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_decisions
  • GET /api/v1/decide_decisions/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
question_keystring · text
questionobject · jsonb
focusobject · jsonbevet
answerobject · jsonb
confidencenumber · float4evet
providerstring · textevet
modelstring · textevet
needs_reviewboolean · bool
refstring · textevet
outcomestring · textevet
corrected_answerobject · jsonbevet
outcome_sourcestring · textevet
outcome_notestring · textevet
outcome_bystring (uuid) · uuidevetapp_user
outcome_atstring (date-time) · timestamptzevet
created_atstring (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_caps
  • GET /api/v1/era_action_caps/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
user_idstring (uuid) · uuidapp_user
kindstring · text
daily_limitinteger · int4
usedinteger · int4
used_onstring (date) · dateevet
created_atstring (date-time) · timestamptz
updated_atstring (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_members
  • GET /api/v1/era_chat_members/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
conversation_idstring (uuid) · uuidconversations
user_idstring (uuid) · uuidapp_user
accessstring · textview, act
can_approveboolean · bool
added_bystring (uuid) · uuidevetapp_user
last_seen_atstring (date-time) · timestamptzevet
created_atstring (date-time) · timestamptz
updated_atstring (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_seens
  • GET /api/v1/era_chat_seens/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
conversation_idstring (uuid) · uuidconversations
user_idstring (uuid) · uuidapp_user
seen_atstring (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_shares
  • GET /api/v1/era_chat_shares/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
conversation_idstring (uuid) · uuidconversations
created_bystring (uuid) · uuidapp_user
visibilitystring · textprivate, workspace
link_expires_atstring (date-time) · timestamptzevet
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz

Birincil anahtar: id

Tekil: conversation_id · link_token_hash

EraLearning

Tablo era_learning · Kaynak era_learnings

  • GET /api/v1/era_learnings
  • GET /api/v1/era_learnings/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
kindstring · textmemory, skill
statusstring · textproposed, approved, rejected
proposed_bystring · textera, learning, skills
for_userstring (uuid) · uuidevetapp_user
statementstring · textevet
memory_kindstring · textevet
audiencestring · textperson, workspace, module
module_codestring · textevet
expires_atstring (date-time) · timestamptzevet
brain_idstring (uuid) · uuidevetbrain
knowledge_base_idstring (uuid) · uuidevetknowledge_base
confidencenumber · float4evet
skill_idstring · textevet
skill_namestring · textevet
skill_descriptionstring · textevet
skill_contentstring · textevet
reasonstring · textevet
sourceobject · jsonb
evidence_countinteger · int4
dedupe_keystring · textevet
decided_bystring (uuid) · uuidevetapp_user
decided_atstring (date-time) · timestamptzevet
result_refstring · textevet
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz
scorenumber · float4evet
lowered_byobject · 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_bases
  • GET /api/v1/knowledge_bases/{id}
  • POST /api/v1/knowledge_bases → ai.create_knowledge_base
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
brain_idstring (uuid) · uuidbrain
namestring · text
kindstring · textcompany, product, sales, marketing, customers, projects, personal, voice, industry, meetings, brand, finance, support, custom
descriptionstring · textevet
is_defaultboolean · bool
archived_atstring (date-time) · timestamptzevet
created_bystring (uuid) · uuidevetapp_user
created_atstring (date-time) · timestamptz
updated_atstring (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.

OlayNe olurTaşıdığı alanlar
ai.agent_createdBir ajan oluşturuldu.id, name
ai.agent_deletedBir ajan kaldırıldı.id, name
ai.agent_disabledBir ajan dinlemeyi bıraktı.id, name
ai.agent_enabledBir ajan dinlemeye başladı.id, name
ai.agent_linkedBir ajan bir asistana bağlandı (ya da bağlantısı kaldırıldı).id, engineAgentId
ai.agent_requestedBiri ya da bir şey bir ajandan çalışmasını istedi.id, prompt
ai.agent_updatedBir ajanın talimatı, modeli ya da tetikleyicileri değişti.id, name
ai.approval_escalatedBir onay isteği çok uzun süredir bekliyor.approvalId, intent, tool, ageHours
ai.brain_archivedBir beyin arşivlendi.id, name
ai.brain_boundBir Era, iş akışı ya da sesli asistan artık bir beyni kullanıyor.id, subjectType, subjectId, brainId, access
ai.brain_createdBir beyin oluşturuldu.id, name, kind
ai.brain_fact_erasedEra’nın öğrendiği bir şey kalıcı olarak silindi.id, facts
ai.brain_fact_reviewedBiri Era’nın öğrendiği bir şeyi düzeltti, unutturdu, gizledi ya da onayladı.id, memoryId, decision, appliedMemoryId
ai.brain_insight_createdEra bir rol için bir şey fark etti.id, role, title, severity
ai.brain_insight_updatedBir içgörü görüldü, yapıldı ya da kapatıldı.id, status
ai.brain_person_erasedEra’nın bir kişi hakkında öğrendiği her şey kalıcı olarak silindi.id, facts, entities
ai.brain_unboundBir Era, iş akışı ya da sesli asistan bir beyni kullanmayı bıraktı.subjectType, subjectId, brainId
ai.brain_updatedBir beynin adı, hafızası ya da neyden öğrendiği değişti.id, name
ai.budget_alertYapay 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_updatedBir yapay zekâ bütçesi belirlendi ya da kaldırıldı.id, agentId
ai.chat_sharedBir sohbet bir kişiyle paylaşıldı (ya da erişimi değişti).conversationId, title, access, canApprove, recipientUserId
ai.chat_visibility_changedBir 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_closedCanlı kodlama oturumu kapatıldı.id
ai.code_session_openedKişinin bilgisayarındaki bir klasörde canlı kodlama oturumu başladı.id, folderName, harness, conversationId
ai.computer_approval_requestedBir bilgisayar görevi bir adım için onay bekliyor.id, summary, risk, recipientUserId
ai.computer_machine_changedBir bulut bilgisayarın durumu değişti.id, state, recipientUserId
ai.computer_machine_requestedBiri 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_createdBir bilgisayar oturumu hazırlandı.id, title, needsProvider
ai.computer_session_finishedBir bilgisayar görevi bitti, bitiremedi ya da durduruldu.id, status, success, result, sourceRef
ai.computer_session_queuedBir bilgisayar görevi sıraya alındı.id, title, kind, target
ai.computer_session_startedBir bilgisayar görevi çalışmaya başladı.id, provider
ai.computer_session_stoppedBir bilgisayar oturumu durduruldu.id
ai.connection_sharedBir yapay zekâ bağlantısını kimlerin kullanabileceği değişti.id, provider, scope
ai.conversation_deletedBir konuşma silindi.id
ai.conversation_startedEra ile bir konuşma açıldı.id, agentId
ai.decide_outcome_recordedBiri Era’nın bir kararını onayladı ya da düzeltti.id, questionKey, outcome
ai.erasure_candidate_resolvedBir yönetici, silme başvurusunun olası eşleşmesini sildi ya da kapattı.id, decision, facts
ai.key_rotation_dueBir sağlayıcı anahtarının yenilenme zamanı geldi.id, provider, ageDays, recipientUserId
ai.knowledge_base_archivedBir bilgi alanı arşivlendi.id, brainId, name
ai.knowledge_base_createdBir bilgi alanı oluşturuldu.id, brainId, name
ai.knowledge_base_updatedBir bilgi alanı değişti.id, brainId, name
ai.learning_decidedBiri Era’nın saklamak istediği bir şeyi onayladı ya da reddetti.id, kind, decision, resultRef
ai.learning_forgottenBiri Era’ya bir şeyi unutmasını ya da bir beceriyi bırakmasını söyledi.kind, ref
ai.learning_proposedEra bir şeyi hatırlamak ya da bir beceriyi kullanmak için izin istedi.id, kind, proposedBy
ai.memory_refiledBiri 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_updatedBir iş türü için kullanılan model değişti.taskClass, model
ai.provider_checkedBir yapay zekâ sağlayıcısının sağlık kontrolü yapıldı.id, ok
ai.provider_recoveredSorunlu bir sağlayıcı yeniden yanıt verdi.id, provider, recipientUserId
ai.provider_removedBir yapay zekâ sağlayıcısı kaldırıldı.id, provider
ai.provider_unhealthyBir sağlayıcı zamanlanmış kontrolünü geçemedi; çalıştırmalar onu atlayarak yönlendirilir.id, provider, error, recipientUserId
ai.provider_updatedBir yapay zekâ sağlayıcısı ya da anahtarı kaydedildi.id, provider
ai.skill_evaluatedBir beceri sürümü değerlendirildi.id, skillId, score
ai.skill_installedBir beceri bir şablondan yüklendi.skillId
ai.skill_pausedBir beceri duraklatıldı.skillId
ai.skill_policy_updatedBir becerinin yayın durumu ya da izinleri değişti.skillId, published
ai.skill_promotedBir beceri sürümü yayına girdi (ya da ona geri dönüldü).id, skillId, version
ai.skill_resumedBir beceri sürdürüldü.skillId
ai.skill_uninstalledBir beceri kaldırıldı.skillId
ai.skill_version_createdBir beceri sürümü kaydedildi.id, skillId, version
ai.source_choice_updatedEra, 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_connectedBiri kendi yapay zekâ aboneliğini bağladı.id, provider, execution, recipientUserId
ai.subscription_disconnectedBiri kendi yapay zekâ aboneliğinin bağlantısını kesti.id, provider, recipientUserId
ai.subscription_limitedBir kişinin aboneliği paket sınırına ulaştı.id, provider, resetsAt, recipientUserId
ai.subscription_needs_loginBir kişinin aboneliğinden çıkış yapılmış; yeniden giriş yapması gerekiyor.id, provider, recipientUserId
ai.subscription_recoveredBir kişinin aboneliği yeniden çalışıyor.id, provider, recipientUserId
ai.task_assignedBir görev bir kişiye ya da ajana verildi.id, assigneeUserId, assigneeAgentId, recipientUserId
ai.task_cancelledBir görev iptal edildi (durumu iptal olarak ayarlandı).id
ai.task_completedBir görev tamamlandı.id, nextId
ai.task_createdBir görev oluşturuldu.id, title, recordType, recordId, recipientUserId
ai.task_deletedBir görev silindi.id
ai.task_dueBir 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_overdueBir 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_reopenedBir görev yeniden açıldı.id
ai.task_updatedBir görev değişti.id
ai.template_installedPazaryerinden bir ajan, beceri ya da iş akışı yüklendi.id, kind, instanceId, templateId, requiredApps
Bu sayfa yardımcı oldu mu?