Toplantılar API
Toplantılar modülünün tüm işlemleri (33) ve veri modelleri (4): adresler, izinler, girdiler, ön koşullar, olaylar ve örnekler.
Era toplantılarınıza katılır — not alan bir botla ya da bilgisayarınızdan botsuz —, öncesinde ön bilgi verir, sonrasında notları, görevleri, takip e-postasını ve sonraki adımları yazar.
Modül kodu meetings · 33 işlem · 4 veri modeli · 16 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ı: meetings (hepsi), meetings:read (yalnız okuma) ya da meetings:<yetenek>.
Kaynaklar
| Kaynak | Tablo | Listeleme ve okuma | POST | PATCH | DELETE |
|---|---|---|---|---|---|
meeting_action_items | meeting_action_item | /api/v1/meeting_action_items | |||
meeting_calendars | meeting_calendar | /api/v1/meeting_calendars | |||
meeting_speaker_aliases | meeting_speaker_alias | /api/v1/meeting_speaker_aliases | |||
meetings | meeting | /api/v1/meetings | meetings.update | meetings.delete |
Listeler limit (en çok 200), cursor, order (ör. -created_at), fields ve q alır; diğer her sorgu parametresi bir sütun süzgecidir: ?status=paid, ?total[gte]=100, ?id[in]=a,b, ?x=null.
İşlemler
| İşlem | Gereken izin | Ne yapar |
|---|---|---|
meetings.accept_action_item | meetings:write | Aksiyon maddesini göreve çevir |
meetings.accept_next_meeting | meetings:write | Önerilen sonraki toplantıyı ekle |
meetings.accept_stage | meetings:write | Fırsatı önerilen aşamaya taşı |
meetings.add_action_item | meetings:write | Toplantıya aksiyon maddesi ekle |
meetings.approve_follow_up | meetings:write | Takip e-postasını onayla ve gönder |
meetings.connect_calendar | meetings:write | Toplantılara takvim bağla |
meetings.delete | meetings:delete | Toplantıyı sil |
meetings.discard_follow_up | meetings:write | Takip e-postasından vazgeç |
meetings.disconnect_calendar | meetings:write | Toplantı takviminin bağlantısını kes |
meetings.dismiss_action_item | meetings:write | Aksiyon maddesini kaldır |
meetings.dismiss_suggestion | meetings:write | Öneriyi geç |
meetings.edit_follow_up | meetings:write | Takip e-postasını düzenle |
meetings.expire_audio | meetings:write | Toplantının kaydını sil |
meetings.fail | meetings:handle | Toplantı işlenemedi |
meetings.file_notes | meetings:handle | Toplantı notlarını kaydet |
meetings.file_transcript | meetings:handle | Toplantı dökümünü kaydet |
meetings.forget_speaker | meetings:write | Hatırlanan bir konuşmacı adını unut |
meetings.link_invite | meetings:handle | Takvim davetini kaydet |
meetings.link_task | meetings:handle | Aksiyon maddesini görevine bağla |
meetings.mark_follow_up_sent | meetings:handle | Takip e-postasının gönderimini kaydet |
meetings.record_capture | meetings:handle | Kaydın durumunu not et |
meetings.record_on_desktop | meetings:write | Toplantıyı bilgisayarımda kaydet |
meetings.rename_speaker | meetings:write | Bir konuşmacının kim olduğunu söyle |
meetings.save_brief | meetings:handle | Toplantı brifini kaydet |
meetings.schedule | meetings:write | Toplantı ekle |
meetings.send_bot | meetings:write | Era’nın not alıcısını toplantıya gönder |
meetings.send_invite | meetings:write | Takvim davetini gönder |
meetings.set_sharing | meetings:write | Toplantıyı kimin göreceğini seç |
meetings.skip | meetings:write | Toplantıyı kaydetme |
meetings.sync_calendar | meetings:handle | Takvimin toplantılarını oku |
meetings.update | meetings:write | Toplantıyı değiştir |
meetings.update_action_item | meetings:write | Aksiyon maddesini değiştir |
meetings.update_calendar | meetings:write | Toplantı takvimini değiştir |
meetings.accept_action_item
Aksiyon maddesini göreve çevir — Taahhüt, son tarihiyle sahibine (ya da sana) fırsata veya müşteriye bağlı bir görev olur.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meeting_action_items/{id}/actions/accept_action_item- Asıl adres:
POST /api/v1/actions/meetings.accept_action_item
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Yapılacak · kimliği: meeting_action_item |
assigneeUserId | uuid | Kim · kimliği: app_user | |
dueAt | date-time | Ne zamana kadar |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
item_not_found | Bu yapılacak bulunamadı. |
item_closed | Bu yapılacak zaten göreve dönüştürülmüş. |
not_member | Görev bir üyeye atanmalı. |
Yayımladığı olaylar: meetings.action_item_accepted
Neye yazar: meeting_action_item (update) — proposed → accepted (the task follows)
curl -X POST https://app.getera.io/api/v1/meeting_action_items/MEETING_ACTION_ITEM_ID/actions/accept_action_item \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"assigneeUserId":"APP_USER_ID"}'{
"ok": true,
"result": "…",
"events": [
"meetings.action_item_accepted"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetingActionItems.acceptActionItem("MEETING_ACTION_ITEM_ID", {
assigneeUserId: "APP_USER_ID"
})era meeting_action_items accept_action_item MEETING_ACTION_ITEM_ID \
--assignee-user-id "APP_USER_ID"{
"name": "era__meetings__accept_action_item",
"arguments": {
"id": "MEETING_ACTION_ITEM_ID",
"assigneeUserId": "APP_USER_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 item_not_found, item_closed, not_member · 429 çok sık istek
meetings.accept_next_meeting
Önerilen sonraki toplantıyı ekle — Era’nın anlaşıldığını duyduğu sonraki toplantıyı ekler — aynı kişiler, aynı fırsat — Era ona da katılır ve hazırlanır.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meetings/{id}/actions/accept_next_meeting- Asıl adres:
POST /api/v1/actions/meetings.accept_next_meeting
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
startsAt | date-time | Ne zaman | |
title | string | Ad · en çok 300 | |
joinUrl | string | Toplantı bağlantısı · en çok 2000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
no_suggestion | Öneri bulunamadı. |
suggestion_closed | Bu öneri zaten yanıtlanmış. |
bad_time | Sonraki toplantı için bir saat gerekiyor. |
bad_join_url | Bağlantı bir https adresi olmalı. |
Yayımladığı olaylar: meetings.scheduled, meetings.next_meeting_booked
Neye yazar: meeting (insert) — Writes the next meeting; meeting (update) — suggestion → accepted
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/accept_next_meeting \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"startsAt":"2026-11-02T09:00:00Z"}'{
"ok": true,
"result": "…",
"events": [
"meetings.scheduled",
"meetings.next_meeting_booked"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.acceptNextMeeting("MEETING_ID", {
startsAt: "2026-11-02T09:00:00Z"
})era meetings accept_next_meeting MEETING_ID \
--starts-at "2026-11-02T09:00:00Z"{
"name": "era__meetings__accept_next_meeting",
"arguments": {
"id": "MEETING_ID",
"startsAt": "2026-11-02T09:00:00Z"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, no_suggestion, suggestion_closed, bad_time, bad_join_url · 429 çok sık istek
meetings.accept_stage
Fırsatı önerilen aşamaya taşı — Era toplantıyı okudu ve fırsatın sonraki aşamasını öneriyor; bu onu taşır.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meetings/{id}/actions/accept_stage- Asıl adres:
POST /api/v1/actions/meetings.accept_stage
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
no_suggestion | Öneri bulunamadı. |
suggestion_closed | Bu öneri zaten yanıtlanmış. |
Yayımladığı olaylar: meetings.stage_accepted
Neye yazar: meeting (update) — suggestion → accepted (the stage change follows)
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/accept_stage \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"meetings.stage_accepted"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.acceptStage("MEETING_ID")era meetings accept_stage MEETING_ID{
"name": "era__meetings__accept_stage",
"arguments": {
"id": "MEETING_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, no_suggestion, suggestion_closed · 429 çok sık istek
meetings.add_action_item
Toplantıya aksiyon maddesi ekle — Era’nın kaçırdığı bir şey — kim, ne, ne zamana.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meeting_action_items/actions/add_action_item- Asıl adres:
POST /api/v1/actions/meetings.add_action_item
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
meetingId | uuid | evet | Toplantı · kimliği: meeting |
text | string | evet | Ne · en çok 1000 |
assigneeUserId | uuid | Kim · kimliği: app_user | |
dueAt | date-time | Ne zamana kadar |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
empty_text | Yapılacakta ne yapılacağı yazmalı. |
not_member | Sorumlu kişi bir üye olmalı. |
Yayımladığı olaylar: meetings.action_item_created
Neye yazar: meeting_action_item (insert) — Writes the item (proposed)
curl -X POST https://app.getera.io/api/v1/meeting_action_items/actions/add_action_item \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"meetingId":"MEETING_ID","text":"What"}'{
"ok": true,
"result": "…",
"events": [
"meetings.action_item_created"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetingActionItems.addActionItem({
meetingId: "MEETING_ID",
text: "What"
})era meeting_action_items add_action_item \
--meeting-id "MEETING_ID" \
--text "What"{
"name": "era__meetings__add_action_item",
"arguments": {
"meetingId": "MEETING_ID",
"text": "What"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, empty_text, not_member · 429 çok sık istek
meetings.approve_follow_up
Takip e-postasını onayla ve gönder — Era’nın taslağı, bağladıysan kendi Gmail ya da Outlook’undan (senin adınla), yoksa işletmenin göndericisinden gider.
Gereken izin meetings:write · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır) · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/meetings/{id}/actions/approve_follow_up- Asıl adres:
POST /api/v1/actions/meetings.approve_follow_up
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
no_follow_up | Taslak bulunamadı. |
follow_up_closed | Bu e-posta zaten gönderilmiş. |
invalid_recipient | Bir alıcı gerekiyor. |
send_from_unusable | Seçilen posta kutusu, onaylayan kişi tarafından kullanılabilir olmalı. |
Yayımladığı olaylar: meetings.follow_up_approved
Neye yazar: meeting (update) — draft → approved (the send follows)
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/approve_follow_up \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"meetings.follow_up_approved"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.approveFollowUp("MEETING_ID")era meetings approve_follow_up MEETING_ID{
"name": "era__meetings__approve_follow_up",
"arguments": {
"id": "MEETING_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, no_follow_up, follow_up_closed, invalid_recipient, send_from_unusable · 429 çok sık istek
meetings.connect_calendar
Toplantılara takvim bağla — Era Google ya da Outlook takvimini okur, her toplantı için brif hazırlar ve kuralının seçtiklerine katılır.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meeting_calendars/actions/connect_calendar- Asıl adres:
POST /api/v1/actions/meetings.connect_calendar
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
provider | string (enum) | evet | Takvim · İzin verilen değerler: google, microsoft |
credentialId | string | evet | Bağlı hesap · en çok 200 |
calendarId | string | Takvim kimliği · en çok 300 | |
label | string | Ad · en çok 120 | |
accountEmail | string | Hesap · en çok 320 | |
joinRule | string (enum) | Era katılır · İzin verilen değerler: all, external, organised, off | |
captureMode | string (enum) | Nasıl · İzin verilen değerler: auto, bot, desktop | |
knowledgeBaseId | uuid | Notlar nereye |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
calendar_connected | Bu takvim zaten bağlı. |
Yayımladığı olaylar: meetings.calendar_connected
Neye yazar: meeting_calendar (insert) — Writes the calendar and its rule
curl -X POST https://app.getera.io/api/v1/meeting_calendars/actions/connect_calendar \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"provider":"google","credentialId":"Connected account"}'{
"ok": true,
"result": "…",
"events": [
"meetings.calendar_connected"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetingCalendars.connectCalendar({
provider: "google",
credentialId: "Connected account"
})era meeting_calendars connect_calendar \
--provider "google" \
--credential-id "Connected account"{
"name": "era__meetings__connect_calendar",
"arguments": {
"provider": "google",
"credentialId": "Connected account"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 calendar_connected · 429 çok sık istek
meetings.delete
Toplantıyı sil — Toplantıyı, dökümünü, notlarını ve aksiyon maddelerini siler (unutulma hakkı). Oluşmuş görevler kalır.
Gereken izin meetings:delete · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/meetings/{id}/actions/delete- REST kısayolu:
DELETE /api/v1/meetings/{id} - Asıl adres:
POST /api/v1/actions/meetings.delete
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
meeting_live | Kaydedilmekte olan bir toplantı silinemez. |
Yayımladığı olaylar: meetings.deleted
Neye yazar: meeting (delete) — Removes the meeting; meeting_action_item (delete) — Its action items go with it
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/delete \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"meetings.deleted"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.delete("MEETING_ID")era meetings delete MEETING_ID{
"name": "era__meetings__delete",
"arguments": {
"id": "MEETING_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, meeting_live · 429 çok sık istek
meetings.discard_follow_up
Takip e-postasından vazgeç — Bu toplantı için e-posta yok.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meetings/{id}/actions/discard_follow_up- Asıl adres:
POST /api/v1/actions/meetings.discard_follow_up
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
no_follow_up | Taslak bulunamadı. |
follow_up_closed | Yalnızca bir taslaktan vazgeçilebilir. |
Neye yazar: meeting (update) — draft → discarded
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/discard_follow_up \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.discardFollowUp("MEETING_ID")era meetings discard_follow_up MEETING_ID{
"name": "era__meetings__discard_follow_up",
"arguments": {
"id": "MEETING_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, no_follow_up, follow_up_closed · 429 çok sık istek
meetings.disconnect_calendar
Toplantı takviminin bağlantısını kes — Era onu okumayı bırakır; yaklaşan toplantıları düşer, geçmiş notlar kalır.
Gereken izin meetings:write · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/meeting_calendars/{id}/actions/disconnect_calendar- Asıl adres:
POST /api/v1/actions/meetings.disconnect_calendar
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Takvim · kimliği: meeting_calendar |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
calendar_not_found | Bu takvim burada bağlı değil. |
not_your_calendar | Bağlantıyı yalnızca sahibi (ya da bir yönetici) kesebilir. |
Neye yazar: meeting_calendar (delete) — Removes the calendar; meeting (update) — Its unrecorded upcoming meetings → cancelled
curl -X POST https://app.getera.io/api/v1/meeting_calendars/MEETING_CALENDAR_ID/actions/disconnect_calendar \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetingCalendars.disconnectCalendar("MEETING_CALENDAR_ID")era meeting_calendars disconnect_calendar MEETING_CALENDAR_ID{
"name": "era__meetings__disconnect_calendar",
"arguments": {
"id": "MEETING_CALENDAR_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 calendar_not_found, not_your_calendar · 429 çok sık istek
meetings.dismiss_action_item
Aksiyon maddesini kaldır — Era taahhüt sandı ama değildi.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meeting_action_items/{id}/actions/dismiss_action_item- Asıl adres:
POST /api/v1/actions/meetings.dismiss_action_item
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Yapılacak · kimliği: meeting_action_item |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
item_not_found | Bu yapılacak bulunamadı. |
item_closed | Yalnızca önerilen bir yapılacak kaldırılabilir. |
Neye yazar: meeting_action_item (update) — → dismissed
curl -X POST https://app.getera.io/api/v1/meeting_action_items/MEETING_ACTION_ITEM_ID/actions/dismiss_action_item \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetingActionItems.dismissActionItem("MEETING_ACTION_ITEM_ID")era meeting_action_items dismiss_action_item MEETING_ACTION_ITEM_ID{
"name": "era__meetings__dismiss_action_item",
"arguments": {
"id": "MEETING_ACTION_ITEM_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 item_not_found, item_closed · 429 çok sık istek
meetings.dismiss_suggestion
Öneriyi geç — Fırsat olduğu yerde kalsın ya da sonraki toplantı eklenmesin.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meetings/{id}/actions/dismiss_suggestion- Asıl adres:
POST /api/v1/actions/meetings.dismiss_suggestion
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
kind | string (enum) | evet | Hangisi · İzin verilen değerler: stage, next_meeting |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
no_suggestion | Öneri bulunamadı. |
suggestion_closed | Bu öneri zaten yanıtlanmış. |
Neye yazar: meeting (update) — suggestion → dismissed
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/dismiss_suggestion \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"kind":"stage"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.dismissSuggestion("MEETING_ID", {
kind: "stage"
})era meetings dismiss_suggestion MEETING_ID \
--kind "stage"{
"name": "era__meetings__dismiss_suggestion",
"arguments": {
"id": "MEETING_ID",
"kind": "stage"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, no_suggestion, suggestion_closed · 429 çok sık istek
meetings.edit_follow_up
Takip e-postasını düzenle — Era’nın toplantıdan sonra hazırladığı e-postanın alıcısı, konusu ya da metni.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meetings/{id}/actions/edit_follow_up- Asıl adres:
POST /api/v1/actions/meetings.edit_follow_up
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
to | string | Bitiş · en çok 320 | |
subject | string | Konu · en çok 300 | |
body | string | Mesaj · en çok 20000 | |
sendFrom | string | Gönderen · en çok 64 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
no_follow_up | Taslak bulunamadı. |
follow_up_closed | Gönderilmiş ya da vazgeçilmiş bir e-posta düzenlenemez. |
invalid_recipient | Alıcı bir e-posta adresi olmalı. |
invalid_send_from | Gönderen "auto", "era", "mine", "workspace" ya da bir bağlantı olmalı. |
Neye yazar: meeting (update) — Rewrites the draft
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/edit_follow_up \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"to":"To"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.editFollowUp("MEETING_ID", {
to: "To"
})era meetings edit_follow_up MEETING_ID \
--to "To"{
"name": "era__meetings__edit_follow_up",
"arguments": {
"id": "MEETING_ID",
"to": "To"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, no_follow_up, follow_up_closed, invalid_recipient, invalid_send_from · 429 çok sık istek
meetings.expire_audio
Toplantının kaydını sil — Ses şimdi (sahibi istedi) ya da saklama süresinden sonra silinir; döküm ve notlar kalır.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meetings/{id}/actions/expire_audio- Asıl adres:
POST /api/v1/actions/meetings.expire_audio
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
no_recording | Kayıt bulunamadı. |
Neye yazar: meeting (update) — Drops the recording link
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/expire_audio \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.expireAudio("MEETING_ID")era meetings expire_audio MEETING_ID{
"name": "era__meetings__expire_audio",
"arguments": {
"id": "MEETING_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, no_recording · 429 çok sık istek
meetings.fail
Toplantı işlenemedi — Kayıt alınamadı ya da okunamadı; ayrılan tutar geri verilir. Yalnızca sistem.
Gereken izin meetings:handle · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/meetings/{id}/actions/fail- Asıl adres:
POST /api/v1/actions/meetings.fail
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
error | string | evet | Neden · en çok 600 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
already_filed | Bitmiş bir toplantı sonradan başarısız sayılamaz. |
Yayımladığı olaylar: meetings.capture_failed
Neye yazar: meeting (update) — → failed, released
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, already_filed · 429 çok sık istek
meetings.file_notes
Toplantı notlarını kaydet — Özet, kararlar, aksiyon maddeleri, takip taslağı ve öneriler — ve iş akışlarına toplantının bittiğini söyler. Yalnızca sistem.
Gereken izin meetings:handle · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/meetings/{id}/actions/file_notes- Asıl adres:
POST /api/v1/actions/meetings.file_notes
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
summary | string | evet | Özet · en çok 4000 |
decisions | object / array | Kararlar | |
actionItems | object / array | Aksiyon maddeleri | |
followUp | object / array | Takip e-postası | |
stageSuggestion | object / array | Fırsat aşaması önerisi | |
nextMeeting | object / array | Sonraki toplantı önerisi | |
customerId | uuid | Müşteri · kimliği: customer | |
leadId | uuid | Fırsat · kimliği: lead | |
conversationId | uuid | Gelen kutusu konuşması · kimliği: conversation | |
participants | object / array | Kimler katıldı | |
brainRef | string | Beyin kaynağı · en çok 255 | |
notesCostUsd | number | Not maliyeti · en az 0 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
no_transcript | Notlar için önce bir döküm gerekiyor. |
invalid_payload | Bir özet ve listeler gerekiyor. |
Yayımladığı olaylar: meetings.ended, meetings.action_item_created
Neye yazar: meeting (update) — → ready, with the notes and proposals; meeting_action_item (insert) — One row per commitment (proposed)
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, no_transcript, invalid_payload · 429 çok sık istek
meetings.file_transcript
Toplantı dökümünü kaydet — Konuşulanlar, süre ve kayıt; not alıcının gerçek dakikaları ücretlenir. Yalnızca sistem.
Gereken izin meetings:handle · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/meetings/{id}/actions/file_transcript- Asıl adres:
POST /api/v1/actions/meetings.file_transcript
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
transcript | object / array | evet | Döküm |
durationSec | number | evet | Süre (saniye) · en az 0 · en çok 86400 |
recordingFileId | uuid | Kayıt · kimliği: file | |
language | string | Dil · en çok 8 | |
sttCostUsd | number | Konuşmayı yazıya çevirme maliyeti · en az 0 | |
sourceKind | string (enum) | Kim ödedi · İzin verilen değerler: native, byos, byok | |
mode | string (enum) | Nasıl geldi · İzin verilen değerler: upload | |
speakers | object / array | Kim konuştu | |
ownNotes | string | Arama sırasında aldığım notlar · en çok 20000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
already_filed | Bitmiş bir toplantı yeniden kaydedilmez; yeniden işlenir. |
invalid_payload | Döküm bir liste olmalı. |
no_transcript | Toplantıda hiçbir şey konuşulmamış. |
Neye yazar: meeting (update) — → processing, with transcript, length and cost
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, already_filed, invalid_payload, no_transcript · 429 çok sık istek
meetings.forget_speaker
Hatırlanan bir konuşmacı adını unut — Era sonraki toplantılarda bu adı o sese koymaz.
Gereken izin meetings:write · siler ya da geri alınamaz
https://app.getera.io/api/v1/meeting_speaker_aliases/{id}/actions/forget_speaker- Asıl adres:
POST /api/v1/actions/meetings.forget_speaker
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Hatırlanan ad · kimliği: meeting_speaker_alias |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
alias_not_found | Bu ad burada kayıtlı değil. |
Neye yazar: meeting_speaker_alias (delete) — Removes it
curl -X POST https://app.getera.io/api/v1/meeting_speaker_aliases/MEETING_SPEAKER_ALIASE_ID/actions/forget_speaker \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetingSpeakerAliases.forgetSpeaker("MEETING_SPEAKER_ALIASE_ID")era meeting_speaker_aliases forget_speaker MEETING_SPEAKER_ALIASE_ID{
"name": "era__meetings__forget_speaker",
"arguments": {
"id": "MEETING_SPEAKER_ALIASE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 alias_not_found · 429 çok sık istek
meetings.link_invite
Takvim davetini kaydet — Google ya da Outlook’un açtığı etkinlik (ve görüntülü bağlantısı) ya da neden açılamadığı. Yalnızca sistem.
Gereken izin meetings:handle · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/meetings/{id}/actions/link_invite- Asıl adres:
POST /api/v1/actions/meetings.link_invite
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
externalEventId | string | Takvim etkinliği · en çok 500 | |
joinUrl | string | Toplantı bağlantısı · en çok 2000 | |
error | string | Neden olmadı · en çok 600 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
no_invite | Kaydedilecek bir davet bulunamadı. |
Yayımladığı olaylar: meetings.invite_sent
Neye yazar: meeting (update) — invite → sent / failed, with the event id
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, no_invite · 429 çok sık istek
meetings.link_task
Aksiyon maddesini görevine bağla — Kabul edilen maddenin dönüştüğü görevi kaydeder. Yalnızca sistem.
Gereken izin meetings:handle · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/meeting_action_items/{id}/actions/link_task- Asıl adres:
POST /api/v1/actions/meetings.link_task
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Yapılacak · kimliği: meeting_action_item |
taskId | uuid | evet | Görev · kimliği: ai_task |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
item_not_found | Bu yapılacak bulunamadı. |
Neye yazar: meeting_action_item (update) — Writes the task id
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 item_not_found · 429 çok sık istek
meetings.mark_follow_up_sent
Takip e-postasının gönderimini kaydet — Göndericiye verildi ya da reddedildi. Yalnızca sistem.
Gereken izin meetings:handle · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/meetings/{id}/actions/mark_follow_up_sent- Asıl adres:
POST /api/v1/actions/meetings.mark_follow_up_sent
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
deliveryId | uuid | Teslimat | |
error | string | Neden olmadı · en çok 600 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
no_follow_up | Takip e-postası bulunamadı. |
Yayımladığı olaylar: meetings.follow_up_sent
Neye yazar: meeting (update) — approved → sent / failed
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, no_follow_up · 429 çok sık istek
meetings.record_capture
Kaydın durumunu not et — Katılıyor, bekleme odası, kaydediyor, bitti ya da başarısız — sağlayıcıdan ya da Era Desktop’tan. Yalnızca sistem.
Gereken izin meetings:handle · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/meetings/{id}/actions/record_capture- Asıl adres:
POST /api/v1/actions/meetings.record_capture
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
state | string (enum) | evet | Durum · İzin verilen değerler: none, requested, joining, waiting_room, recording, ended, failed |
botId | string | Bot · en çok 200 | |
deviceJobId | string | Masaüstü işi · en çok 100 | |
error | string | Neden başarısız oldu · en çok 600 | |
consentMessage | string | Duyuru yapıldı · en çok 1000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
invalid_state | Durum geçerli olmalı ve toplantı henüz kaydedilmemiş olmalı. |
Yayımladığı olaylar: meetings.started, meetings.capture_failed
Neye yazar: meeting (update) — Moves the capture state; a failure releases the reservation
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, invalid_state · 429 çok sık istek
meetings.record_on_desktop
Toplantıyı bilgisayarımda kaydet — Era Desktop toplantının sesini ve mikrofonunu kendi bilgisayarında kaydeder — kimse bot görmez. Herkese söylediğini onaylarsın.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meetings/{id}/actions/record_on_desktop- Asıl adres:
POST /api/v1/actions/meetings.record_on_desktop
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
deviceId | uuid | evet | Era Desktop |
consentConfirmed | boolean | Kaydedildiğini herkese söyledim | |
askOnDevice | boolean | Önce bilgisayarda sor |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
not_upcoming | Bu toplantı zaten bitmiş. |
already_capturing | Bu toplantı zaten kaydediliyor. |
consent_required | Önce kayıt bildirimini onaylayın. |
Neye yazar: meeting (update) — capture → requested on the device, consent noted
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/record_on_desktop \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"deviceId":"DEVICE_ID"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.recordOnDesktop("MEETING_ID", {
deviceId: "DEVICE_ID"
})era meetings record_on_desktop MEETING_ID \
--device-id "DEVICE_ID"{
"name": "era__meetings__record_on_desktop",
"arguments": {
"id": "MEETING_ID",
"deviceId": "DEVICE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, not_upcoming, already_capturing, consent_required · 429 çok sık istek
meetings.rename_speaker
Bir konuşmacının kim olduğunu söyle — Dökümdeki bir sese ad verir (ekip arkadaşı, müşteri, herhangi biri). Toplantı uygulamasının verdiği ad sonraki toplantılar için hatırlanır.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meetings/{id}/actions/rename_speaker- Asıl adres:
POST /api/v1/actions/meetings.rename_speaker
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
speakerKey | string | evet | Konuşmacı · en çok 140 |
name | string | evet | Kim olduğu · en çok 120 |
email | string | E-posta · en çok 320 | |
userId | uuid | Ekip arkadaşı · kimliği: app_user | |
customerId | uuid | Müşteri · kimliği: customer | |
remember | boolean | Bir dahaki sefere hatırla |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı ya da sizin göremeyeceğiniz bir toplantı. |
empty_name | Konuşmacıya bir ad verin. |
invalid_recipient | E-posta geçerli bir e-posta adresi olmalı. |
speaker_not_found | Bu ses toplantıda bulunamadı. |
not_member | Ekip arkadaşı bir üye olmalı. |
Neye yazar: meeting (update) — The speaker and every turn of it get the name; meeting_speaker_alias (insert) — The platform’s name for them is remembered
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/rename_speaker \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"speakerKey":"Speaker","name":"Who it is"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.renameSpeaker("MEETING_ID", {
speakerKey: "Speaker",
name: "Who it is"
})era meetings rename_speaker MEETING_ID \
--speaker-key "Speaker" \
--name "Who it is"{
"name": "era__meetings__rename_speaker",
"arguments": {
"id": "MEETING_ID",
"speakerKey": "Speaker",
"name": "Who it is"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, empty_name, invalid_recipient, speaker_not_found, not_member · 429 çok sık istek
meetings.save_brief
Toplantı brifini kaydet — Kim geliyor, neyi önemsiyorlar, ne söz verdik, dikkat, fırsat — görüşmeden önce. Yalnızca sistem.
Gereken izin meetings:handle · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/meetings/{id}/actions/save_brief- Asıl adres:
POST /api/v1/actions/meetings.save_brief
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
brief | object / array | evet | Brif |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
invalid_payload | Hazırlık notunun biçimi geçersiz. |
Yayımladığı olaylar: meetings.brief_ready
Neye yazar: meeting (update) — Writes the brief
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, invalid_payload · 429 çok sık istek
meetings.schedule
Toplantı ekle — Era’nın katılacağı ya da hazırlanacağı bir toplantı — Zoom, Meet ya da Teams bağlantısını yapıştır; yüz yüze için boş bırak.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meetings/actions/schedule- Asıl adres:
POST /api/v1/actions/meetings.schedule
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
title | string | evet | Ad · en çok 300 |
startsAt | date-time | Başlangıç | |
endsAt | date-time | Bitiş | |
joinUrl | string | Toplantı bağlantısı · en çok 2000 | |
captureMode | string (enum) | Era nasıl not alır · İzin verilen değerler: auto, bot, desktop, none | |
ownerUserId | uuid | Kimin toplantısı · kimliği: app_user | |
customerId | uuid | Müşteri · kimliği: customer | |
leadId | uuid | Fırsat · kimliği: lead | |
conversationId | uuid | Gelen kutusu konuşması · kimliği: conversation | |
knowledgeBaseId | uuid | Notlar için bilgi bankası | |
participants | object / array | Kimler katılıyor | |
source | string (enum) | Ekleyen · İzin verilen değerler: manual, era |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
empty_title | Toplantının bir adı olmalı. |
bad_join_url | Bağlantı bir https adresi olmalı. |
bad_time | Saatler geçerli olmalı ve bitiş başlangıçtan sonra olmalı. |
not_member | Sorumlu kişi bir üye olmalı. |
invalid_payload | Katılımcılar, ad ve e-posta listesi olmalı. |
Yayımladığı olaylar: meetings.scheduled
Neye yazar: meeting (insert) — Writes the meeting
curl -X POST https://app.getera.io/api/v1/meetings/actions/schedule \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"title":"Name"}'{
"ok": true,
"result": "…",
"events": [
"meetings.scheduled"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.schedule({
title: "Name"
})era meetings schedule \
--title "Name"{
"name": "era__meetings__schedule",
"arguments": {
"title": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 empty_title, bad_join_url, bad_time, not_member, invalid_payload · 429 çok sık istek
meetings.send_bot
Era’nın not alıcısını toplantıya gönder — Bir bot Zoom, Meet, Teams ya da Webex görüşmesine katılır, kayıt bildirimini sohbete yazar ve kaydeder. Dakikalar önce kontrol edilip ayrılır.
Gereken izin meetings:write · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır)
https://app.getera.io/api/v1/meetings/{id}/actions/send_bot- Asıl adres:
POST /api/v1/actions/meetings.send_bot
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
not_upcoming | Bu toplantı zaten bitmiş. |
already_capturing | Bu toplantıda zaten bir not alıcı var. |
no_join_link | Bot için toplantı bağlantısı gerekiyor. |
unsupported_platform | Yalnızca Zoom, Meet, Teams, Webex ve GoTo destekleniyor. |
no_bot_key | Bot için işletmenin kendi not alıcı anahtarı gerekir. |
bot_minutes_used_up | Bu ayın not alıcı dakikaları doldu. |
Neye yazar: meeting (update) — capture → requested
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/send_bot \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.sendBot("MEETING_ID")era meetings send_bot MEETING_ID{
"name": "era__meetings__send_bot",
"arguments": {
"id": "MEETING_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, not_upcoming, already_capturing, no_join_link, unsupported_platform, no_bot_key, bot_minutes_used_up · 429 çok sık istek
meetings.send_invite
Takvim davetini gönder — Toplantıyı Google ya da Outlook takvimine yazar ve herkesi davet eder (bağlantısı yoksa Meet ya da Teams bağlantısı açılır).
Gereken izin meetings:write · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır)
https://app.getera.io/api/v1/meetings/{id}/actions/send_invite- Asıl adres:
POST /api/v1/actions/meetings.send_invite
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
not_upcoming | Saati belli, yaklaşan bir toplantı olmalı. |
invite_sent | Bu davet zaten gönderilmiş. |
no_attendees | Davet edilecek, e-postası olan biri gerekiyor. |
no_calendar | Davetin yazılacağı bağlı bir takvim gerekiyor. |
Neye yazar: meeting (update) — invite → pending (the calendar write follows)
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/send_invite \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.sendInvite("MEETING_ID")era meetings send_invite MEETING_ID{
"name": "era__meetings__send_invite",
"arguments": {
"id": "MEETING_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, not_upcoming, invite_sent, no_attendees, no_calendar · 429 çok sık istek
meetings.set_sharing
Toplantıyı kimin göreceğini seç — Sahibi her zaman; ayrıca müşterisini ya da fırsatını açabilenler (varsayılan), yalnızca sen ya da çalışma alanındaki herkes.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meetings/{id}/actions/set_sharing- Asıl adres:
POST /api/v1/actions/meetings.set_sharing
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
sharing | string (enum) | evet | Kim görür · İzin verilen değerler: record, private, workspace |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
invalid_payload | Geçerli bir seçenek seçin. |
not_your_meeting | Buna yalnızca sahibi ya da bir yönetici karar verebilir. |
Neye yazar: meeting (update) — Writes who sees it
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/set_sharing \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"sharing":"record"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.setSharing("MEETING_ID", {
sharing: "record"
})era meetings set_sharing MEETING_ID \
--sharing "record"{
"name": "era__meetings__set_sharing",
"arguments": {
"id": "MEETING_ID",
"sharing": "record"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, invalid_payload, not_your_meeting · 429 çok sık istek
meetings.skip
Toplantıyı kaydetme — Era bu toplantıya girmez: bot yok, kayıt yok. Brif kalır.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meetings/{id}/actions/skip- Asıl adres:
POST /api/v1/actions/meetings.skip
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
not_upcoming | Yalnızca başlamamış bir toplantı atlanabilir. |
Yayımladığı olaylar: meetings.skipped
Neye yazar: meeting (update) — upcoming → skipped
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/skip \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{}'{
"ok": true,
"result": "…",
"events": [
"meetings.skipped"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.skip("MEETING_ID")era meetings skip MEETING_ID{
"name": "era__meetings__skip",
"arguments": {
"id": "MEETING_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, not_upcoming · 429 çok sık istek
meetings.sync_calendar
Takvimin toplantılarını oku — Google ya da Outlook’taki önümüzdeki günlerin etkinlikleri, takvimin katılım kuralıyla toplantı olur. Yalnızca sistem.
Gereken izin meetings:handle · veriyi değiştirir
403 machine_only).https://app.getera.io/api/v1/meeting_calendars/{id}/actions/sync_calendar- Asıl adres:
POST /api/v1/actions/meetings.sync_calendar
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
calendarId | uuid | evet | Doldurulduğu yer: adresteki {id} · Takvim · kimliği: meeting_calendar |
events | object / array | Etkinlikler | |
error | string | Neden okunamadı · en çok 600 | |
internalDomains | object / array | Şirket e-posta alan adları |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
calendar_not_found | Bu takvim burada bağlı değil. |
invalid_payload | Etkinlikler, kimlikleri olan bir liste olmalı. |
Yayımladığı olaylar: meetings.scheduled
Neye yazar: meeting (insert) — New events become meetings; meeting (update) — Moved or cancelled events follow; meeting_calendar (update) — Last read time / error
Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:handle izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 calendar_not_found, invalid_payload · 429 çok sık istek
meetings.update
Toplantıyı değiştir — Ad, saat, bağlantı, Era’nın nasıl kaydedeceği ve hangi müşteri, fırsat, konuşma ve bilgi tabanına ait olduğu.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meetings/{id}/actions/update- REST kısayolu:
PATCH /api/v1/meetings/{id} - Asıl adres:
POST /api/v1/actions/meetings.update
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Toplantı · kimliği: meeting |
title | string | Ad · en çok 300 | |
startsAt | date-time | Başlangıç | |
endsAt | date-time | Bitiş | |
joinUrl | string | Toplantı bağlantısı · en çok 2000 | |
captureMode | string (enum) | Era nasıl not alır · İzin verilen değerler: auto, bot, desktop, none | |
ownerUserId | uuid | Kimin toplantısı · kimliği: app_user | |
customerId | uuid | Müşteri · kimliği: customer | |
leadId | uuid | Fırsat · kimliği: lead | |
conversationId | uuid | Gelen kutusu konuşması · kimliği: conversation | |
knowledgeBaseId | uuid | Notlar için bilgi bankası | |
participants | object / array | Kimler katılıyor |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
meeting_not_found | Bu toplantı bulunamadı. |
empty_title | Toplantının bir adı olmalı. |
bad_join_url | Bağlantı bir https adresi olmalı. |
bad_time | Saatler geçerli olmalı ve bitiş başlangıçtan sonra olmalı. |
not_member | Sorumlu kişi bir üye olmalı. |
not_upcoming | Era’nın nasıl kayıt yapacağı yalnızca toplantıdan önce değiştirilebilir. |
invalid_payload | Katılımcılar, ad ve e-posta listesi olmalı. |
Yayımladığı olaylar: meetings.updated
Neye yazar: meeting (update) — Rewrites the meeting’s details and links
curl -X POST https://app.getera.io/api/v1/meetings/MEETING_ID/actions/update \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"title":"Name"}'{
"ok": true,
"result": "…",
"events": [
"meetings.updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetings.update("MEETING_ID", {
title: "Name"
})era meetings update MEETING_ID \
--title "Name"{
"name": "era__meetings__update",
"arguments": {
"id": "MEETING_ID",
"title": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 meeting_not_found, empty_title, bad_join_url, bad_time, not_member, not_upcoming, invalid_payload · 429 çok sık istek
meetings.update_action_item
Aksiyon maddesini değiştir — Göreve dönüşmeden önce: metin, kim yapacak, ne zamana.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meeting_action_items/{id}/actions/update_action_item- Asıl adres:
POST /api/v1/actions/meetings.update_action_item
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Yapılacak · kimliği: meeting_action_item |
text | string | Ne · en çok 1000 | |
assigneeUserId | uuid | Kim · kimliği: app_user | |
dueAt | date-time | Ne zamana kadar |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
item_not_found | Bu yapılacak bulunamadı. |
item_closed | Yalnızca önerilen bir yapılacak burada değiştirilebilir. |
empty_text | Yapılacakta ne yapılacağı yazmalı. |
not_member | Sorumlu kişi bir üye olmalı. |
Neye yazar: meeting_action_item (update) — Rewrites the item
curl -X POST https://app.getera.io/api/v1/meeting_action_items/MEETING_ACTION_ITEM_ID/actions/update_action_item \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"text":"What"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetingActionItems.updateActionItem("MEETING_ACTION_ITEM_ID", {
text: "What"
})era meeting_action_items update_action_item MEETING_ACTION_ITEM_ID \
--text "What"{
"name": "era__meetings__update_action_item",
"arguments": {
"id": "MEETING_ACTION_ITEM_ID",
"text": "What"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 item_not_found, item_closed, empty_text, not_member · 429 çok sık istek
meetings.update_calendar
Toplantı takvimini değiştir — Era’nın kimlere katılacağı, nasıl kaydedeceği, notların nereye gideceği ya da takvimi duraklat.
Gereken izin meetings:write · veriyi değiştirir
https://app.getera.io/api/v1/meeting_calendars/{id}/actions/update_calendar- Asıl adres:
POST /api/v1/actions/meetings.update_calendar
Girdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Doldurulduğu yer: adresteki {id} · Takvim · kimliği: meeting_calendar |
joinRule | string (enum) | Era katılır · İzin verilen değerler: all, external, organised, off | |
captureMode | string (enum) | Nasıl · İzin verilen değerler: auto, bot, desktop | |
knowledgeBaseId | uuid | Notlar nereye | |
enabled | boolean | Açık | |
label | string | Ad · en çok 120 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
calendar_not_found | Bu takvim burada bağlı değil. |
not_your_calendar | Bunu yalnızca sahibi (ya da bir yönetici) değiştirebilir. |
Neye yazar: meeting_calendar (update) — Rewrites the rule
curl -X POST https://app.getera.io/api/v1/meeting_calendars/MEETING_CALENDAR_ID/actions/update_calendar \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"joinRule":"all"}'{
"ok": true,
"result": "…",
"events": []
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.meetingCalendars.updateCalendar("MEETING_CALENDAR_ID", {
joinRule: "all"
})era meeting_calendars update_calendar MEETING_CALENDAR_ID \
--join-rule "all"{
"name": "era__meetings__update_calendar",
"arguments": {
"id": "MEETING_CALENDAR_ID",
"joinRule": "all"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde meetings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 calendar_not_found, not_your_calendar · 429 çok sık istek
Veri modelleri
MeetingActionItem
Tablo meeting_action_item · Kaynak meeting_action_items
GET /api/v1/meeting_action_itemsGET /api/v1/meeting_action_items/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
meeting_id | string (uuid) · uuid | meeting | ||
text | string · text | |||
assignee_user_id | string (uuid) · uuid | evet | app_user | |
assignee_name | string · text | evet | ||
due_at | string (date-time) · timestamptz | evet | ||
status | string · text | proposed, accepted, done, dismissed | ||
task_id | string (uuid) · uuid | evet | ai_task | |
position | integer · int4 | |||
created_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK (((assignee_name IS NULL) OR (length(assignee_name) <= 120)))CHECK (((length(text) >= 1) AND (length(text) <= 1000)))
MeetingCalendar
Tablo meeting_calendar · Kaynak meeting_calendars
GET /api/v1/meeting_calendarsGET /api/v1/meeting_calendars/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
user_id | string (uuid) · uuid | app_user | ||
provider | string · text | google, microsoft | ||
calendar_id | string · text | |||
label | string · text | evet | ||
account_email | string · text | evet | ||
join_rule | string · text | all, external, organised, off | ||
capture_mode | string · text | auto, bot, desktop | ||
knowledge_base_id | string (uuid) · uuid | evet | ||
is_enabled | boolean · bool | |||
last_synced_at | string (date-time) · timestamptz | evet | ||
sync_error | string · text | evet | ||
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK (((account_email IS NULL) OR (length(account_email) <= 320)))CHECK (((length(calendar_id) >= 1) AND (length(calendar_id) <= 300)))CHECK (((label IS NULL) OR (length(label) <= 120)))CHECK (((sync_error IS NULL) OR (length(sync_error) <= 600)))
MeetingSpeakerAlias
Tablo meeting_speaker_alias · Kaynak meeting_speaker_aliases
GET /api/v1/meeting_speaker_aliasesGET /api/v1/meeting_speaker_aliases/{id}
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
label_key | string · text | |||
label | string · text | |||
name | string · text | |||
email | string · text | evet | ||
user_id | string (uuid) · uuid | evet | app_user | |
customer_id | string (uuid) · uuid | evet | customer | |
created_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz |
Birincil anahtar: id
Denetimler:
CHECK (((email IS NULL) OR (length(email) <= 320)))CHECK (((length(label) >= 1) AND (length(label) <= 120)))CHECK (((length(label_key) >= 1) AND (length(label_key) <= 120)))CHECK (((length(name) >= 1) AND (length(name) <= 120)))
Meeting
Tablo meeting · Kaynak meetings
GET /api/v1/meetingsGET /api/v1/meetings/{id}PATCH /api/v1/meetings/{id}→meetings.updateDELETE /api/v1/meetings/{id}→meetings.delete
| Sütun | Tür | Boş olabilir | İzin verilen değerler | Bağlı olduğu tablo |
|---|---|---|---|---|
id | string (uuid) · uuid | |||
organization_id | string (uuid) · uuid | organization | ||
workspace_id | string (uuid) · uuid | workspace | ||
owner_user_id | string (uuid) · uuid | evet | app_user | |
calendar_id | string (uuid) · uuid | evet | meeting_calendar | |
external_event_id | string · text | evet | ||
title | string · text | |||
starts_at | string (date-time) · timestamptz | evet | ||
ends_at | string (date-time) · timestamptz | evet | ||
join_url | string · text | evet | ||
platform | string · text | zoom, google_meet, teams, webex, goto, in_person, other | ||
source | string · text | manual, calendar, upload, desktop, era | ||
status | string · text | upcoming, capturing, processing, ready, failed, cancelled, skipped | ||
capture_mode | string · text | auto, bot, desktop, upload, none | ||
capture_state | string · text | none, requested, joining, waiting_room, recording, ended, failed | ||
capture_error | string · text | evet | ||
bot_provider | string · text | evet | ||
bot_id | string · text | evet | ||
bot_payer | string · text | evet | ||
device_id | string (uuid) · uuid | evet | ||
device_job_id | string · text | evet | ||
consent | object · jsonb | |||
participants | object · jsonb | |||
customer_id | string (uuid) · uuid | evet | customer | |
lead_id | string (uuid) · uuid | evet | lead | |
conversation_id | string (uuid) · uuid | evet | conversation | |
knowledge_base_id | string (uuid) · uuid | evet | ||
recording_file_id | string (uuid) · uuid | evet | file | |
started_at | string (date-time) · timestamptz | evet | ||
ended_at | string (date-time) · timestamptz | evet | ||
duration_sec | integer · int4 | |||
language | string · text | evet | ||
transcript | object · jsonb | |||
summary | string · text | evet | ||
decisions | object · jsonb | |||
brief | object · jsonb | evet | ||
brief_at | string (date-time) · timestamptz | evet | ||
follow_up | object · jsonb | evet | ||
stage_suggestion | object · jsonb | evet | ||
next_meeting | object · jsonb | evet | ||
brain_ref | string · text | evet | ||
cost_usd | string (decimal) · numeric | |||
source_kind | string · text | evet | ||
error | string · text | evet | ||
created_by | string (uuid) · uuid | evet | app_user | |
created_at | string (date-time) · timestamptz | |||
updated_at | string (date-time) · timestamptz | |||
speakers | object · jsonb | |||
sharing | string · text | record, private, workspace | ||
invite | object · jsonb | evet | ||
audio_expires_at | string (date-time) · timestamptz | evet | ||
audio_deleted_at | string (date-time) · timestamptz | evet | ||
own_notes | string · text | evet |
Birincil anahtar: id
Denetimler:
CHECK (((bot_id IS NULL) OR (length(bot_id) <= 200)))CHECK (((bot_payer IS NULL) OR (bot_payer = 'own_key'::text))) NOT VALIDCHECK (((bot_provider IS NULL) OR (bot_provider = ANY (ARRAY['recall'::text, 'meetingbaas'::text, 'skribby'::text, 'mock'::text]))))CHECK (((capture_error IS NULL) OR (length(capture_error) <= 600)))CHECK ((jsonb_typeof(consent) = 'object'::text))CHECK ((jsonb_typeof(decisions) = 'array'::text))CHECK ((duration_sec >= 0))CHECK (((error IS NULL) OR (length(error) <= 600)))CHECK (((external_event_id IS NULL) OR (length(external_event_id) <= 500)))CHECK (((join_url IS NULL) OR ((join_url ~ '^https://'::text) AND (length(join_url) <= 2000))))CHECK (((language IS NULL) OR (language ~ '^[a-z]{2}(-[A-Z]{2})?$'::text)))CHECK (((own_notes IS NULL) OR (length(own_notes) <= 20000)))CHECK ((jsonb_typeof(participants) = 'array'::text))CHECK (((source_kind IS NULL) OR (source_kind = ANY (ARRAY['native'::text, 'byos'::text, 'byok'::text])))) NOT VALIDCHECK ((jsonb_typeof(speakers) = 'array'::text))CHECK (((summary IS NULL) OR (length(summary) <= 4000)))CHECK (((ends_at IS NULL) OR (starts_at IS NULL) OR (ends_at >= starts_at)))CHECK (((length(title) >= 1) AND (length(title) <= 300)))CHECK ((jsonb_typeof(transcript) = 'array'::text))
Olaylar
İş akışları ve webhook'lar bu olaylara tepki verir.
| Olay | Ne olur | Taşıdığı alanlar |
|---|---|---|
meetings.action_item_accepted | Bir aksiyon maddesi kabul edildi — göreve dönüşüyor. | id, meetingId, meetingTitle, text, assigneeUserId, dueAt, recordType, recordId, recipientUserId |
meetings.action_item_created | Era (ya da bir kişi) toplantıda verilen bir taahhüdü not etti. | id, meetingId, customerId, leadId, text, assigneeUserId, dueAt, recipientUserId |
meetings.brief_ready | Era yaklaşan bir toplantının brifini yazdı. | id, title, startsAt, recipientUserId |
meetings.calendar_connected | Bir üye toplantılara bir takvim bağladı. | id, provider, userId |
meetings.capture_failed | Era bir toplantıyı kaydedemedi ya da işleyemedi. | id, title, error, recipientUserId |
meetings.deleted | Bir toplantı ve notları silindi. | id, recordingFileId |
meetings.ended | Bir toplantı bitti ve notları hazır: özet, kararlar, aksiyon maddeleri, takip taslağı. | id, title, ownerUserId, summary, recipientUserId, customerId, leadId, conversationId, actionItems, hasFollowUp |
meetings.follow_up_approved | Bir kişi takip e-postasını onayladı — kendi posta kutusundan ya da işletme göndericisinden gidiyor. | id, to, subject, text, customerId, leadId, fromConnection, approvedBy |
meetings.follow_up_sent | Takip e-postası göndericiye gitti. | id, to, customerId, leadId |
meetings.invite_sent | Era bir toplantıyı Google ya da Outlook takvimine yazdı ve kişilerini davet etti. | id, title, startsAt, attendees, recipientUserId |
meetings.next_meeting_booked | Toplantıda kararlaştırıldığını Era’nın duyduğu sonraki toplantı eklendi; takvim daveti ardından gönderilir. | id, fromMeetingId, title, startsAt, endsAt, ownerUserId, attendees, invite |
meetings.scheduled | Bir toplantı eklendi — takvimden, elle ya da sonraki toplantı olarak. | id, title, startsAt, ownerUserId, customerId, leadId |
meetings.skipped | Biri Era’ya bir toplantıyı kaydetmemesini söyledi. | id, botProvider, botId |
meetings.stage_accepted | Bir kişi Era’nın toplantıdan sonra önerdiği fırsat aşamasını kabul etti. | id, leadId, stageId, stageName |
meetings.started | Era bir toplantıyı kaydetmeye başladı. | id, title, ownerUserId, mode |
meetings.updated | Bir toplantının ayrıntıları ya da bağlantıları değişti. | id |