Ocena 5,0 na 5 w serwisie G2
Dokumentacja API
HummingDeck udostępnia REST API dla partnerów integracyjnych i platform automatyzacji. Punkty końcowe uwierzytelniają się tokenem Bearer i zwracają odpowiedzi JSON.
https://app.hummingdeck.com/api/v1Uwierzytelnianie
Każde żądanie do API przesyła token Bearer w nagłówku Authorization. Akceptowane są dwa rodzaje poświadczeń i działają one inaczej.
Metoda
Token Bearer
Format nagłówka
Authorization: Bearer {access_token}
Rodzaje poświadczeń
Token API przestrzeni roboczej
Authorization: Bearer hd_api_...
Dostęp do REST API jest udostępniany na wniosek w planie Business i włączany po rozpatrzeniu osobno dla każdego obszaru roboczego. Następnie właściciele i administratorzy tworzą osobno nazwane klucze API w Ustawieniach obszaru, Integracje, HummingDeck API. Wybierz tylko uprawnienia potrzebne danej integracji. Klucz jest wyświetlany raz podczas tworzenia i nie można go później odzyskać. Wygasa po roku i pozostaje przypisany do swojego obszaru roboczego, więc żądanie nie może wybrać ani zmienić obszaru.
Obszar roboczy może mieć maksymalnie 20 aktywnych kluczy API. Zastąpienie jednego klucza natychmiast unieważnia tylko jego poprzedni sekret; pozostałe klucze nadal działają. Właściciele i administratorzy mogą w dowolnym momencie wyłączyć jeden klucz lub wszystkie klucze. Unieważnienie tego sekretu jest trwałe.
Klucz API obszaru roboczego może wywoływać tylko operacje dozwolone przez wybrane uprawnienia. Endpointy subskrypcji webhooków nie są dostępne dla tych kluczy.
Zapier OAuth
Authorization: Bearer {access_token}
Wydawany przez proces autoryzacji OAuth, gdy przestrzeń robocza łączy integrację Zapier. Tokeny dostępu wygasają po 30 dniach. Użyj tokenu odświeżania, ważnego 90 dni, aby uzyskać nowy bez ponownej autoryzacji.
To jedyne poświadczenia, które mogą tworzyć i usuwać subskrypcje webhooków.
Uprawnienia
Wybierz co najmniej jedno uprawnienie. Uprawnienia do zapisu obejmują również odpowiedni dostęp do odczytu. Możesz zmienić uprawnienia podczas zastępowania klucza.
rooms:readWyświetlanie pokoi, kart, elementów, linków i etykiet.
rooms:writeTworzenie pokoi, kart, elementów, linków i etykiet oraz zarządzanie nimi.
plan:readWyświetlanie etapów i zadań wspólnego planu działania.
plan:writeTworzenie etapów i zadań wspólnego planu działania oraz zarządzanie nimi.
analytics:readWyświetlanie analiz zaangażowania, aktywności i zebranych adresów e-mail.
crm:readWyszukiwanie firm i kontaktów w obszarze roboczym.
crm:writeTworzenie lub aktualizowanie firm, kontaktów i odbiorców linków.
documents:readWyszukiwanie dokumentów i wyświetlanie ich metadanych.
documents:writePrzesyłanie dokumentów i dodawanie dokumentów lub adresów URL do pokoi.
Etykiety uprawnień przy punktach końcowych dotyczą kluczy API obszaru roboczego. Uprawnienia wymagane obowiązują zawsze, dodatkowe są potrzebne razem z nimi, a warunkowe tylko wtedy, gdy żądanie używa powiązanych filtrów lub pól. GET /me nie wymaga uprawnień. Zapier OAuth korzysta ze stałego dostępu integracji.
Kiedy żądanie zwraca 401
Żądanie zwraca 401, gdy klucz jest nieznany lub nieprawidłowy, wygasł, został wyłączony, należy do obszaru roboczego z wyłączonym dostępem do API albo został wydany przez osobę, która nie jest już właścicielem ani administratorem tego obszaru.
Przetestuj połączenie
Sprawdź, czy Twój token jest ważny, i wyświetl profil uwierzytelnionego użytkownika.
/meZwraca imię i nazwisko, adres e-mail oraz informacje o zespole bieżącego użytkownika.
Uprawnienie klucza API nie jest wymagane
Dokumenty
Przesyłaj, wyszukuj i zarządzaj dokumentami (plikami PDF, prezentacjami, propozycjami i innymi plikami).
/decksPrześlij nowy dokument. Wyślij jako multipart/form-data z polem file (PDF, PPTX, DOCX, XLSX, XLS, HTML) i polem title. Limit przesyłania przez API wynosi 30 MB. Przetwarzanie trwa także po przesłaniu; odpowiedź zawiera processingStatus.
documents:write/decksWyświetla do 20 dokumentów, od najnowszych. Opcjonalny parametr zapytania title filtruje po fragmencie tytułu bez rozróżniania wielkości liter.
documents:readGET /decks Pola odpowiedzi
| Field | Type | Description |
|---|---|---|
| id | string | Identyfikator dokumentu |
| title | string | Tytuł dokumentu |
| fileType | string | Typ MIME dokumentu |
| pageCount | integer | null | Liczba stron |
| thumbnailUrl | string | null | URL miniatury |
| processingStatus | string | pending, processing, completed lub failed. Dokument można dodać do pokoju w trakcie przetwarzania; link do niego wyślij, gdy status to completed. |
| processingErrorCode | string | null | Przyczyna niepowodzenia przetwarzania, jeśli do niego doszło |
| createdAt | string | Znacznik czasu ISO 8601 |
POST /decks Pola odpowiedzi
| Field | Type | Description |
|---|---|---|
| id | string | Identyfikator dokumentu |
| title | string | Tytuł dokumentu |
| fileType | string | Typ MIME dokumentu |
| processingStatus | string | pending, processing, completed lub failed. Dokument można dodać do pokoju w trakcie przetwarzania; link do niego wyślij, gdy status to completed. |
| processingErrorCode | string | null | Przyczyna niepowodzenia przetwarzania, jeśli do niego doszło |
Pokoje
Twórz pokoje transakcyjne z dokumentami i linkiem dla odbiorców w jednym wywołaniu, wyszukuj pokoje, zmieniaj ich ustawienia, archiwizuj je i przywracaj oraz porządkuj ich karty i elementy. Funkcja jest dostępna tylko z tokenami API obszaru roboczego; dane uwierzytelniające OAuth Zapier są odrzucane.
/roomsZwraca listę pokoi od najnowszych. Filtruj za pomocą search, status (active, archived lub all) i companyId. Strona zawiera 25 pokoi (do 100 z limit); aby pobrać kolejną stronę, przekaż nextCursor bieżącej strony jako cursor.
rooms:readcrm:read(Required when the companyId filter is present.)/roomsTworzy pokój z dokumentami i pierwszym linkiem dla odbiorców w jednym wywołaniu.
rooms:writedocuments:write(Required when documentIds contains one or more document IDs.)crm:write(Required when the request supplies contactId, recipientName, recipientEmail, companyId, companyName, or when either primaryLink.allowedEmails or primaryLink.allowedDomains is non-empty.)/rooms/{roomId}Zwraca ustawienia pokoju, jego karty i elementy w kolejności wyświetlania oraz liczbę linków.
rooms:read/rooms/{roomId}Zmienia nazwę, wiadomość powitalną, osobę do kontaktu, firmę lub kontakt.
rooms:writecrm:write(Required when companyId or contactId is present, including null to detach the association.)/rooms/{roomId}/archiveArchiwizuje pokój. Jego linki przestają działać.
rooms:write/rooms/{roomId}/restorePrzywraca zarchiwizowany pokój. Jego linki znów działają.
rooms:write/rooms/{roomId}/tabsDodaje kartę w wybranym miejscu lub na końcu.
rooms:write/rooms/{roomId}/tabs/{tabId}Zmienia nazwę karty.
rooms:write/rooms/{roomId}/tabs/orderUstawia wszystkie karty w nowej kolejności.
rooms:write/rooms/{roomId}/tabs/{tabId}Usuwa kartę, która nie pokazuje żadnych elementów.
rooms:write/rooms/{roomId}/itemsDodaje do karty dokument, adres URL, osadzenie lub separator sekcji.
rooms:writedocuments:write(Required when type is document or url.)/rooms/{roomId}/items/{itemId}/movePrzenosi element na koniec innej karty.
rooms:write/rooms/{roomId}/items/orderUstawia elementy jednej karty w nowej kolejności.
rooms:write/rooms/{roomId}/items/{itemId}Usuwa element z pokoju. Pozostaje on w Twojej bibliotece.
rooms:write/rooms/{roomId}/linksWyświetla linki pokoju dla odbiorców, od najnowszych, wraz z aktywnymi zaproszonymi przy każdym linku ograniczonym.
rooms:read/rooms/{roomId}/linksTworzy przypisany otwarty link do aktywnego pokoju.
rooms:writecrm:write/rooms/{roomId}/links/{linkId}Włącza lub wyłącza link, ustawia albo czyści datę wygaśnięcia, lub zastępuje listę dostępu.
rooms:writecrm:write(Required when allowedEmails or allowedDomains is present, including an empty array that clears the audience.)/rooms/{roomId}/action-planZwraca plan działania pokoju: ustawienia, etapy, zadania (także wewnętrzne), zależności i postęp.
plan:read/rooms/{roomId}/action-planZmienia ustawienia planu, w tym to, czy osoby otwierające pokój mogą odhaczać własne zadania.
plan:write/rooms/{roomId}/action-plan/phasesDodaje kamień milowy. Bez pola color etapy zmieniają się kolejno na turkusowy, brzoskwiniowy i niebieski.
plan:write/rooms/{roomId}/action-plan/phases/{phaseId}Zmienia nazwę etapu, przenosi go, zmienia datę lub ustawia kolor. Wysłanie color null przywraca rotację.
plan:write/rooms/{roomId}/action-plan/phases/{phaseId}Usuwa etap. Pole mode jest wymagane: delete_tasks albo move_to_unphased, żeby zadania nie zniknęły przez przypadek.
plan:write/rooms/{roomId}/action-plan/tasksDodaje zadanie. assignee to null, samo pole side dla odpowiedzialnej firmy albo side z adresem email dla konkretnej osoby.
plan:write/rooms/{roomId}/action-plan/tasks/{taskId}Aktualizuje zadanie. Pominięcie assignee zostawia przypisanie bez zmian; wysłanie null je usuwa.
plan:write/rooms/{roomId}/action-plan/tasks/{taskId}Usuwa zadanie. Jego podzadania znikają razem z nim.
plan:write/rooms/{roomId}/action-plan/tasks/{taskId}/statusKończy lub ponownie otwiera zadanie w imieniu obszaru roboczego. Zadanie z nieukończoną zależnością zwraca 409 TASK_BLOCKED.
plan:write/rooms/{roomId}/analyticsWizyty w pokoju, unikalni odbiorcy, średni czas, otwarte dokumenty z całości i średnie ukończenie. Bez botów.
analytics:read/rooms/{roomId}/activityCo wydarzyło się w pokoju, od najnowszych. Wpisy z dyskusji podają nadawcę i nigdy nie zawierają treści wiadomości. Zawęź parametrem since.
analytics:read/rooms/{roomId}/captured-emailsAdresy zebrane przez pokój. Pole source ma wartość verify, gdy osoba potwierdziła adres jednorazowym linkiem, i ask, gdy tylko go wpisała.
analytics:read/room-viewsWejścia do pokoi w całym obszarze roboczym, od najnowszych. Nie ma innego źródła informacji o wejściu; /views obejmuje tylko wyświetlenia dokumentów.
analytics:read/room-labelsWyświetla etykiety pokoi w obszarze roboczym wraz z liczbą pokoi, które ich używają. Tutaj znajdziesz identyfikatory przed oznaczeniem pokoju.
rooms:read/room-labelsTworzy etykietę. Nazwy są unikalne w obszarze roboczym, bez rozróżniania wielkości liter; color to wartość szesnastkowa #RRGGBB.
rooms:write/room-labels/{labelId}Zmienia nazwę etykiety, jej kolor lub opis.
rooms:write/room-labels/{labelId}Usuwa etykietę i jej przypisania. Pokoje, które ją miały, pozostają bez zmian; odpowiedź podaje, ile ją straciło.
rooms:writeUtwórz pokój jednym wywołaniem
Prześlij każdy plik za pomocą POST /decks, a następnie utwórz pokój dla firmy odbiorcy z ograniczonym linkiem dla osób, które mają go zobaczyć. Firma, kontakty, pokój, dokumenty i link powstają razem: jeśli wywołanie zostanie odrzucone, nic nie zostanie utworzone. Dokumenty mogą trafić do pokoju jeszcze w trakcie przetwarzania. Elementy pokoju podają processingStatus, więc wyślij link, gdy każdy dokument będzie miał status completed.
{
"name": "Acme renewal",
"companyName": "Acme Inc",
"recipientName": "Pat Buyer",
"recipientEmail": "pat@acme.example",
"documentIds": [
"{documentId}",
"{documentId}"
],
"primaryLink": {
"accessMode": "verified-allowlist",
"allowedEmails": [
"pat@acme.example",
{
"email": "cfo@acme.example",
"name": "Sam Rivera"
}
],
"allowedDomains": [
"acme.example"
]
}
}accessMode to open (każdy, kto ma URL), verify-any (odwiedzający potwierdzają adres e-mail jednorazowym linkiem) lub verified-allowlist (tylko adresy z allowedEmails i każdy z adresem w domenach z allowedDomains). API samo nikogo nie dodaje do ograniczonego linku, więc dodaj własny adres, jeśli chcesz obejrzeć pokój wcześniej. Opcja, której nie obejmuje Twój plan, zwraca 403 FEATURE_NOT_AVAILABLE, a nieznane pole zwraca 400, dzięki czemu pokój nigdy nie otworzy się dla innych odbiorców niż ci, o których prosisz.
Porządkuj karty i elementy
Zacznij od aktualnego stanu pokoju: odczyt pokoju zwraca jego karty i elementy w kolejności wyświetlania, a każdy element podaje swoją kartę i pozycję na niej, licząc od 0. Dodawaj karty i elementy w wybranej pozycji, przenoś elementy między kartami i wysyłaj pełną nową kolejność karty. Kolejność musi zawierać każdy element karty dokładnie raz, więc odczytaj pokój ponownie, jeśli w międzyczasie nastąpiła inna zmiana. Kartę można usunąć, gdy nie pokazuje już żadnych elementów.
{
"type": "section",
"label": "Commercials",
"tabId": "{tabId}",
"position": 0
}Obsługiwani dostawcy osadzeń
Osadzenia przyjmują link udostępniania lub link osadzenia i normalizują go do formy osadzenia dostawcy. Wszystko spoza tej listy zwraca 400 EMBED_PROVIDER_NOT_SUPPORTED.
| Field | Type | Description |
|---|---|---|
| Wideo | Loom, YouTube, Vimeo, Wistia, Vidyard | |
| Umawianie spotkań | Calendly, Cal.com, SavvyCal, Google Calendar | |
| Formularze | Typeform, Tally, Google Forms, Jotform, Fillout | |
| Projektowanie | Figma, Miro, Canva, Whimsical | |
| Dokumenty i tabele | Google Docs, Google Sheets, Notion, Coda, Airtable | |
| Prezentacje | Google Slides, Pitch, Gamma, Guideflow, Flipsnack, Prezi | |
| Audio | Spotify, SoundCloud |
Dodaj kolejny link dla odbiorców
Każdy pokój ma już link utworzony przez POST /rooms; dodaj kolejne dla odbiorców, którzy potrzebują innego przypisania lub dostępu. Podaj co najmniej jedno z pól recipientName, recipientEmail, contactId, companyId lub companyName. accessMode przyjmuje te same wartości open, verify-any i verified-allowlist co primaryLink, wraz z tymi samymi polami (requireEmail, allowedEmails, allowedDomains, label, expiresAt, allowDownloads). Odrzucone wywołanie, także z powodu limitu planu, nie zostawia żadnego linku, firmy ani kontaktu.
{
"companyName": "Analytical Engines",
"accessMode": "verified-allowlist",
"allowedEmails": [
{
"email": "cfo@analytical.example",
"name": "Sam Rivera"
}
]
}Zaktualizuj link
Cztery pola: isActive, expiresAt, allowedEmails, allowedDomains (dwa ostatnie tylko w linkach verified-allowlist). accessMode i slug nigdy się nie zmieniają; zamiast tego utwórz nowy link. Ponowne włączenie linku sprawdza limit aktywnych linków w planie.
{
"isActive": false
}Zbuduj plan działania
Każdy pokój ma dokładnie jeden plan, więc plan podpina się pod pokój bez własnego identyfikatora. Większość zadań należy do firmy, a nie do osoby: wyślij samo pole side, a plan odczyta je jako firmę. O to właśnie chodzi, gdy nie wiesz, kto po drugiej stronie wykona pracę. Adres email dodaj tylko wtedy, gdy znasz konkretną osobę. Zadanie wewnętrzne nigdy nie pojawia się w pokoju, więc nie może należeć do odbiorcy.
{
"title": "Sign the NDA",
"assignee": {
"side": "buyer"
},
"dueDate": "2026-10-02"
}Pole recipientCompletionEnabled w planie decyduje, czy osoby otwierające pokój mogą odhaczać zadania swojej strony. Domyślnie ma wartość true i jest to jedyne ograniczenie: API nigdy nie prosi o adres odbiorcy, żeby ukończyć zadanie. To, kto odhaczył każde z nich, jest zapisywane z pewnością wynikającą z trybu dostępu pokoju.
Oznaczaj pokoje etykietami
Etykiety obowiązują w całym obszarze roboczym: utwórz je raz i używaj wielokrotnie. Przekaż labelIds w POST /rooms, aby oznaczyć pokój już przy tworzeniu, albo w PATCH /rooms/{roomId}, aby zastąpić cały zestaw; pusta tablica usuwa wszystkie etykiety, a pominięcie pola zostawia je bez zmian. Pokój ma najwyżej pięć, co wynika ze struktury, a nie z ustawienia. Odczyt pokoju zwraca jego etykiety.
{
"labelIds": [
"{labelId}"
]
}Sprawdź, co się wydarzyło
Odpytuj /room-views o wejścia w całym obszarze roboczym, a następnie czytaj analitykę, aktywność i zebrane adresy jednego pokoju. Aby przejść dalej, przekaż nextCursor strony jako cursor; kursor, którego to API nie wydało, zwraca 400 zamiast zaczynać od początku, więc odpytywanie nie powtarza pracy. Zawęź okno aktywności parametrem since i przeglądaj strony za pomocą cursor. /room-views to okno czasowe, a nie archiwum: bez since otrzymasz ostatnie 30 dni, a żądania sięgające dalej niż 90 dni wstecz zostaną odrzucone. Zastosowane okno wraca jako since; wyślij je razem z cursor, aby dalej przeglądać ten sam zestaw.
Firmy i kontakty
Znajdź istniejące rekordy konta lub utwórz nowe z jednoznacznym dopasowaniem. Nazwy firm i adresy e-mail kontaktów są porównywane bez rozróżniania wielkości liter.
/companies?name={name}&domain={domain}Wyszukuje firmy według dokładnej nazwy i opcjonalnej domeny.
crm:read/companiesZnajduje firmę według nazwy bez rozróżniania wielkości liter lub ją tworzy. Jawna domena jedynie wzbogaca rekord.
crm:write/contacts?email={query}Wyszukuje kontakty według adresu e-mail i zwraca dopasowania wraz z powiązaną firmą.
crm:read/contactsZnajduje lub tworzy kontakt według adresu e-mail i opcjonalnie łączy go z firmą.
crm:writeŻądanie POST /companies
| Field | Type | Description | |
|---|---|---|---|
| name | string | wymagane | Nazwa firmy |
| domain | string | opcjonalne | Domena używana do wzbogacenia danych firmy. Nigdy nie służy do dopasowania istniejącej firmy |
Żądanie POST /contacts
| Field | Type | Description | |
|---|---|---|---|
| name | string | warunkowe | Pełne imię i nazwisko. Wymagane, jeśli brak firstName |
| firstName | string | warunkowe | Imię. Wymagane, jeśli brak name |
| lastName | string | opcjonalne | Nazwisko |
| string | wymagane | Adres e-mail używany do jednoznacznego dopasowania | |
| title | string | opcjonalne | Stanowisko |
| companyId | UUID | opcjonalne | Istniejąca firma w uwierzytelnionym obszarze roboczym |
| companyName | string | opcjonalne | Nazwa firmy do znalezienia lub utworzenia |
| companyDomain | string | opcjonalne | Opcjonalna domena do wzbogacenia danych używana z companyName. Nie jest kluczem dopasowania firmy |
Odpowiedź firmy
| Field | Type | Description |
|---|---|---|
| company.id | UUID | Identyfikator firmy |
| company.name | string | Nazwa firmy |
| company.domain | string | null | Znormalizowana domena firmy |
| created | boolean | true, jeśli żądanie POST utworzyło firmę |
Odpowiedź kontaktu
| Field | Type | Description |
|---|---|---|
| contact.id | UUID | Identyfikator kontaktu |
| contact.firstName | string | Imię |
| contact.lastName | string | Nazwisko |
| contact.email | string | Znormalizowany adres e-mail |
| contact.title | string | null | Stanowisko |
| contact.companyId | UUID | null | Identyfikator powiązanej firmy |
| contact.companyName | string | null | Nazwa powiązanej firmy |
| created | boolean | true, jeśli żądanie POST utworzyło kontakt |
| company | object | null | Ustalona firma, jeśli jest dostępna |
| companyCreated | boolean | true, jeśli to żądanie utworzyło firmę |
Webhooki
Subskrybuj zdarzenia w czasie rzeczywistym za pomocą REST Hooks. Gdy wystąpi zdarzenie, HummingDeck wysyła żądanie POST na zarejestrowany adres HTTPS z ładunkiem zdarzenia. Nieudane dostarczenia są ponawiane do 3 razy (po 1 s, 5 s i 30 s). Subskrypcje webhooków są zarządzane przez integrację Zapier i nie są dostępne dla tokenów API przestrzeni roboczej.
/hooksSubskrybuj zdarzenie. Wymaga docelowego adresu HTTPS i typu zdarzenia. Zwraca identyfikator subskrypcji.
Tylko Zapier OAuth
/hooks/{id}Anuluj subskrypcję zdarzenia na podstawie identyfikatora subskrypcji.
Tylko Zapier OAuth
Typy zdarzeń
| Event | Description |
|---|---|
| view.created | Prawdziwa osoba obejrzała udostępniony dokument. Ruch botów (skanery bezpieczeństwa e-mail, crawlery) jest automatycznie filtrowany. |
| decision.made | Potencjalny klient odpowiedział na propozycję: zaakceptował, odrzucił lub poprosił o zmiany. |
| email_captured | Odwiedzający podał swój adres e-mail, aby uzyskać dostęp do treści z bramką. |
Przykładowe ładunki
view.created
{
"event": "view.created",
"data": {
"id": "view_abc123",
"deck_id": "deck_xyz789",
"deck_title": "Q4 Enterprise Proposal",
"viewer_email": "sarah@acme.com",
"viewer_name": "Sarah Wood",
"viewer_company": "Acme Corp",
"location": "San Francisco, CA",
"device": "Desktop",
"browser": "Chrome",
"pages_viewed": 8,
"total_pages": 12,
"duration_seconds": 272,
"completion_percent": 67,
"created_at": "2026-03-29T14:32:00Z"
}
}decision.made
{
"event": "decision.made",
"data": {
"share_slug": "proposal-2024",
"decision": "accepted",
"deck_title": "Q4 Enterprise Proposal",
"viewer_email": "sarah@acme.com",
"viewer_name": "Sarah Wood",
"decision_note": "Approved pending final review",
"decided_at": "2026-03-29T15:30:00Z"
}
}email_captured
{
"event": "email_captured",
"data": {
"email": "prospect@company.com",
"share_slug": "proposal-2024",
"deck_title": "Q4 Enterprise Proposal",
"view_id": "view_xyz789",
"captured_at": "2026-03-29T14:35:00Z"
}
}Wyświetlenia i zdarzenia
Punkty końcowe pollingu do pobierania ostatnich danych zaangażowania. Zwracają te same dane, które webhooki dostarczają w czasie rzeczywistym. Używaj ich do uzupełniania danych, testowania lub jako rezerwę.
/viewsWyświetl 100 ostatnich wyświetleń dokumentów. Sesje botów są wykluczone.
analytics:read/decisionsWyświetl ostatnie decyzje dotyczące propozycji (zaakceptowane, odrzucone, poproszone o zmiany).
analytics:read/emailsWyświetl ostatnie przechwycenia e-maili z treści z bramką.
analytics:readObsługa błędów
Każdy błąd zwraca obiekt JSON z polem error opisującym, co poszło nie tak. Większość odpowiedzi zawiera też pole code do obsługi programistycznej, na przykład PLAN_LIMIT_REACHED, FEATURE_NOT_AVAILABLE, ROOM_NOT_ACTIVE, TAB_NOT_EMPTY, INVALID_FORMAT lub FILE_TOO_LARGE. Kody stanu HTTP są zgodne z przyjętymi konwencjami.
| Status | Meaning |
|---|---|
| 400 | Nieprawidłowe żądanie: brakujące lub nieprawidłowe parametry |
| 401 | Brak autoryzacji: nieprawidłowy lub wygasły Bearer token |
| 403 | Zabronione: poświadczenie nie ma wymaganego scope, osiągnięto limit planu, plan nie obejmuje wymaganej opcji albo ten rodzaj poświadczeń nie jest dozwolony w tym punkcie końcowym |
| 404 | Nie znaleziono: zasób nie istnieje lub nie należy do Twojego zespołu |
| 409 | Konflikt: podane identyfikatory nie są zgodne, pokój jest zarchiwizowany albo karty pokoju nie pozwalają na tę zmianę |
| 413 | Ładunek jest zbyt duży: treść żądania lub przesyłany plik przekracza limit tego punktu końcowego |
| 429 | Zbyt wiele żądań: klucz lub adres IP klienta przekroczył bieżący limit; ponów po czasie podanym w Retry-After |
| 500 | Błąd serwera: ponów żądanie |
Limity liczby żądań
Ręczne klucze obszaru roboczego i połączenia OAuth Zapier mają limity na dane uwierzytelniające: 600 odczytów na 5 minut, 120 zapisów na minutę, 60 żądań /room-views na minutę i 20 przesłań na godzinę. Łącznie dla wszystkich danych uwierzytelniających obszar roboczy ma limit 1 200 odczytów na 5 minut, 240 zapisów na minutę, 120 żądań /room-views na minutę i 40 przesłań na godzinę. Nieudane uwierzytelnienia Bearer i nieprawidłowe uwierzytelnienia klienta OAuth są osobno ograniczone do 60 prób na 5 minut dla każdego adresu IP klienta. Maksymalnie 50 aktywnych subskrypcji webhooków na zespół.
To API jest obecnie używane przez naszą integrację Zapier. W przyszłości mogą być obsługiwane dodatkowe platformy integracyjne.