> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tapify.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Verzoeken en antwoorden

> Verstuur JSON, haal lijsten op en handel fouten en API-limieten af.

Gebruik de methode die bij het endpoint staat: `GET` om gegevens op te halen, `POST` om iets aan te maken, `PATCH` om gegevens bij te werken en `DELETE` om iets te verwijderen. Bij het aanmaken van een contact kan Tapify ook een bestaand contact bijwerken op basis van het e-mailadres.

## JSON versturen

Stuur bij `POST` en `PATCH` een JSON-object mee met `Content-Type: application/json`:

```bash theme={null}
curl https://tapify.app/api/v1/contacts \
  --request POST \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{"fullName":"Mina Park","email":"mina@example.com"}'
```

Stuur alleen velden mee die bij het endpoint zijn beschreven. Laat bij een update de velden weg die je wilt behouden. Gebruik `null` om een optioneel tekstveld leeg te maken. Arrays zoals `tags` en `contactDetails` vervangen de volledige lijst als je ze meestuurt; `[]` verwijdert alle items.

## Geslaagde verzoeken

Bij workspaces, contacten en teamleden staat het resultaat in `data`. Een lijst bevat daarnaast `pagination`. Na een geslaagde verwijdering krijg je `204 No Content` zonder antwoordbody.

De endpoints voor het aanmaken van contacten en teamleden geven `201` terug voor een nieuw item, of `200` als een bestaand item wordt gevonden. Controleer `data.created` om het verschil te zien. Bij een bestaand contact worden de meegestuurde velden bijgewerkt. Een bestaand teamlid wordt ongewijzigd teruggegeven.

> [!NOTE]
>
> De Zapier-endpoints voor triggers gebruiken een andere antwoordstructuur: contactvoorbeelden staan direct in een array en een abonnement wordt direct als object teruggegeven. Elk Zapier-endpoint toont de bijbehorende structuur.

## Paginering

De lijstendpoints voor contacten en teamleden geven maximaal 100 items per verzoek terug.

| Parameter | Wat doet deze? | Standaard |
| - | - | - |
| `limit` | Aantal items, van 1 tot 100 | `100` |
| `offset` | Aantal items om over te slaan | `0` |

Zo vraag je bijvoorbeeld één contact op:

```bash theme={null}
curl "https://tapify.app/api/v1/contacts?limit=1&offset=0" \
  --header "Authorization: Bearer YOUR_API_KEY"
```

In dit voorbeeld zijn enkele contactvelden weggelaten:

```json theme={null}
{
  "data": [
    {
      "id": "f08f7c49-8f1e-42ac-b5ac-e0d6bd37d938",
      "fullName": "Mina Park"
    }
  ],
  "pagination": {
    "limit": 1,
    "offset": 0,
    "total": 74,
    "hasMore": true
  }
}
```

Tel het aantal ontvangen items op bij `offset` voor het volgende verzoek. Stop zodra `hasMore` de waarde `false` heeft. Houd steeds dezelfde sortering aan. Lijsten kunnen veranderen terwijl je ze ophaalt. Gebruik daarom de `id` van elk item om te voorkomen dat je het twee keer verwerkt.

Contacten kun je ook [sorteren op aanmaak- of wijzigingsdatum](https://docs.tapify.app/nl/api-reference/contacts/list.md#choose-the-order). Deze lijstendpoints hebben geen zoekfilter of filter op een datumbereik.

## Fouten

Veldnamen en foutmeldingen van de API blijven in het Engels. Fouten van ondersteunde endpoints bevatten een code en een bericht:

```json theme={null}
{
  "error": {
    "code": "bad_request",
    "message": "fullName is required."
  }
}
```

Sommige fouten bevatten extra informatie in `details`. Gebruik de HTTP-status en foutcode om te bepalen wat je moet doen.

| Status | Code | Wat kun je controleren? |
| - | - | - |
| `400` | `bad_request` | Verplichte velden, veldwaarden en de JSON-opmaak. |
| `401` | `invalid_api_key` | De volledige API-sleutel en de authenticatieheader. |
| `402` | `subscription_required` | Toegang tot Teams Connect en de betaalstatus van de workspace. |
| `404` | `not_found` | De ID van het item en de workspace die bij je sleutel hoort. |
| `409` | `conflict` | Het e-mailadres van het teamlid is al in gebruik buiten deze workspace. |
| `413` | `payload_too_large` | Houd algemene JSON-bodies binnen 256 KB (262.144 bytes). Bij Zapier-abonnementen mogen verzoeken maximaal 8 KB groot zijn. |
| `429` | `rate_limited` | Wacht het aantal seconden dat in `Retry-After` staat. |
| `500` | `internal_error` | Probeer het na een korte wachttijd opnieuw. [Neem contact op met support](https://tapify.app/nl/contact/support) als de fout blijft optreden. |

Een niet-ondersteunde HTTP-methode geeft `405 Method Not Allowed` terug. Dit antwoord gebruikt mogelijk niet de bovenstaande JSON-structuur.

## API-limieten en opnieuw proberen

Deze limieten gelden per API-sleutel:

| Type verzoek | Limiet |
| - | - |
| `GET` | 120 per minuut |
| `POST`, `PATCH` en `DELETE` samen | 30 per minuut |

Een `429`-antwoord bevat `Retry-After` in seconden. Wacht minstens zo lang voordat je het opnieuw probeert.

> [!TIP]
>
> Controleer na een time-out of serverfout bij het opslaan of de wijziging toch is verwerkt. Herhaal het verzoek pas daarna. Een contact opnieuw aanmaken zonder e-mailadres kan een dubbel contact opleveren.

## Datums en ID's

Datums gebruiken ISO 8601, zoals `2026-07-28T09:30:00.000Z`. Lege optionele velden zijn meestal `null`. Bewaar ID's als strings en gebruik de door Tapify teruggegeven ID's in latere verzoeken.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.