This guide is intended for Developers integrating BlastIQ data into their applications and other users wanting to directly access their BlastIQ data using the BlastIQ External API.
Introduction
The BlastIQ External API currently allows authorised users and authenticated systems to read their blasting information from BlastIQ, including:
- Drill Hole Designs
- Drill Hole QA/QC Actual Measurement history
- Bulk Explosive Loading Designs
- Bulk Explosive Loading Actual Measurement history
- Drilling records
It also allows authorised users and authenticated systems to write their blasting information to BlastIQ, including
- Drill Hole Designs
- Drill As Drilled Records
- Drill Hole Measurement Records
- Bulk Explosive Loading Designs
Application Version Compatibility
Some new features on the API may not be supported by older versions of BlastIQ applications. Always update the BlastIQ applications on your site, if you use incompatible application versions you should not use the new API features until they have been updated.
The following table lists new features and compatible application versions when all production versions of BlastIQ applications make use of new features, they will be removed from this table.
Feature | Mobile Version | LOADPlus Version | SHOTPlus version |
Hole Accessories | v1.4.4449 | N/A | v6.x.x |
Plan Accessories | v1.4.4449 | N/A | v6.x.x |
Rename Holes | v1.4.4449 | 3.2.2+ | None |
Move Holes | v1.4.4449 | 3.2.2+ | None |
Initiator Design | v1.7.7425 | N/A | N/A |
API Request Limits
When integrating with BlastIQ API, please consider the number of calls made to BlastIQ. BlastIQ enforces the following rate limits:
- 20 requests per 10 seconds (2 requests per second)
- 60 requests per minute (1 request per second)
- 1200 requests per 4 hours (5 requests per minute)
Measures to prevent rate limit exceedance:
- Make API calls sequentially rather than in parallel.
- Delay 1s between API calls.
- Delay 5s between calls to IsReady.
- Only retrieve modified data rather than all data.
- Many BlastIQ APIs support modifiedSince or receivedSince to reduce data returned.
If the above limits do not meet your requirements, please get in touch with BlastIQ support.
Notification of changes
If you are interested in staying up to date with changes to the BlastIQ API please subscribe to updates at https://status.blastiq.com/ to be automatically notified as new features are released, when changes are planned that may impact your integration or an incident interrupts service.
Providing feedback
We welcome feedback on the BlastIQ APIs and suggestions for improvement, you can make suggestions and support the suggestions of other users at https://feedback.blastiq.com/forums/920356-integrations
Getting Help
If you have questions or would like assistance with integration to BlastIQ, please raise a support ticket and we would be happy to assist you
Authorisation flow
Please see the Authorisation Flow support documentation here: https://support.blastiq.com/hc/en-us/articles/360048345774
Testing and interacting with the BlastIQ External API
A Swagger page is available to test the BlastIQ External API at:
https://api.blastiq.com/swagger/index.html
The Swagger page provides details on data types, response codes and other information for developers.
When using Swagger, a blastiq.com login can be used for authentication.
Select the Authorize button at the top of the Swagger page. When presented with the Available authorizations window, ensure cosmos is selected (image below). The client_id is cosmos.external.swagger, and the client_secret remains blank. After selecting Authorize, you will be asked to log into BlastIQ.
Available API Methods
Use the Interactive Swagger page at https://api.blastiq.com/swagger/index.html to view available methods, parameters and example responses. The Schemas section at the bottom of the page provides a purpose, example and data type for every field.
To be Retired API Properties
The following properties will be retired and should not longer be integrated on:
- HolePost.metadata
- Hole.metadata
- PlanPost.metadata
- Plan.metadata
- hole.wetTolerance (use plan.tolerances instead)
- hole.backfillTolerance (use plan.tolerances instead)
- hole.redrillTolerarance (use plan.tolerances instead)
- planPost.holeTolerances (use planPost.tolerances isntead)
The properties have already been moved from our published swagger schema. However, for the moment they are still supported in the json document while clients transition away from their use.
API Version Status
Version 1: Deprecated Q1 2018
Version 2: Deprecated Q2 2020
Version 3: Production Q3 2019