Era Masaüstü API
Era Masaüstü modülünün tüm işlemleri (6) ve veri modelleri (0): adresler, izinler, girdiler, ön koşullar, olaylar ve örnekler.
Era Masaüstü’nüzün sohbetleri, bekleyen onaylar, planlar, yapılacaklar ve otomatik işler — Era’da, yalnızca sizin.
Modül kodu station · 6 işlem · 0 veri modeli · 6 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ı: station (hepsi), station:read (yalnız okuma) ya da station:<yetenek>.
İşlemler
| İşlem | Gereken izin | Ne yapar |
|---|---|---|
station.answer_pending | station:write | Bir masaüstü isteğini yanıtla |
station.record_batch | station:write | Masaüstü bilgilerini kaydet |
station.toggle_automation | station:write | Bir masaüstü otomatik işini duraklat ya da sürdür |
station.update_automation | station:write | Bir masaüstü otomatik işini değiştir |
station.update_thread | station:write | Bir masaüstü sohbetini değiştir |
station.update_todo | station:write | Bir masaüstü yapılacağını değiştir |
station.answer_pending
Bir masaüstü isteğini yanıtla — Era Masaüstü’nün beklediği şeyi webden onaylayın, reddedin ya da yanıtlayın; masaüstü onunla devam eder.
Gereken izin station:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/station.answer_pendingGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Talep · kimliği: station_pending |
answer | object / array | evet | Yanıt |
via | string (enum) | Nereden · İzin verilen değerler: web, phone |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
pending_not_found | İstek, Era’nın bu çalışma alanı için tuttuğu bir istek olmalı. |
not_your_pending | Era Masaüstü’nün kimin için çalışıyorsa yalnızca o kişi yanıtlar. |
already_answered | Bir istek bir kez yanıtlanır. |
invalid_answer | Yanıt bir nesnedir: bir karar ya da soruların yanıtları. |
Yayımladığı olaylar: station.pending_answered
Neye yazar: station_pending (update) — Records the answer; the Station picks it up
curl -X POST https://app.getera.io/api/v1/actions/station.answer_pending \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"STATION_PENDING_ID","answer":{}}'{
"ok": true,
"result": "…",
"events": [
"station.pending_answered"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("station.answer_pending", {
id: "STATION_PENDING_ID",
answer: {}
})era station answer_pending --data '{"id":"STATION_PENDING_ID","answer":{}}'{
"name": "era__station__answer_pending",
"arguments": {
"id": "STATION_PENDING_ID",
"answer": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde station:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 pending_not_found, not_your_pending, already_answered, invalid_answer · 429 çok sık istek
station.record_batch
Masaüstü bilgilerini kaydet — Era Masaüstü’nün son gönderiminden bu yana kesinleşenler — projeler, sohbetler, bekleyen onaylar, planlar, yapılacaklar, otomatik işler — sizin adınıza Era’da tutulur.
Gereken izin station:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/station.record_batchGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
deviceId | uuid | Station · Bu bilgileri kesinleştiren Station’ın eşleme anahtarı. | |
items | object / array | evet | Bilgiler |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
invalid_batch | Bir gönderim en fazla 500 öğelik bir listedir. |
not_your_device | Era Masaüstü bu çalışma alanında isteği yapan kişiyle eşleşmiş olmalı. |
Yayımladığı olaylar: station.batch_recorded
Neye yazar: station_engine (upsert) — Locked engine sequence and projection/runtime checkpoint; station_event (insert) — Ordered settled engine facts; transient deltas are refused; station_receipt (insert) — Immutable batch acknowledgments for safe retries; station_checkpoint_part (insert) — Immutable bounded checkpoint parts; a complete manifest is activated atomically; station_space (upsert) — Spaces; station_project (upsert) — Projects (folders); station_thread (upsert) — Chat settings; a web edit newer than the device copy wins; station_pending (upsert) — Approvals and questions waiting; an answer given on the web stays; station_plan (upsert) — Proposed plans; station_todo (upsert) — Todos; station_pr_pin (upsert) — Pinned pull requests, 20 per project; station_automation (upsert) — Automations; station_automation_run (upsert) — Automation runs; station_automation_memory (upsert) — What an automation remembers
curl -X POST https://app.getera.io/api/v1/actions/station.record_batch \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"items":{}}'{
"ok": true,
"result": "…",
"events": [
"station.batch_recorded"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("station.record_batch", {
items: {}
})era station record_batch --data '{"items":{}}'{
"name": "era__station__record_batch",
"arguments": {
"items": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde station:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 invalid_batch, not_your_device · 429 çok sık istek
station.toggle_automation
Bir masaüstü otomatik işini duraklat ya da sürdür — Era Masaüstü otomatik işlerinizden birinin çalışmasını durdurur ya da yeniden çalışmasına izin verir.
Gereken izin station:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/station.toggle_automationGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Otomasyon · kimliği: station_automation |
enabled | boolean | evet | Çalıştırmalar |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
automation_not_found | Otomatik iş, Era’nın bu çalışma alanı için tuttuğu bir iş olmalı. |
not_your_automation | Otomatik işi yalnızca sahibi duraklatır. |
Yayımladığı olaylar: station.automation_toggled
Neye yazar: station_automation (update) — On or off; the Station follows
curl -X POST https://app.getera.io/api/v1/actions/station.toggle_automation \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"STATION_AUTOMATION_ID","enabled":true}'{
"ok": true,
"result": "…",
"events": [
"station.automation_toggled"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("station.toggle_automation", {
id: "STATION_AUTOMATION_ID",
enabled: true
})era station toggle_automation \
--id "STATION_AUTOMATION_ID" \
--enabled true{
"name": "era__station__toggle_automation",
"arguments": {
"id": "STATION_AUTOMATION_ID",
"enabled": true
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde station:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 automation_not_found, not_your_automation · 429 çok sık istek
station.update_automation
Bir masaüstü otomatik işini değiştir — Era Masaüstü otomatik işlerinizden birinin adını, ne istediğini ya da ne zaman çalıştığını değiştirir.
Gereken izin station:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/station.update_automationGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Otomasyon · kimliği: station_automation |
title | string | Ad · en çok 500 | |
prompt | string | Sorduğu · en çok 50000 | |
schedule | object / array | Ne zaman |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
automation_not_found | Otomatik iş, Era’nın bu çalışma alanı için tuttuğu bir iş olmalı. |
not_your_automation | Otomatik işi yalnızca sahibi değiştirir. |
invalid_schedule | Zamanlama bir nesnedir. |
Yayımladığı olaylar: station.automation_updated
Neye yazar: station_automation (update) — The person’s edit; the Station applies it
curl -X POST https://app.getera.io/api/v1/actions/station.update_automation \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"STATION_AUTOMATION_ID"}'{
"ok": true,
"result": "…",
"events": [
"station.automation_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("station.update_automation", {
id: "STATION_AUTOMATION_ID"
})era station update_automation \
--id "STATION_AUTOMATION_ID"{
"name": "era__station__update_automation",
"arguments": {
"id": "STATION_AUTOMATION_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde station:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 automation_not_found, not_your_automation, invalid_schedule · 429 çok sık istek
station.update_thread
Bir masaüstü sohbetini değiştir — Era Masaüstü sohbetlerinizden birini sabitleyin, arşivleyin, erteleyin ya da yeniden adlandırın; not ekleyin ya da çalışma alanıyla paylaşın.
Gereken izin station:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/station.update_threadGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Sohbet · kimliği: station_thread |
title | string | Başlık · en çok 1000 | |
isPinned | boolean | Sabitlenenler | |
archived | boolean | Arşivlendi | |
snoozedUntil | date-time | Erteleme bitişi | |
notes | string | Notlar · en çok 20000 | |
visibility | string (enum) | Kim görür · İzin verilen değerler: private, workspace |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
thread_not_found | Sohbet, Era’nın bu çalışma alanı için tuttuğu bir sohbet olmalı. |
not_your_thread | Sohbeti, paylaşılmış olsa bile yalnızca sahibi değiştirir. |
Yayımladığı olaylar: station.thread_updated
Neye yazar: station_thread (update) — The person’s own settings for the chat
curl -X POST https://app.getera.io/api/v1/actions/station.update_thread \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"STATION_THREAD_ID"}'{
"ok": true,
"result": "…",
"events": [
"station.thread_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("station.update_thread", {
id: "STATION_THREAD_ID"
})era station update_thread \
--id "STATION_THREAD_ID"{
"name": "era__station__update_thread",
"arguments": {
"id": "STATION_THREAD_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde station:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 thread_not_found, not_your_thread · 429 çok sık istek
station.update_todo
Bir masaüstü yapılacağını değiştir — Era Masaüstü yapılacaklarınızdan birini yeniden adlandırır ya da tamamlandı olarak işaretler.
Gereken izin station:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/station.update_todoGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Yapılacak · kimliği: station_todo |
title | string | Yapılacak · en çok 2000 | |
done | boolean | Tamam |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
todo_not_found | Yapılacak, Era’nın bu çalışma alanı için tuttuğu bir yapılacak olmalı. |
not_your_todo | Yapılacağı yalnızca sahibi değiştirir. |
empty_title | Bir yapılacak bir şey söylemeli. |
Yayımladığı olaylar: station.todo_updated
Neye yazar: station_todo (update) — The person’s edit; the Station applies it
curl -X POST https://app.getera.io/api/v1/actions/station.update_todo \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"STATION_TODO_ID"}'{
"ok": true,
"result": "…",
"events": [
"station.todo_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("station.update_todo", {
id: "STATION_TODO_ID"
})era station update_todo \
--id "STATION_TODO_ID"{
"name": "era__station__update_todo",
"arguments": {
"id": "STATION_TODO_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde station:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 todo_not_found, not_your_todo, empty_title · 429 çok sık istek
Olaylar
İş akışları ve webhook'lar bu olaylara tepki verir.
| Olay | Ne olur | Taşıdığı alanlar |
|---|---|---|
station.automation_toggled | Bir kişi bir masaüstü otomatik işini duraklattı ya da sürdürdü. | id, localId, deviceId, enabled |
station.automation_updated | Bir kişi bir masaüstü otomatik işini değiştirdi. | id, localId, deviceId |
station.batch_recorded | Era Masaüstü kesinleşenleri gönderdi. | deviceId, applied, kinds |
station.pending_answered | Bir kişi Era Masaüstü’nün beklediğini yanıtladı. | id, localId, deviceId, threadId |
station.thread_updated | Bir kişi Era’dan masaüstü sohbetlerinden birini değiştirdi. | id, localId, deviceId |
station.todo_updated | Bir kişi bir masaüstü yapılacağını değiştirdi. | id, localId, deviceId |