Tablolar API
Tablolar modülünün tüm işlemleri (37) ve veri modelleri (0): adresler, izinler, girdiler, ön koşullar, olaylar ve örnekler.
Size ait tablolar ve her kayda ek alanlar.
Modül kodu data · 37 işlem · 0 veri modeli · 27 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ı: data (hepsi), data:read (yalnız okuma) ya da data:<yetenek>.
İşlemler
| İşlem | Gereken izin | Ne yapar |
|---|---|---|
data.add_column | data:manage | Alan ekle |
data.add_computed_field | data:manage | Arama, özet veya formül alanı ekle |
data.change_column_type | data:manage | Alan türünü değiştir |
data.clear_record_values | data:delete | Alan grubunu kayıttan kaldır |
data.create_relation | data:manage | Başka bir tabloya bağla |
data.create_table | data:manage | Tablo ekle |
data.create_table_group | data:manage | Tablo grubu ekle |
data.delete_row | data:delete | Kaydı sil |
data.delete_row_policy | data:manage | Satır kuralını kaldır |
data.delete_rows | data:delete | Birden çok kaydı sil |
data.delete_table | data:delete | Tabloyu sil |
data.delete_table_group | data:manage | Tablo grubunu sil |
data.duplicate_table | data:manage | Tabloyu çoğalt |
data.duplicate_table_group | data:manage | Bir tablo klasörünü çoğalt |
data.export_rows | data:export | Kayıtları dışa aktar |
data.insert_row | data:write | Kayıt ekle |
data.insert_rows | data:import | Kayıtları içe aktar |
data.link_records | data:write | Kayıtları bağla |
data.move_row | data:write | Kaydı taşı |
data.move_table | data:manage | Tabloyu bir gruba taşı |
data.press_button | data:write | Düğmeye bas |
data.purge_rows | data:delete | Tablonun kayıtlarını temizle |
data.remove_column | data:delete | Alanı kaldır |
data.rename_table | data:manage | Tabloyu düzenle |
data.rename_table_group | data:manage | Tablo grubunu yeniden adlandır |
data.set_display_field | data:manage | Görünen değer yap |
data.set_field | data:write | Özel alanı doldur |
data.set_record_values | data:write | Ek alanları doldur |
data.set_row_policy | data:manage | Kimin hangi satırları göreceğini daralt |
data.set_select_options | data:manage | Seçenekleri düzenle |
data.set_table_permission | data:manage | Tabloyu kimin kullanabileceğini değiştir |
data.unlink_records | data:write | Kayıtların bağını kaldır |
data.update_column | data:manage | Alanı düzenle |
data.update_computed_field | data:manage | Hesaplanan alanı düzenle |
data.update_row | data:write | Kaydı düzenle |
data.update_rows | data:write | Birden çok kaydı düzenle |
data.upsert_row | data:import | Kayıt ekle veya güncelle |
data.add_column
Alan ekle — Bir alan tanımlar — türünü, zorunlu olup olmadığını ve sunduklarını.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.add_columnGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Tablo · kimliği: data_table |
title | string | evet | Etiket · en çok 200 |
fieldKey | string | evet | Anahtar · en çok 100 |
uiType | string | evet | Tür · en çok 40 |
uiHint | string | Şöyle gösterilir · en çok 30 | |
unit | string | Birim · en çok 30 | |
isRequired | boolean | Zorunlu | |
isFilterable | boolean | Filtrelenebilir | |
isListable | boolean | Sütun olarak kullanılabilir | |
isPublic | boolean | Vitrinde görünür | |
helpText | string | Yardım metni · en çok 255 | |
description | string | Açıklama · en çok 2000 | |
color | string | Renk · en çok 7 | |
defaultValue | string | Varsayılan · en çok 500 | |
sortOrder | number | Sipariş | |
referenceModuleCode | string | İşaret ettiği kayıt türü · en çok 60 | |
referenceRecordType | string | Kayıt türü · en çok 60 | |
validation | object / array | Doğrulama | |
options | object / array | Seçimler | |
display | object / array | Nasıl görünür |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
invalid_field_key | Anahtar boşluk içermez — filtrelerde anahtar olarak kullanılır. |
unknown_ui_type | Tür, motorun anladığı türlerden biri olmalı. |
field_key_taken | Bir gruptaki iki alan aynı anahtarı paylaşamaz. |
field_key_taken_on_target | İki grup aynı kayıt türüne aynı anahtarı ekleyemez. |
key_shadows_standard_field | Özel bir alan standart bir alanın adını alamaz. |
enum_without_options | Seçim alanı seçenekler gerektirir. |
invalid_display_option | Görünüm seçeneği alan türünde bulunmalı ve geçerli bir değeri olmalı. |
reference_module_disabled | Gösterdiği modül açık olmalı. |
required_without_default_on_existing_rows | Var olan kayıtlarda bir alanı zorunlu yapmak bir varsayılan değer gerektirir. |
Yayımladığı olaylar: data.column_added
Neye yazar: data_column (insert) — Defines the field; data_select_option (upsert) — Writes its choices
curl -X POST https://app.getera.io/api/v1/actions/data.add_column \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID","title":"Label","fieldKey":"Key","uiType":"Type"}'{
"ok": true,
"result": "…",
"events": [
"data.column_added"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.add_column", {
dataTableId: "DATA_TABLE_ID",
title: "Label",
fieldKey: "Key",
uiType: "Type"
})era data add_column \
--data-table-id "DATA_TABLE_ID" \
--title "Label" \
--field-key "Key" \
--ui-type "Type"{
"name": "era__data__add_column",
"arguments": {
"dataTableId": "DATA_TABLE_ID",
"title": "Label",
"fieldKey": "Key",
"uiType": "Type"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, invalid_field_key, unknown_ui_type, field_key_taken, field_key_taken_on_target, key_shadows_standard_field, enum_without_options, invalid_display_option, reference_module_disabled, required_without_default_on_existing_rows · 429 çok sık istek
data.add_computed_field
Arama, özet veya formül alanı ekle — Değeri hesaplanan bir alan ekler — bağlı kayıtlardan ya da bu kaydın kendi alanlarından.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.add_computed_fieldGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Tablo · kimliği: data_table |
kind | string (enum) | evet | Tür · İzin verilen değerler: lookup, rollup, formula, count, barcode, qr_code, button, created_time, last_modified_time, created_by, last_modified_by, auto_number |
title | string | evet | Ad · en çok 200 |
fieldKey | string | Anahtar · en çok 100 | |
relationColumnId | uuid | Bağlantı üzerinden · kimliği: data_column | |
targetColumnId | uuid | Bağlı tablonun alanı · kimliği: data_column | |
fn | string (enum) | Özet · İzin verilen değerler: count, sum, avg, min, max, countDistinct, sumDistinct, avgDistinct | |
formula | string | Formül · en çok 2000 | |
sourceColumnId | uuid | Kodun taşıdığı alan · kimliği: data_column | |
buttonAction | string (enum) | Tıklanınca · İzin verilen değerler: url, workflow | |
buttonUrl | string | Bağlantı · en çok 2000 | |
buttonLabel | string | Düğme yazısı · en çok 60 | |
buttonColor | string | Düğme rengi · en çok 7 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
wrong_table_kind | Alan grubunun üzerinde hesap yapılacak satırı yoktur. |
unknown_ui_type | Burada yalnızca hesaplanan türler eklenir. |
invalid_button_url | Bağlantı düğmesinin açacağı bir web adresi olmalı. |
title_required | Alanın bir adı olmalı. |
invalid_field_key | Anahtar boşluk içermez — filtrelerde anahtar olarak kullanılır. |
field_key_taken | Bir tablodaki iki alan aynı anahtarı paylaşamaz. |
not_a_link_field | Arama veya özet alanı bu tablonun bir bağlantı alanı üzerinden okur. |
column_not_found | Aranan alan bağlı tablonun alanlarından biri olmalı. |
invalid_formula | Okunamayan bir formül kaydederken reddedilir. |
Yayımladığı olaylar: data.column_added
Neye yazar: data_column (insert) — Defines the computed field
curl -X POST https://app.getera.io/api/v1/actions/data.add_computed_field \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID","kind":"lookup","title":"Name"}'{
"ok": true,
"result": "…",
"events": [
"data.column_added"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.add_computed_field", {
dataTableId: "DATA_TABLE_ID",
kind: "lookup",
title: "Name"
})era data add_computed_field \
--data-table-id "DATA_TABLE_ID" \
--kind "lookup" \
--title "Name"{
"name": "era__data__add_computed_field",
"arguments": {
"dataTableId": "DATA_TABLE_ID",
"kind": "lookup",
"title": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, wrong_table_kind, unknown_ui_type, invalid_button_url, title_required, invalid_field_key, field_key_taken, not_a_link_field, column_not_found, invalid_formula · 429 çok sık istek
data.change_column_type
Alan türünü değiştir — Alanın türünü değiştirir; dönüşmeyecekleri silmek yerine sayısını vererek reddeder.
Gereken izin data:manage · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır) · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/actions/data.change_column_typeGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Alan · kimliği: data_column |
uiType | string | evet | Yeni tür · en çok 40 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
column_not_found | Alan bulunmalı. |
unknown_ui_type | Tür, motorun anladığı türlerden biri olmalı. |
no_change | Yeni tür eskisinden farklı olmalı. |
incompatible_values | Yeni türde okunamayan kayıtlı değerler değişikliği durdurur. |
Yayımladığı olaylar: data.column_changed
Neye yazar: data_column (update) — Retypes the field; data_value (update) — Moves values to the right column
curl -X POST https://app.getera.io/api/v1/actions/data.change_column_type \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_COLUMN_ID","uiType":"New type"}'{
"ok": true,
"result": "…",
"events": [
"data.column_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.change_column_type", {
id: "DATA_COLUMN_ID",
uiType: "New type"
})era data change_column_type \
--id "DATA_COLUMN_ID" \
--ui-type "New type"{
"name": "era__data__change_column_type",
"arguments": {
"id": "DATA_COLUMN_ID",
"uiType": "New type"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 column_not_found, unknown_ui_type, no_change, incompatible_values · 429 çok sık istek
data.clear_record_values
Alan grubunu kayıttan kaldır — Tek bir kayıttan bütün bir ek alan grubunu çıkarır.
Gereken izin data:delete · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/actions/data.clear_record_valuesGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Alan grubu · kimliği: data_table |
recordType | string | evet | Kayıt türü · en çok 60 |
recordId | uuid | evet | Kayıt |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Alan grubu bulunmalı. |
wrong_table_kind | Kendi satırları olan bir tablo bu yolla kaldırılmaz. |
nothing_to_purge | Kaldırılacak kayıtlı bir şey olmalı. |
Yayımladığı olaylar: data.record_values_changed
Neye yazar: data_value (delete) — Deletes the group’s values
curl -X POST https://app.getera.io/api/v1/actions/data.clear_record_values \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID","recordType":"Record type","recordId":"RECORD_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.record_values_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.clear_record_values", {
dataTableId: "DATA_TABLE_ID",
recordType: "Record type",
recordId: "RECORD_ID"
})era data clear_record_values \
--data-table-id "DATA_TABLE_ID" \
--record-type "Record type" \
--record-id "RECORD_ID"{
"name": "era__data__clear_record_values",
"arguments": {
"dataTableId": "DATA_TABLE_ID",
"recordType": "Record type",
"recordId": "RECORD_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, wrong_table_kind, nothing_to_purge · 429 çok sık istek
data.create_relation
Başka bir tabloya bağla — Buraya bir bağlantı alanı, diğer tabloya eşini ekler — çoğa bir, bire çok, çoğa çok veya bire bir.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.create_relationGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Tablo · kimliği: data_table |
targetTableId | uuid | evet | Bağlantı adresi · kimliği: data_table |
kind | string (enum) | evet | Buradaki her kayıt… · İzin verilen değerler: has_many, belongs_to, many_to_many, one_to_one |
title | string | evet | Buradaki alan adı · en çok 200 |
targetTitle | string | Diğer tablodaki alan adı · en çok 200 | |
onDelete | string (enum) | Üst kayıt silindiğinde · İzin verilen değerler: unlink, restrict, cascade |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
target_table_not_found | Bağlanılacak tablo bulunmalı. |
wrong_table_kind | Yalnızca kendi kayıtları olan tablolar bağlanabilir. |
invalid_on_delete | Çoğa çok bağlantının silmeyi zincirleyeceği bir üst kaydı yoktur. |
title_required | Bağlantı alanının bir adı olmalı. |
field_key_taken | Bağlantı alanının anahtarı bu tabloda boşta olmalı. |
Yayımladığı olaylar: data.relation_created
Neye yazar: data_relation (insert) — Records the relation; data_column (insert) — Adds a link field on each side
curl -X POST https://app.getera.io/api/v1/actions/data.create_relation \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID","targetTableId":"DATA_TABLE_ID","kind":"has_many","title":"Field name here"}'{
"ok": true,
"result": "…",
"events": [
"data.relation_created"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.create_relation", {
dataTableId: "DATA_TABLE_ID",
targetTableId: "DATA_TABLE_ID",
kind: "has_many",
title: "Field name here"
})era data create_relation \
--data-table-id "DATA_TABLE_ID" \
--target-table-id "DATA_TABLE_ID" \
--kind "has_many" \
--title "Field name here"{
"name": "era__data__create_relation",
"arguments": {
"dataTableId": "DATA_TABLE_ID",
"targetTableId": "DATA_TABLE_ID",
"kind": "has_many",
"title": "Field name here"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, target_table_not_found, wrong_table_kind, invalid_on_delete, title_required, field_key_taken · 429 çok sık istek
data.create_table
Tablo ekle — Size ait bir tablo ya da başka bir modülün kayıtları için ek alanlar açar.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.create_tableGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
code | string | evet | Sistem adı · en çok 60 |
title | string | evet | Görünen ad · en çok 200 |
description | string | Açıklama · en çok 2000 | |
icon | string | Simge · en çok 40 | |
kind | string (enum) | Tür · İzin verilen değerler: table, extension | |
extendsModuleCode | string | Eklenecek yer · en çok 60 | |
extendsRecordType | string | Kayıt türü · en çok 60 | |
maxRows | number | Kayıt sınırı · en az 1 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
title_required | Tablonun bir görünen adı olmalı. |
invalid_code | Sistem adı snake_case olmalı. |
code_taken | İki tablo aynı sistem adını paylaşamaz. |
extends_unknown_module | Bağlandığı modül bulunmalı. |
extends_module_disabled | Bu modül burada açık olmalı. |
table_limit_reached | Bir çalışma alanının tablo sınırı vardır. |
Yayımladığı olaylar: data.table_created
Neye yazar: data_table (insert) — Opens the table
curl -X POST https://app.getera.io/api/v1/actions/data.create_table \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"code":"System name","title":"Display name"}'{
"ok": true,
"result": "…",
"events": [
"data.table_created"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.create_table", {
code: "System name",
title: "Display name"
})era data create_table \
--code "System name" \
--title "Display name"{
"name": "era__data__create_table",
"arguments": {
"code": "System name",
"title": "Display name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 title_required, invalid_code, code_taken, extends_unknown_module, extends_module_disabled, table_limit_reached · 429 çok sık istek
data.create_table_group
Tablo grubu ekle — İlgili tabloları bir arada tutmak için Tablolar listesinde bir klasör.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.create_table_groupGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
name | string | evet | Ad · en çok 120 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
group_name_required | Grubun bir adı olmalı. |
group_name_taken | İki grup aynı adı taşıyamaz. |
Yayımladığı olaylar: data.table_group_created
Neye yazar: data_table_group (insert) — Adds the group
curl -X POST https://app.getera.io/api/v1/actions/data.create_table_group \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Name"}'{
"ok": true,
"result": "…",
"events": [
"data.table_group_created"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.create_table_group", {
name: "Name"
})era data create_table_group \
--name "Name"{
"name": "era__data__create_table_group",
"arguments": {
"name": "Name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 group_name_required, group_name_taken · 429 çok sık istek
data.delete_row
Kaydı sil — Kendi kayıtlarının sahibi olan bir tablodan satır kaldırır.
Gereken izin data:delete · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/actions/data.delete_rowGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Kayıt · kimliği: data_row |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
row_not_found | Kayıt bulunmalı. |
row_policy_denies | Bir satır kuralı bir kaydı erişiminizin dışına çıkarabilir. |
referenced_by_relation | Silmeyi engelleyecek şekilde ayarlanmış bir bağlantı, alt kayıtları varken üst kaydı korur. |
Yayımladığı olaylar: data.row_deleted
Neye yazar: data_row (delete) — Deletes the row, and its children where a link cascades
curl -X POST https://app.getera.io/api/v1/actions/data.delete_row \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_ROW_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.row_deleted"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.delete_row", {
id: "DATA_ROW_ID"
})era data delete_row \
--id "DATA_ROW_ID"{
"name": "era__data__delete_row",
"arguments": {
"id": "DATA_ROW_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 row_not_found, row_policy_denies, referenced_by_relation · 429 çok sık istek
data.delete_row_policy
Satır kuralını kaldır — Bir satır kuralını siler. Gizlediği satırlar geri gelir.
Gereken izin data:manage · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/actions/data.delete_row_policyGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
policyId | uuid | evet | Kural |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
policy_not_found | Kural bulunmalı. |
Yayımladığı olaylar: data.row_policy_changed
Neye yazar: data_table_policy (delete) — Deletes the rule and its subjects
curl -X POST https://app.getera.io/api/v1/actions/data.delete_row_policy \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"policyId":"POLICY_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.row_policy_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.delete_row_policy", {
policyId: "POLICY_ID"
})era data delete_row_policy \
--policy-id "POLICY_ID"{
"name": "era__data__delete_row_policy",
"arguments": {
"policyId": "POLICY_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 policy_not_found · 429 çok sık istek
data.delete_rows
Birden çok kaydı sil — Seçilen veya filtrelenen kayıtları tek seferde siler; her bağlantının silme kuralına uyar.
Gereken izin data:delete · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/actions/data.delete_rowsGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Tablo · kimliği: data_table |
ids | object / array | Kayıtlar | |
conditions | object / array | Filtre |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
wrong_table_kind | Alan grubunun kendi satırları yoktur. |
filter_matches_nothing | Seçim veya filtre en az bir kayda ulaşmalı. |
filter_too_broad | Toplu silme bir seçim veya filtre gerektirir ve sınırlıdır. |
row_policy_denies | Silinen her kayıt, satır kurallarınızın silmenize izin verdiği bir kayıt olmalı. |
invalid_filter | Derlenemeyen bir filtre reddedilir. |
referenced_by_relation | Silmeyi engelleyecek şekilde ayarlanmış bir bağlantı, alt kayıtları varken üst kaydı korur. |
Yayımladığı olaylar: data.rows_deleted
Neye yazar: data_row (delete) — Deletes the records
curl -X POST https://app.getera.io/api/v1/actions/data.delete_rows \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.rows_deleted"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.delete_rows", {
dataTableId: "DATA_TABLE_ID"
})era data delete_rows \
--data-table-id "DATA_TABLE_ID"{
"name": "era__data__delete_rows",
"arguments": {
"dataTableId": "DATA_TABLE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, wrong_table_kind, filter_matches_nothing, filter_too_broad, row_policy_denies, invalid_filter, referenced_by_relation · 429 çok sık istek
data.delete_table
Tabloyu sil — Bir tabloyu ve alan tanımlarını kaldırır — içi boşaldığında.
Gereken izin data:delete · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/actions/data.delete_tableGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Tablo · kimliği: data_table |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
has_rows | Önce kayıtları temizlenmeli; kaç kayıt olduğu gösterilir. |
referenced_by_relation | Buraya bağlanan başka bir tablo önce bağlantı alanını kaldırmalı. |
Yayımladığı olaylar: data.table_deleted
Neye yazar: data_table (delete) — Deletes the table and its columns
curl -X POST https://app.getera.io/api/v1/actions/data.delete_table \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_TABLE_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.table_deleted"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.delete_table", {
id: "DATA_TABLE_ID"
})era data delete_table \
--id "DATA_TABLE_ID"{
"name": "era__data__delete_table",
"arguments": {
"id": "DATA_TABLE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, has_rows, referenced_by_relation · 429 çok sık istek
data.delete_table_group
Tablo grubunu sil — Klasörü kaldırır. İçindeki tablolar kalır, hiçbir gruba bağlı olmadan.
Gereken izin data:manage · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/actions/data.delete_table_groupGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Grup |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_group_not_found | Grup bulunmalı. |
Yayımladığı olaylar: data.table_group_deleted
Neye yazar: data_table (update) — Takes its tables out of the group; data_table_group (delete) — Deletes the group
curl -X POST https://app.getera.io/api/v1/actions/data.delete_table_group \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"ID_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.table_group_deleted"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.delete_table_group", {
id: "ID_ID"
})era data delete_table_group \
--id "ID_ID"{
"name": "era__data__delete_table_group",
"arguments": {
"id": "ID_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_group_not_found · 429 çok sık istek
data.duplicate_table
Tabloyu çoğalt — Bir tablonun alanlarını ve seçeneklerini, isterseniz kayıtlarını da, yeni bir tabloya kopyalar.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.duplicate_tableGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Tablo · kimliği: data_table |
title | string | Kopyanın adı · en çok 200 | |
withRows | boolean | Kayıtları da kopyala |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
Yayımladığı olaylar: data.table_duplicated
Neye yazar: data_table (insert) — Opens the copy; data_column (insert) — Copies the fields; data_select_option (insert) — Copies the choices; data_row (insert) — Copies the records, when asked
curl -X POST https://app.getera.io/api/v1/actions/data.duplicate_table \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_TABLE_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.table_duplicated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.duplicate_table", {
id: "DATA_TABLE_ID"
})era data duplicate_table \
--id "DATA_TABLE_ID"{
"name": "era__data__duplicate_table",
"arguments": {
"id": "DATA_TABLE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found · 429 çok sık istek
data.duplicate_table_group
Bir tablo klasörünü çoğalt — Bir tablo klasörünü ve tablolarını, isterseniz kayıtlarıyla birlikte kopyalar. Dış bağlantılar ve otomatik işlemler asıl klasörde kalır.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.duplicate_table_groupGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Base |
name | string | evet | Kopyanın adı · en çok 120 |
withRows | boolean | Kayıtları kopyala |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_group_not_found | Kopyalanacak tablo klasörü bulunmalı. |
group_name_required | Kopyanın bir adı olmalı. |
group_name_taken | Kopyanın adı kullanılmıyor olmalı. |
table_not_found | Kopyalanan her tablo hâlâ bulunmalı. |
Yayımladığı olaylar: data.table_group_created, data.table_duplicated
Neye yazar: data_table_group (insert) — Creates the copied Base; data_table (insert) — Copies its tables; data_table (update) — Places copies in the new Base; data_column (insert) — Copies independent fields; data_select_option (insert) — Copies choices; data_row (insert) — Copies records if selected; data_column (update) — Remaps computed field configurations; data_relation (insert) — Copies internal relations; data_row_link (insert) — Copies internal record links
curl -X POST https://app.getera.io/api/v1/actions/data.duplicate_table_group \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"ID_ID","name":"Copy name"}'{
"ok": true,
"result": "…",
"events": [
"data.table_group_created",
"data.table_duplicated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.duplicate_table_group", {
id: "ID_ID",
name: "Copy name"
})era data duplicate_table_group \
--id "ID_ID" \
--name "Copy name"{
"name": "era__data__duplicate_table_group",
"arguments": {
"id": "ID_ID",
"name": "Copy name"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_group_not_found, group_name_required, group_name_taken, table_not_found · 429 çok sık istek
data.export_rows
Kayıtları dışa aktar — Yalnızca ekrandaki sayfayı değil, filtrenin ve satır kurallarınızın bıraktığı her kaydı döndürür.
Gereken izin data:export · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır)
https://app.getera.io/api/v1/actions/data.export_rowsGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Tablo · kimliği: data_table |
conditions | object / array | Filtre | |
search | string | Ara · en çok 200 | |
limit | number | Sınır · en az 1 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
wrong_table_kind | Alan grubunun dışa aktarılacak satırı yoktur. |
invalid_filter | Derlenemeyen bir filtre reddedilir. |
unknown_field | Filtre yalnızca tablodaki alanları belirtebilir. |
Yayımladığı olaylar: data.rows_exported
curl -X POST https://app.getera.io/api/v1/actions/data.export_rows \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.rows_exported"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.export_rows", {
dataTableId: "DATA_TABLE_ID"
})era data export_rows \
--data-table-id "DATA_TABLE_ID"{
"name": "era__data__export_rows",
"arguments": {
"dataTableId": "DATA_TABLE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:export izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, wrong_table_kind, invalid_filter, unknown_field · 429 çok sık istek
data.insert_row
Kayıt ekle — Kendi kayıtlarının sahibi olan bir tabloya satır yazar.
Gereken izin data:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.insert_rowGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Tablo · kimliği: data_table |
data | object / array | evet | Değerler |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
wrong_table_kind | Ek alan tablolarının kendi satırları yoktur. |
row_limit_reached | Bir tablonun kayıt sınırı vardır; okuma devam eder. |
unknown_field | Her anahtar tablodaki bir alan olmalı. |
required_field_missing | Zorunlu alanlar doldurulmalı. |
type_mismatch | Değer, alanının türünde okunabilmeli. |
not_a_member | Kullanıcı alanı bu çalışma alanının üyelerinden birini tutar. |
readonly_field | Salt okunur bir alana yazılamaz. |
invalid_field_format | Doğrulama açıkken değer, alanın biçimine uymalı. |
row_policy_denies | Yeni kaydı yazarından gizleyecek bir satır kuralı yazmayı reddeder. |
Yayımladığı olaylar: data.row_created
Neye yazar: data_row (insert) — Writes the row
curl -X POST https://app.getera.io/api/v1/actions/data.insert_row \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID","data":{}}'{
"ok": true,
"result": "…",
"events": [
"data.row_created"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.insert_row", {
dataTableId: "DATA_TABLE_ID",
data: {}
})era data insert_row --data '{"dataTableId":"DATA_TABLE_ID","data":{}}'{
"name": "era__data__insert_row",
"arguments": {
"dataTableId": "DATA_TABLE_ID",
"data": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, wrong_table_kind, row_limit_reached, unknown_field, required_field_missing, type_mismatch, not_a_member, readonly_field, invalid_field_format, row_policy_denies · 429 çok sık istek
data.insert_rows
Kayıtları içe aktar — Bir tabloya bir grup kayıt yazar — hepsi ya da hiçbiri.
Gereken izin data:import · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır) · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/actions/data.insert_rowsGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Tablo · kimliği: data_table |
rows | object / array | evet | Kayıtlar |
dryRun | boolean | Yalnızca dosyayı kontrol et | |
skipInvalid | boolean | Sorunlu satırları atla |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
wrong_table_kind | Ek alan tablolarının kendi satırları yoktur. |
nothing_to_import | Toplu işlem boş olmamalı. |
import_batch_too_large | Toplu işlemin bir sınırı vardır; dosyayı istemci böler. |
row_limit_reached | Toplu işlemin tamamı tablonun sınırına sığmalı. |
unknown_field | Dosyadaki her sütun tablodaki bir alan olmalı. |
required_field_missing | Zorunlu alanlar doldurulmalı. |
type_mismatch | Değer, alanının türünde okunabilmeli. |
not_a_member | Kullanıcı alanı bu çalışma alanının üyelerinden birini tutar. |
readonly_field | Salt okunur bir alana yazılamaz. |
invalid_field_format | Doğrulama açıkken değer, alanın biçimine uymalı. |
Yayımladığı olaylar: data.rows_imported
Neye yazar: data_row (insert) — Writes the batch
curl -X POST https://app.getera.io/api/v1/actions/data.insert_rows \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID","rows":{}}'{
"ok": true,
"result": "…",
"events": [
"data.rows_imported"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.insert_rows", {
dataTableId: "DATA_TABLE_ID",
rows: {}
})era data insert_rows --data '{"dataTableId":"DATA_TABLE_ID","rows":{}}'{
"name": "era__data__insert_rows",
"arguments": {
"dataTableId": "DATA_TABLE_ID",
"rows": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:import izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, wrong_table_kind, nothing_to_import, import_batch_too_large, row_limit_reached, unknown_field, required_field_missing, type_mismatch, not_a_member, readonly_field, invalid_field_format · 429 çok sık istek
data.link_records
Kayıtları bağla — Diğer tablonun kayıtlarını bir bağlantı alanıyla bu kayda bağlar.
Gereken izin data:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.link_recordsGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
columnId | uuid | evet | Bağlantı alanı · kimliği: data_column |
rowId | uuid | evet | Kayıt · kimliği: data_row |
targetRowIds | object / array | evet | Bağlanacak kayıtlar |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
column_not_found | Bağlantı alanı bulunmalı. |
not_a_link_field | Alan başka bir tabloya bağlantı olmalı. |
row_not_found | Kayıt bu tabloda olmalı. |
row_policy_denies | Bir satır kuralı bir kaydı erişiminizin dışına çıkarabilir. |
link_target_invalid | Bağlanan her kayıt diğer tabloda olmalı. |
link_cardinality | Bire çok ilişkide alt kaydın tek üstü olur; bire birde her birinden birer tane. |
Yayımladığı olaylar: data.records_linked
Neye yazar: data_row_link (insert) — Writes the links
curl -X POST https://app.getera.io/api/v1/actions/data.link_records \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"columnId":"DATA_COLUMN_ID","rowId":"DATA_ROW_ID","targetRowIds":{}}'{
"ok": true,
"result": "…",
"events": [
"data.records_linked"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.link_records", {
columnId: "DATA_COLUMN_ID",
rowId: "DATA_ROW_ID",
targetRowIds: {}
})era data link_records --data '{"columnId":"DATA_COLUMN_ID","rowId":"DATA_ROW_ID","targetRowIds":{}}'{
"name": "era__data__link_records",
"arguments": {
"columnId": "DATA_COLUMN_ID",
"rowId": "DATA_ROW_ID",
"targetRowIds": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 column_not_found, not_a_link_field, row_not_found, row_policy_denies, link_target_invalid, link_cardinality · 429 çok sık istek
data.move_row
Kaydı taşı — Kaydı, tablosunun elle sıralamasında başka bir yere koyar — başka bir kaydın hemen arkasına ya da en üste.
Gereken izin data:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.move_rowGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Kayıt · kimliği: data_row |
afterId | uuid | Sonrasına gelecek kayıt · En üste taşımak için boş bırakın. · kimliği: data_row |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
row_not_found | Kayıt ve arkasına gideceği kayıt aynı tabloda bulunmalı. |
row_policy_denies | Bir satır kuralı bir kaydı erişiminizin dışına çıkarabilir. |
Yayımladığı olaylar: data.row_updated
Neye yazar: data_row (update) — Sets the record’s manual order
curl -X POST https://app.getera.io/api/v1/actions/data.move_row \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_ROW_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.row_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.move_row", {
id: "DATA_ROW_ID"
})era data move_row \
--id "DATA_ROW_ID"{
"name": "era__data__move_row",
"arguments": {
"id": "DATA_ROW_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 row_not_found, row_policy_denies · 429 çok sık istek
data.move_table
Tabloyu bir gruba taşı — Bir tabloyu bir gruba koyar ya da gruptan çıkarır.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.move_tableGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Tablo · kimliği: data_table |
groupId | uuid | Grup |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
table_group_not_found | Grup bulunmalı. |
Yayımladığı olaylar: data.table_moved
Neye yazar: data_table (update) — Sets the table’s group
curl -X POST https://app.getera.io/api/v1/actions/data.move_table \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_TABLE_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.table_moved"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.move_table", {
id: "DATA_TABLE_ID"
})era data move_table \
--id "DATA_TABLE_ID"{
"name": "era__data__move_table",
"arguments": {
"id": "DATA_TABLE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, table_group_not_found · 429 çok sık istek
data.press_button
Düğmeye bas — Bu düğmeyi dinleyen iş akışlarını, basıldığı kayıtla başlatır.
Gereken izin data:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.press_buttonGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
columnId | uuid | evet | Düğme · kimliği: data_column |
rowId | uuid | evet | Kayıt · kimliği: data_row |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
column_not_found | Düğme mevcut olmalı. |
not_a_button | Yalnızca iş akışı başlatan bir düğmeye basılabilir. |
row_not_found | Kayıt mevcut olmalı ve size görünür olmalı. |
Yayımladığı olaylar: data.button_pressed
curl -X POST https://app.getera.io/api/v1/actions/data.press_button \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"columnId":"DATA_COLUMN_ID","rowId":"DATA_ROW_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.button_pressed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.press_button", {
columnId: "DATA_COLUMN_ID",
rowId: "DATA_ROW_ID"
})era data press_button \
--column-id "DATA_COLUMN_ID" \
--row-id "DATA_ROW_ID"{
"name": "era__data__press_button",
"arguments": {
"columnId": "DATA_COLUMN_ID",
"rowId": "DATA_ROW_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 column_not_found, not_a_button, row_not_found · 429 çok sık istek
data.purge_rows
Tablonun kayıtlarını temizle — Tabloya kaydedilmiş her şeyi atar; alanları korur.
Gereken izin data:delete · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/actions/data.purge_rowsGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Tablo · kimliği: data_table |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
nothing_to_purge | Temizlenecek bir şey olmalı. |
referenced_by_relation | Silmeyi engelleyecek şekilde ayarlanmış bir bağlantı temizlemeyi durdurur. |
Yayımladığı olaylar: data.rows_purged
Neye yazar: data_row (delete) — Deletes the rows; data_value (delete) — Deletes the values
curl -X POST https://app.getera.io/api/v1/actions/data.purge_rows \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_TABLE_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.rows_purged"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.purge_rows", {
id: "DATA_TABLE_ID"
})era data purge_rows \
--id "DATA_TABLE_ID"{
"name": "era__data__purge_rows",
"arguments": {
"id": "DATA_TABLE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, nothing_to_purge, referenced_by_relation · 429 çok sık istek
data.remove_column
Alanı kaldır — Bir alan tanımını ve ona kaydedilen her şeyi siler.
Gereken izin data:delete · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır
https://app.getera.io/api/v1/actions/data.remove_columnGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Alan · kimliği: data_column |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
column_not_found | Alan bulunmalı. |
is_primary_display | Kaydın adını veren alan kaldırılamaz. |
used_by_saved_view | Ona göre filtreleyen kayıtlı bir görünüm sessizce boşalırdı. |
used_by_formula | Onu okuyan bir formül sonsuza dek boş kalırdı. |
used_by_relation | Onun üzerinden okuyan bir arama veya özet alanı kaynağını kaybederdi. |
Yayımladığı olaylar: data.column_removed
Neye yazar: data_column (delete) — Deletes the field and its values
curl -X POST https://app.getera.io/api/v1/actions/data.remove_column \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_COLUMN_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.column_removed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.remove_column", {
id: "DATA_COLUMN_ID"
})era data remove_column \
--id "DATA_COLUMN_ID"{
"name": "era__data__remove_column",
"arguments": {
"id": "DATA_COLUMN_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:delete izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 column_not_found, is_primary_display, used_by_saved_view, used_by_formula, used_by_relation · 429 çok sık istek
data.rename_table
Tabloyu düzenle — Tablonun adını ve açıklamasını değiştirir.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.rename_tableGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Tablo · kimliği: data_table |
code | string | Sistem adı · en çok 60 | |
title | string | Görünen ad · en çok 200 | |
description | string | Açıklama · en çok 2000 | |
icon | string | Simge · en çok 40 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
code_taken | İki tablo aynı sistem adını paylaşamaz. |
invalid_code | Sistem adı snake_case olmalı. |
no_change | Bir şeyin değişmesi gerekiyor. |
Yayımladığı olaylar: data.table_renamed
Neye yazar: data_table (update) — Renames the table
curl -X POST https://app.getera.io/api/v1/actions/data.rename_table \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_TABLE_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.table_renamed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.rename_table", {
id: "DATA_TABLE_ID"
})era data rename_table \
--id "DATA_TABLE_ID"{
"name": "era__data__rename_table",
"arguments": {
"id": "DATA_TABLE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, code_taken, invalid_code, no_change · 429 çok sık istek
data.rename_table_group
Tablo grubunu yeniden adlandır — Bir grubun adını veya listedeki yerini değiştirir.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.rename_table_groupGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Grup |
name | string | Ad · en çok 120 | |
sortOrder | number | Konum |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_group_not_found | Grup bulunmalı. |
group_name_required | Grubun bir adı olmalı. |
group_name_taken | İki grup aynı adı taşıyamaz. |
Yayımladığı olaylar: data.table_group_renamed
Neye yazar: data_table_group (update) — Renames the group
curl -X POST https://app.getera.io/api/v1/actions/data.rename_table_group \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"ID_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.table_group_renamed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.rename_table_group", {
id: "ID_ID"
})era data rename_table_group \
--id "ID_ID"{
"name": "era__data__rename_table_group",
"arguments": {
"id": "ID_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_group_not_found, group_name_required, group_name_taken · 429 çok sık istek
data.set_display_field
Görünen değer yap — Bir alanı her kaydın adı yapar — bağlantı etiketlerinde, başlıklarda ve ilk sütunda.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.set_display_fieldGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Alan · kimliği: data_column |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
column_not_found | Alan bulunmalı. |
display_type_unsupported | Seçim, dosya, bağlantı veya hesaplanan bir alan bir kayda ad veremez. |
Yayımladığı olaylar: data.column_changed
Neye yazar: data_column (update) — Moves the display flag to this field
curl -X POST https://app.getera.io/api/v1/actions/data.set_display_field \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_COLUMN_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.column_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.set_display_field", {
id: "DATA_COLUMN_ID"
})era data set_display_field \
--id "DATA_COLUMN_ID"{
"name": "era__data__set_display_field",
"arguments": {
"id": "DATA_COLUMN_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 column_not_found, display_type_unsupported · 429 çok sık istek
data.set_field
Özel alanı doldur — Bir kayıttaki tek bir özel alanı, anahtarı veya etiketiyle bularak yazar; bir seçenek başlığıyla belirtilebilir.
Gereken izin data:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.set_fieldGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
recordType | string | evet | Kayıt türü · en çok 60 |
recordId | uuid | evet | Kayıt |
field | string | evet | Alan · en çok 200 |
value | string | Değer · Boş bırakmak alanı temizler. Birden çok seçenek: "A, B". · en çok 5000 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
field_not_found | Bu kayıt türünde bu ada sahip bir alan bulunamadı. |
option_not_available | Seçim, alanın sunduğu seçeneklerden biri olmalı. |
extends_module_disabled | Kapalı bir modül yeni değer almaz. |
required_field_missing | Zorunlu bir alan boş bırakılamaz. |
type_mismatch | Değer, alanının türünde okunabilmeli. |
readonly_field | Salt okunur bir alana yazılamaz. |
not_a_member | Kişi alanı bu çalışma alanının bir üyesini göstermeli. |
invalid_field_format | Doğrulama açıkken değer, alanın biçimine uymalı. |
Yayımladığı olaylar: data.record_values_changed
Neye yazar: data_value (upsert) — Writes the value
curl -X POST https://app.getera.io/api/v1/actions/data.set_field \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"recordType":"Record type","recordId":"RECORD_ID","field":"Field"}'{
"ok": true,
"result": "…",
"events": [
"data.record_values_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.set_field", {
recordType: "Record type",
recordId: "RECORD_ID",
field: "Field"
})era data set_field \
--record-type "Record type" \
--record-id "RECORD_ID" \
--field "Field"{
"name": "era__data__set_field",
"arguments": {
"recordType": "Record type",
"recordId": "RECORD_ID",
"field": "Field"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 field_not_found, option_not_available, extends_module_disabled, required_field_missing, type_mismatch, readonly_field, not_a_member, invalid_field_format · 429 çok sık istek
data.set_record_values
Ek alanları doldur — Bir alan grubunun değerlerini başka bir modülün kaydına yazar.
Gereken izin data:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.set_record_valuesGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Alan grubu · kimliği: data_table |
recordType | string | evet | Kayıt türü · en çok 60 |
recordId | uuid | evet | Kayıt |
values | object / array | evet | Değerler |
complete | boolean | Tüm form · Kayıt bütün olarak oluşturuluyor veya kaydediliyor: her zorunlu alan doldurulmalı (varsayılan değer de sayılır). |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Alan grubu bulunmalı. |
wrong_table_kind | Kendi satırları olan bir tablo değer değil, satır alır. |
not_a_member | Kişi alanı bu çalışma alanının bir üyesini göstermeli. |
record_type_mismatch | Grup o kayıt türüne ait olmalı. |
extends_module_disabled | Kapalı bir modül yeni değer almaz. |
unknown_field | Her anahtar gruptaki bir alan olmalı. |
required_field_missing | Zorunlu alanlar doldurulmalı. |
type_mismatch | Değer, alanının türünde okunabilmeli. |
readonly_field | Salt okunur bir alana yazılamaz. |
option_not_available | Seçim, alanın hâlâ sunduğu bir seçenek olmalı. |
invalid_field_format | Doğrulama açıkken değer, alanın biçimine uymalı. |
Yayımladığı olaylar: data.record_values_changed
Neye yazar: data_value (upsert) — Writes the values
curl -X POST https://app.getera.io/api/v1/actions/data.set_record_values \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID","recordType":"Record type","recordId":"RECORD_ID","values":{}}'{
"ok": true,
"result": "…",
"events": [
"data.record_values_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.set_record_values", {
dataTableId: "DATA_TABLE_ID",
recordType: "Record type",
recordId: "RECORD_ID",
values: {}
})era data set_record_values --data '{"dataTableId":"DATA_TABLE_ID","recordType":"Record type","recordId":"RECORD_ID","values":{}}'{
"name": "era__data__set_record_values",
"arguments": {
"dataTableId": "DATA_TABLE_ID",
"recordType": "Record type",
"recordId": "RECORD_ID",
"values": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, wrong_table_kind, not_a_member, record_type_mismatch, extends_module_disabled, unknown_field, required_field_missing, type_mismatch, readonly_field, option_not_available, invalid_field_format · 429 çok sık istek
data.set_row_policy
Kimin hangi satırları göreceğini daralt — Bir satır kuralını — koşulu ve uygulandığı herkesle — tek seferde yazar.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.set_row_policyGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Tablo · kimliği: data_table |
policyId | uuid | Kural | |
name | string | evet | Ad · en çok 120 |
permission | string (enum) | evet | Uygulandığı yer · İzin verilen değerler: read, write, delete |
conditions | object / array | Koşul | |
subjects | object / array | evet | Kimin için |
isActive | boolean | Aktif |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
wrong_table_kind | Alan grubunun daraltılacak kendi satırları yoktur. |
title_required | Bir düzenlemeyi reddeden kuralın adlandırılabilir olması gerekir. |
policy_needs_subject | Kimseye uygulanmayan bir kural tabloyu gizlerdi. |
subject_not_found | Kapsam gerçek bir rol veya çalışma alanı üyesi olmalı. |
invalid_filter | Derlenemeyen bir koşul kaydederken reddedilir. |
unknown_field | Koşul yalnızca tablodaki alanları belirtebilir. |
policy_not_found | Bir kuralı düzenlemek için kuralın bulunması gerekir. |
name_taken | Bir tablodaki iki kural aynı adı paylaşamaz. |
Yayımladığı olaylar: data.row_policy_changed
Neye yazar: data_table_policy (upsert) — Writes the rule; data_table_policy_subject (upsert) — Names who it is for
curl -X POST https://app.getera.io/api/v1/actions/data.set_row_policy \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID","name":"Name","permission":"read","subjects":{}}'{
"ok": true,
"result": "…",
"events": [
"data.row_policy_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.set_row_policy", {
dataTableId: "DATA_TABLE_ID",
name: "Name",
permission: "read",
subjects: {}
})era data set_row_policy --data '{"dataTableId":"DATA_TABLE_ID","name":"Name","permission":"read","subjects":{}}'{
"name": "era__data__set_row_policy",
"arguments": {
"dataTableId": "DATA_TABLE_ID",
"name": "Name",
"permission": "read",
"subjects": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, wrong_table_kind, title_required, policy_needs_subject, subject_not_found, invalid_filter, unknown_field, policy_not_found, name_taken · 429 çok sık istek
data.set_select_options
Seçenekleri düzenle — Bir seçim alanının seçenek listesini yeniden yazar; birinin seçtiği bir seçeneği silmeyi reddeder.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.set_select_optionsGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataColumnId | uuid | evet | Alan · kimliği: data_column |
options | object / array | evet | Seçimler |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
column_not_found | Alan bulunmalı. |
column_not_enum | Alan seçenek sunan bir alan olmalı. |
option_in_use | Kayıtların hâlâ seçtiği bir seçenek silinmez, kapatılır. |
Yayımladığı olaylar: data.options_changed
Neye yazar: data_select_option (upsert) — Writes the option list
curl -X POST https://app.getera.io/api/v1/actions/data.set_select_options \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataColumnId":"DATA_COLUMN_ID","options":{}}'{
"ok": true,
"result": "…",
"events": [
"data.options_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.set_select_options", {
dataColumnId: "DATA_COLUMN_ID",
options: {}
})era data set_select_options --data '{"dataColumnId":"DATA_COLUMN_ID","options":{}}'{
"name": "era__data__set_select_options",
"arguments": {
"dataColumnId": "DATA_COLUMN_ID",
"options": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 column_not_found, column_not_enum, option_in_use · 429 çok sık istek
data.set_table_permission
Tabloyu kimin kullanabileceğini değiştir — Bir rol için bir tabloda bir izni verir veya kaldırır.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.set_table_permissionGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Tablo · kimliği: data_table |
roleId | uuid | evet | Rol |
permission | string (enum) | evet | İzin · İzin verilen değerler: TABLE_RECORD_READ, TABLE_RECORD_ADD, TABLE_RECORD_UPDATE, TABLE_RECORD_DELETE, FIELD_EDIT |
granted | boolean | evet | Verildi |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
role_not_found | Rol bulunmalı. |
cannot_lock_out_owner | Sahip erişimini korur; yoksa kimse bunu geri alamaz. |
Yayımladığı olaylar: data.permission_changed
Neye yazar: data_table_permission (upsert) — Writes the permission; data_table_permission_subject (upsert) — Names the role it applies to
curl -X POST https://app.getera.io/api/v1/actions/data.set_table_permission \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID","roleId":"ROLE_ID","permission":"TABLE_RECORD_READ","granted":true}'{
"ok": true,
"result": "…",
"events": [
"data.permission_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.set_table_permission", {
dataTableId: "DATA_TABLE_ID",
roleId: "ROLE_ID",
permission: "TABLE_RECORD_READ",
granted: true
})era data set_table_permission \
--data-table-id "DATA_TABLE_ID" \
--role-id "ROLE_ID" \
--permission "TABLE_RECORD_READ" \
--granted true{
"name": "era__data__set_table_permission",
"arguments": {
"dataTableId": "DATA_TABLE_ID",
"roleId": "ROLE_ID",
"permission": "TABLE_RECORD_READ",
"granted": true
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, role_not_found, cannot_lock_out_owner · 429 çok sık istek
data.unlink_records
Kayıtların bağını kaldır — Bu kayıttan bağlantıları kaldırır. Bağlı kayıtların kendisi kalır.
Gereken izin data:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.unlink_recordsGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
columnId | uuid | evet | Bağlantı alanı · kimliği: data_column |
rowId | uuid | evet | Kayıt · kimliği: data_row |
targetRowIds | object / array | evet | Bağlantısı kaldırılacak kayıtlar |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
column_not_found | Bağlantı alanı bulunmalı. |
not_a_link_field | Alan başka bir tabloya bağlantı olmalı. |
row_not_found | Kayıt bu tabloda olmalı. |
row_policy_denies | Bir satır kuralı bir kaydı erişiminizin dışına çıkarabilir. |
nothing_to_unlink | Bu kayıtlardan en az biri buraya bağlı olmalı. |
Yayımladığı olaylar: data.records_unlinked
Neye yazar: data_row_link (delete) — Removes the links
curl -X POST https://app.getera.io/api/v1/actions/data.unlink_records \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"columnId":"DATA_COLUMN_ID","rowId":"DATA_ROW_ID","targetRowIds":{}}'{
"ok": true,
"result": "…",
"events": [
"data.records_unlinked"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.unlink_records", {
columnId: "DATA_COLUMN_ID",
rowId: "DATA_ROW_ID",
targetRowIds: {}
})era data unlink_records --data '{"columnId":"DATA_COLUMN_ID","rowId":"DATA_ROW_ID","targetRowIds":{}}'{
"name": "era__data__unlink_records",
"arguments": {
"columnId": "DATA_COLUMN_ID",
"rowId": "DATA_ROW_ID",
"targetRowIds": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 column_not_found, not_a_link_field, row_not_found, row_policy_denies, nothing_to_unlink · 429 çok sık istek
data.update_column
Alanı düzenle — Alanın etiketini, yardım metnini, rengini, sırasını ve bayraklarını değiştirir.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.update_columnGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Alan · kimliği: data_column |
title | string | Etiket · en çok 200 | |
uiHint | string | Şöyle gösterilir · en çok 30 | |
unit | string | Birim · en çok 30 | |
isRequired | boolean | Zorunlu | |
isFilterable | boolean | Filtrelenebilir | |
isListable | boolean | Sütun olarak kullanılabilir | |
isPublic | boolean | Vitrinde görünür | |
helpText | string | Yardım metni · en çok 255 | |
description | string | Açıklama · en çok 2000 | |
color | string | Renk · en çok 7 | |
defaultValue | string | Varsayılan · en çok 500 | |
sortOrder | number | Sipariş | |
display | object / array | Nasıl görünür | |
validation | object / array | Doğrulama | |
archived | boolean | Arşivlendi · Formlarda, listelerde ve filtrelerde gizlenir; yanıtları saklanır. |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
column_not_found | Alan bulunmalı. |
required_without_default_on_existing_rows | Var olan kayıtlarda bir alanı zorunlu yapmak bir varsayılan değer gerektirir. |
invalid_display_option | Görünüm seçeneği alan türünde bulunmalı ve geçerli bir değeri olmalı. |
Yayımladığı olaylar: data.column_changed
Neye yazar: data_column (update) — Edits the field
curl -X POST https://app.getera.io/api/v1/actions/data.update_column \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_COLUMN_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.column_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.update_column", {
id: "DATA_COLUMN_ID"
})era data update_column \
--id "DATA_COLUMN_ID"{
"name": "era__data__update_column",
"arguments": {
"id": "DATA_COLUMN_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 column_not_found, required_without_default_on_existing_rows, invalid_display_option · 429 çok sık istek
data.update_computed_field
Hesaplanan alanı düzenle — Bir formülü, bir özetin hesabını, bir arama alanının ya da kodun okuduğu alanı veya bir düğmenin ne yaptığını değiştirir.
Gereken izin data:manage · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.update_computed_fieldGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Alan · kimliği: data_column |
title | string | Ad · en çok 200 | |
formula | string | Formül · en çok 2000 | |
fn | string (enum) | Özet · İzin verilen değerler: count, sum, avg, min, max, countDistinct, sumDistinct, avgDistinct | |
targetColumnId | uuid | Bağlı tablonun alanı · kimliği: data_column | |
sourceColumnId | uuid | Kodun taşıdığı alan · kimliği: data_column | |
buttonAction | string (enum) | Tıklanınca · İzin verilen değerler: url, workflow | |
buttonUrl | string | Bağlantı · en çok 2000 | |
buttonLabel | string | Düğme yazısı · en çok 60 | |
buttonColor | string | Düğme rengi · en çok 7 |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
column_not_found | Alan bulunmalı. |
not_a_computed_field | Kayıtlı bir alan sıradan alan düzenleyiciyle düzenlenir. |
invalid_button_url | Bağlantı düğmesinin açacağı bir web adresi olmalı. |
invalid_formula | Okunamayan bir formül kaydederken reddedilir. |
formula_cycle | Formül sonunda kendini okuyamaz. |
Yayımladığı olaylar: data.column_changed
Neye yazar: data_column (update) — Rewrites what the field computes
curl -X POST https://app.getera.io/api/v1/actions/data.update_computed_field \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_COLUMN_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.column_changed"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.update_computed_field", {
id: "DATA_COLUMN_ID"
})era data update_computed_field \
--id "DATA_COLUMN_ID"{
"name": "era__data__update_computed_field",
"arguments": {
"id": "DATA_COLUMN_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:manage izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 column_not_found, not_a_computed_field, invalid_button_url, invalid_formula, formula_cycle · 429 çok sık istek
data.update_row
Kaydı düzenle — Değerleri satıra ekler — belirtilmeyen alanlar olduğu gibi kalır.
Gereken izin data:write · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.update_rowGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
id | uuid | evet | Kayıt · kimliği: data_row |
data | object / array | evet | Değerler |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
row_not_found | Kayıt bulunmalı. |
unknown_field | Her anahtar tablodaki bir alan olmalı. |
type_mismatch | Değer, alanının türünde okunabilmeli. |
not_a_member | Kullanıcı alanı bu çalışma alanının üyelerinden birini tutar. |
readonly_field | Salt okunur bir alana yazılamaz. |
required_field_missing | Zorunlu bir alan boş bırakılamaz. |
row_policy_denies | Bir satır kuralı bir kaydı erişiminizin dışına çıkarabilir. |
invalid_filter | Koşulu derlenemeyen bir satır kuralı atlanmaz, engeller. |
invalid_field_format | Doğrulama açıkken değer, alanın biçimine uymalı. |
Yayımladığı olaylar: data.row_updated
Neye yazar: data_row (update) — Merges the values in; a null clears the field
curl -X POST https://app.getera.io/api/v1/actions/data.update_row \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"id":"DATA_ROW_ID","data":{}}'{
"ok": true,
"result": "…",
"events": [
"data.row_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.update_row", {
id: "DATA_ROW_ID",
data: {}
})era data update_row --data '{"id":"DATA_ROW_ID","data":{}}'{
"name": "era__data__update_row",
"arguments": {
"id": "DATA_ROW_ID",
"data": {}
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 row_not_found, unknown_field, type_mismatch, not_a_member, readonly_field, required_field_missing, row_policy_denies, invalid_filter, invalid_field_format · 429 çok sık istek
data.update_rows
Birden çok kaydı düzenle — Seçilen veya filtrelenen kayıtlara aynı değerleri verir ya da bir hücre bloğunu yapıştırır — hepsi ya da hiçbiri.
Gereken izin data: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/actions/data.update_rowsGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Tablo · kimliği: data_table |
rows | object / array | Kayda özel değerler | |
ids | object / array | Kayıtlar | |
conditions | object / array | Filtre | |
data | object / array | Değerler |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
wrong_table_kind | Alan grubunun kendi satırları yoktur. |
nothing_to_update | Değiştirilecek bir şey olmalı. |
filter_matches_nothing | Seçim veya filtre en az bir kayda ulaşmalı. |
filter_too_broad | Toplu düzenleme bir seçim veya filtre gerektirir ve sınırlıdır. |
row_not_found | Yapıştırılan her kayıt bu tabloda olmalı. |
row_policy_denies | Dokunulan her kayıt, satır kurallarınızın düzenlemenize izin verdiği bir kayıt olmalı. |
invalid_filter | Derlenemeyen bir filtre reddedilir. |
unknown_field | Her anahtar tablodaki bir alan olmalı. |
type_mismatch | Değer, alanının türünde okunabilmeli. |
readonly_field | Salt okunur veya hesaplanan bir alana yazılamaz. |
invalid_field_format | Doğrulama açıkken değer, alanın biçimine uymalı. |
not_a_member | Kullanıcı alanı bu çalışma alanının üyelerinden birini tutar. |
Yayımladığı olaylar: data.rows_updated
Neye yazar: data_row (update) — Merges the values into each record
curl -X POST https://app.getera.io/api/v1/actions/data.update_rows \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID"}'{
"ok": true,
"result": "…",
"events": [
"data.rows_updated"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.update_rows", {
dataTableId: "DATA_TABLE_ID"
})era data update_rows \
--data-table-id "DATA_TABLE_ID"{
"name": "era__data__update_rows",
"arguments": {
"dataTableId": "DATA_TABLE_ID"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, wrong_table_kind, nothing_to_update, filter_matches_nothing, filter_too_broad, row_not_found, row_policy_denies, invalid_filter, unknown_field, type_mismatch, readonly_field, invalid_field_format, not_a_member · 429 çok sık istek
data.upsert_row
Kayıt ekle veya güncelle — Eşleşme alanında bu değer olan kaydı günceller; yoksa yenisini ekler.
Gereken izin data:import · veriyi değiştirir
https://app.getera.io/api/v1/actions/data.upsert_rowGirdi
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
dataTableId | uuid | evet | Tablo · kimliği: data_table |
matchKey | string | evet | Eşleşme alanı · en çok 100 |
data | object / array | Değerler | |
rows | object / array | Kayıtlar |
Ön koşullar
Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:
| Kod | Ne zaman reddedilir |
|---|---|
table_not_found | Tablo bulunmalı. |
wrong_table_kind | Alan grubunun kendi satırları yoktur. |
no_match_key | Eşleşme alanı kayıtlı bir alan olmalı ve dolu olmalı. |
match_ambiguous | Tek bir değere iki kaydın karşılık gelmesi reddedilir, iki kez güncellenmez. |
nothing_to_import | Toplu işlem boş olmamalı. |
import_batch_too_large | Toplu işlemin bir sınırı vardır; dosyayı istemci böler. |
row_limit_reached | Yeni kayıtlar tablonun sınırının altına sığmalı. |
required_field_missing | Yeni kayıt zorunlu alanlarını doldurmalı. |
row_policy_denies | Güncelleme, satır kurallarınızın düzenlemenize izin verdiği bir kayda olmalı. |
unknown_field | Her anahtar tablodaki bir alan olmalı. |
type_mismatch | Değer, alanının türünde okunabilmeli. |
readonly_field | Salt okunur veya hesaplanan bir alana yazılamaz. |
invalid_field_format | Doğrulama açıkken değer, alanın biçimine uymalı. |
not_a_member | Kullanıcı alanı bu çalışma alanının üyelerinden birini tutar. |
Yayımladığı olaylar: data.row_created, data.row_updated, data.rows_imported
Neye yazar: data_row (upsert) — Adds the record, or merges into the one matched
curl -X POST https://app.getera.io/api/v1/actions/data.upsert_row \
-H "Authorization: Bearer $ERA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"dataTableId":"DATA_TABLE_ID","matchKey":"Match on"}'{
"ok": true,
"result": "…",
"events": [
"data.row_created",
"data.row_updated",
"data.rows_imported"
]
}import { createEra } from "@getera/sdk"
const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.actions.run("data.upsert_row", {
dataTableId: "DATA_TABLE_ID",
matchKey: "Match on"
})era data upsert_row \
--data-table-id "DATA_TABLE_ID" \
--match-key "Match on"{
"name": "era__data__upsert_row",
"arguments": {
"dataTableId": "DATA_TABLE_ID",
"matchKey": "Match on"
}
}Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde data:import izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 table_not_found, wrong_table_kind, no_match_key, match_ambiguous, nothing_to_import, import_batch_too_large, row_limit_reached, required_field_missing, row_policy_denies, unknown_field, type_mismatch, readonly_field, invalid_field_format, not_a_member · 429 çok sık istek
Olaylar
İş akışları ve webhook'lar bu olaylara tepki verir.
| Olay | Ne olur | Taşıdığı alanlar |
|---|---|---|
data.button_pressed | Bir kayıtta iş akışı düğmesine basıldı. | id, dataTableId, columnId, button, pressedBy |
data.column_added | Bir alan tanımlandı. | id, dataTableId, uiType |
data.column_changed | Bir alan düzenlendi ya da türü değişti. | id, uiType |
data.column_removed | Bir alan silindi. | id, dataTableId |
data.options_changed | Bir seçenek listesi değişti. | id |
data.permission_changed | Bir tabloyu kimlerin kullanabileceği değişti. | dataTableId, roleId |
data.record_values_changed | Başka bir modülün kaydındaki ek alanlar yazıldı ya da temizlendi. | dataTableId, recordType, recordId, written |
data.records_linked | Kayıtlar bir kayda bağlandı. | columnId, rowId, count |
data.records_unlinked | Bir kayıttan bağlantılar kaldırıldı. | columnId, rowId, count |
data.relation_created | İki tablo bağlandı. | id, kind, sourceTableId, targetTableId |
data.row_created | Bir kayıt eklendi. | id, dataTableId |
data.row_deleted | Bir kayıt silindi. | id, dataTableId |
data.row_policy_changed | Birinin hangi satırları göreceğini daraltan bir kural yazıldı ya da kaldırıldı. | dataTableId, policyId |
data.row_updated | Bir kayıt düzenlendi. | id, dataTableId |
data.rows_deleted | Birkaç kayıt tek seferde silindi. | dataTableId, count |
data.rows_exported | Kayıtlar platformdan dışa aktarıldı. | dataTableId, count |
data.rows_imported | Bir grup kayıt içe aktarıldı. | dataTableId, count |
data.rows_purged | Bir tablonun kayıtları temizlendi. | id, count |
data.rows_updated | Birkaç kayıt tek seferde düzenlendi. | dataTableId, count |
data.table_created | Bir tablo ya da alan grubu açıldı. | id, kind, extendsModuleCode |
data.table_deleted | Bir tablo silindi. | id, code |
data.table_duplicated | Bir tablo kayıtlarıyla ya da kayıtsız kopyalandı. | id, sourceId, rows |
data.table_group_created | Bir tablo grubu eklendi. | id |
data.table_group_deleted | Bir tablo grubu silindi; tabloları gruptan çıkarıldı. | id |
data.table_group_renamed | Bir tablo grubunun adı ya da yeri değişti. | id |
data.table_moved | Bir tablo bir gruba kondu ya da gruptan çıkarıldı. | id, groupId |
data.table_renamed | Bir tablo düzenlendi. | id |