Bazy i rekordy
Listowanie baz, odczyt pól, tworzenie, pobieranie, aktualizacja i usuwanie rekordów.
Na tej stronie
Najczęstsza praca z API to odczyt i zapis rekordów. Schemat jest zawsze ten sam: znajdź bazę, pobierz jej pola, a potem twórz, czytaj i zmieniaj rekordy, używając identyfikatorów pól.
Lista baz w workspace
/workspace/:workspaceId/databasesZwraca bazy, do których masz dostęp, w polu data.databases. Identyfikator workspace znajdziesz w odpowiedzi GET /me/workspaces.
Jedną bazę pobierzesz przez GET /database/:databaseId, a nową utworzysz przez POST /workspace/:workspaceId/database z polem title i opcjonalnym description.
Pola bazy
/database/:databaseId/propertiesTo najważniejsze zapytanie przed jakimkolwiek zapisem. Każde pole w data.properties ma między innymi:
| Pole | Znaczenie |
|---|---|
id | Identyfikator, którego używasz jako klucza w cellValues |
title | Nazwa widoczna w aplikacji |
type | Typ pola, na przykład text, status, people, date |
canBeModifiedDirectly | Czy wartość da się ustawić przez cellValues |
exampleCellValue | Gotowy przykład wartości dla tego konkretnego pola |
exampleCellValueDescription | Opis zasad dla tej wartości, na przykład czy data przyjmuje zakres |
Utworzenie rekordu
/database/:databaseId/itemcurl -X POST "https://api.staging.hypris.com/v1/database/$DATABASE_ID/item" \
-u "$KEY_ID:$SECRET" \
-H "Content-Type: application/json" \
-d '{
"cellValues": {
"'$NAME_PROPERTY_ID'": "Kawiarnia Ziarno",
"'$STATUS_PROPERTY_ID'": "'$NEW_STATUS_OPTION_ID'"
}
}'Odpowiedź zawiera utworzony rekord. Każda wartość w cellValues ma postać {value, valueType}:
{
"success": true,
"data": {
"databaseItem": {
"id": "6703f1c2a9e4b10012d5e001",
"name": "Kawiarnia Ziarno",
"cellValues": {
"65a1f0c2b3d4e5f601234567": {"value": "Kawiarnia Ziarno", "valueType": "text"}
},
"state": "published",
"createdAt": "2026-10-02T08:00:00.000Z"
}
}
}Pomiń state, żeby rekord był od razu widoczny. Inne stany tworzą rekord ukryty we wszystkich widokach.
Lista rekordów
/database/:databaseId/itemsLista używa metody POST, bo filtr może być duży i przesyłasz go w treści. Parametry stronicowania i sortowania są w adresie:
| Parametr | Gdzie | Znaczenie |
|---|---|---|
offset, limit | adres | Stronicowanie |
sort | adres | Identyfikator pola do sortowania |
sortDirection | adres | 1 rosnąco, -1 malejąco |
search | adres | Wyszukiwanie tekstowe |
filter | treść | Drzewo filtrów |
databasePropertyIds | treść | Zwróć tylko wybrane pola |
curl -X POST "https://api.staging.hypris.com/v1/database/$DATABASE_ID/items?limit=50&offset=0" \
-u "$KEY_ID:$SECRET" \
-H "Content-Type: application/json" \
-d '{}'Rekordy są w data.databaseItems. Jak zbudować filtr, opisuje przewodnik Filtrowanie i sortowanie.
Odczyt jednego rekordu
/item/:databaseItemIdAktualizacja wartości
/item/:databaseItemId/cell-values{
"cellValues": {
"65a1f0c2b3d4e5f601234567": "Kawiarnia Ziarno i Spółka"
}
}Wysyłasz tylko pola, które się zmieniają. Zapis kończy się w tle, więc odpowiedź zawiera jobId. Jeśli chcesz mieć pewność, że wartość została zapisana, sprawdź zadanie przez GET /job/:jobId.
Usunięcie rekordu
/item/:databaseItemIdWiele rekordów naraz
Do pracy na wielu rekordach służą endpointy zbiorcze:
| Metoda | Ścieżka | Co robi |
|---|---|---|
POST | /database/:databaseId/items/create | Tworzy wiele rekordów, w tle (zwraca jobId) |
PATCH | /database/:databaseId/items/cell-values | Ustawia te same wartości w wielu rekordach |
PATCH | /database/:databaseId/items/cell-values-per-item | Ustawia różne wartości w każdym rekordzie |
DELETE | /database/:databaseId/items | Usuwa wiele rekordów |
Pola i widoki
Pola dodasz przez POST /database/:databaseId/property z polem type (na przykład text, status, date) i opcjonalnym title. Widoki obsługują endpointy /database/:databaseId/views i /view/:databaseViewId.