Using the Dexi API
Henrik Hofmeister avatar
Written by Henrik Hofmeister
Updated over a week ago

What should I know about your API?

API access

To configure API access for your dexi.io account, you only need to create an API Key in your account settings. After having done that, continue to our API documentation pages, found inside the dexi.io app (log-in required).

SDKs

We have the following SDKs available:

If you are interested in building an SDK not offered here, please contact us. We would love to discuss your project.

Working with Files

When you build a robot in Dexi that extracts files, the files are stored on Dexi's platform and the results of executing the robot just contain pointers to the actual files, so-called file ids. A file id looks something like this:

FILE:image/jpeg;2974;accounts/7353b678-80b0-48c0-8ecf-232feb7449aa/robots/b1e3b831-090b-4035-b3a9-bd064967327c/runs/fd0dba7d-c4a7-496c-8545-621c1aa32298/executions/fbaabff9-38f2-46b7-a876-fdba0568a307/results/9ad080ab-67fc-4406-a315-af918b7065ff/lines/e27346cd-4188-4081-861e-c0b2dea74b4a/ImageFile

To get a file from a file id, follow the steps below:

  1. Get the results of the execution. This can either be done manually in the UI by clicking the "Download" button on the execution or e.g. via the getResult API method.

  2. The file ids are available in the fields/columns containing files. In the example above, in the "ImageFile" field.

  3. Remove the part of the file id string before "accounts/...". In the example above, the string then becomes "accounts/7353b678-80b0-48c0-8ecf-232feb7449aa/robots/b1e3b831-090b-4035-b3a9-bd064967327c/runs/fd0dba7d-c4a7-496c-8545-621c1aa32298/executions/fbaabff9-38f2-46b7-a876-fdba0568a307/results/9ad080ab-67fc-4406-a315-af918b7065ff/lines/e27346cd-4188-4081-861e-c0b2dea74b4a/ImageFile"

  4. URL encode this string as it may contain file paths. In the example above, the string remains unchanged.

  5. Pass the string as input to the getResultFile API method to download the actual file.

Rate Limit/Throttling

The API rate limits for HTTP methods are currently as follows:

  • GET: approximately 75 requests per second per IP

  • POST/PUT/DELETE: approximately 15 requests per second per IP

  • getResultFile/getFile: approximately 15 requests per second per IP

These limits are subject to change if they cause significant interruption to the system or if we scale up or down the parts of the system that handle API requests. However, we will notify users in advance of bigger changes to the numbers.

Performing a higher number of requests than these will cause HTTP 429 "Too Many Requests" responses.

A very high number of concurrent requests is considered a denial-of-service (DoS) attack, so please keep the number of requests below the limits specified above.
โ€‹

Additional Information

Several videos discussing the dexi.io API are available here:


โ€‹

Did this answer your question?