FAQs

πŸ“˜

Note

For any questions that can't be answered here in the documentation, please reach out to our support team and we'll be happy to help!

I'm seeing a response that is not valid JSON when accessing the API. Why is that?

There may be certain cases where your request is intercepted by the Web Application Firewall that helps protect the CaptivateIQ Platform from malicious or suspicious activity. In these cases, the firewall may return an HTML error page before the request is ever passed to our application.

Requests that contain these types of text may be blocked by a set of heuristics that include but are not limited to payloads with SQL statements or JavaScript code. If you encounter a blocked request that you suspect is a false positive, please feel free to get in touch with us so that we can investigate further. Providing screenshots and other useful debugging information will expedite our ability to look into your request.

How to use the ordering query parameter

We provide the optional ability to order all our list endpoints (e.g. listing employees) unless otherwise stated.

Each endpoint will state the default order, along with what fields are available to be ordered by. By providing an ordering parameter you will override the default ordering value.

For example, to order employees by first_name:

?ordering=first_name

You may also specify reverse orderings by prefixing the field name with '-', like so:

?ordering=-employee_id

Multiple orderings may also be specified by a comma delimited list:

?ordering=employee_id,first_name

If ordering parameters are not included in the available fields list, these values will be ignored.

How to use a query parameter which accepts a list []

Some of the query parameters accept multiple values to be provided. We indicate this by a [] in the query parameter name (e.g. List Data Worksheets)

To use a query parameter which accepts multiple values you will need to include the query parameter multiple times within the query string. For example:

?data_workbook_ids[]=00000000-0000-0000-0000-000000000000&data_workbook_ids[]=00000000-0000-0000-0000-000000000000"

Query parameters which accept lists [] are structured differently from the ordering query parameter.

What are CaptivateIQ's rate limiting tiers?
CaptivateIQ has two tiers: Standard and Enterprise.

The Standard tier:

  • Burst rate limit: 5 requests per second.
  • Sustained rate limit: 1500 requests per hour.

The Enterprise tier:

  • Burst rate limit: 15 requests per second.
  • Sustained rate limit: 6000 requests per hour.
If you receive a 429 response code on an API call, that means that you have reached your tier's rate limit.
How to fix a Bad Gateway 502 Error?

A 502 error response is due to our infrastructure provider terminating any request that takes over 30 seconds to complete.

Some endpoints may take longer to execute as the volume of data being operated upon increases. For example the Data Worksheet - Batch Update Records endpoint will be able to process a batch size of 1,000 rows quickly on a new worksheet and will slowly increment the time for each additional request due to database validation constraints which are in place to maintain data integrity.

If you receive a 502 error the first step you can do is to try and make your request less complex. You may achieve this by requesting less data from an endpoint that has heavy computation or by sending less data to be processed in one request.

For large volume imports we strongly recommend to take advantage of the Bulk Import Data Worksheet Records Recipe which uses asynchronous processing to avoid timeouts and process much larger worksets.