Skip to main content
The Tapfiliate REST API has resource-oriented URLs, accepts and returns JSON, and uses standard HTTP methods and status codes.
Every request needs your API key in the X-Api-Key header, see Authentication. Also send Accept: application/json, so errors come back as JSON too.

Versions

This reference describes version 1.6. The version is part of the path of every request. Server-to-server postbacks use the /1.7/pb/ endpoints.

Pagination

Endpoints that return lists are paginated, 25 items per page. Ask for further pages with the page parameter; numbering starts at 1.
Links to other pages come in the Link header:
To read a whole list, follow rel="next" until it is absent.

Rate limits

Limits apply per API key and per endpoint, in a fixed window that starts with your first request. Responses of limited endpoints carry these headers: Over the limit, the API answers 429 Too Many Requests with a plain-text body and no Retry-After header. Wait until X-RateLimit-Reset, then continue. Other endpoints, such as creating conversions and customers, have no fixed limit today. Handle 429 everywhere anyway, so your integration keeps working if limits change.

Errors

The API uses standard HTTP status codes and returns a JSON body explaining the error. Errors lists the formats and the messages integrations run into most often.

Conventions

  • Timestamps are ISO 8601 with a UTC offset, for example 2021-03-03T12:39:19+0000.
  • Properties without a value are returned as null, not omitted.
  • IDs of affiliates and programs are strings, for example janejameson or johns-affiliate-program.