The Mobile Security Results API provides access to the list of all mobile apps registered within your organization’s Data Theorem account, and the list of scans and security issues found during scanning of the apps.
If your organization uses Jira as its bug tracker, you should see Integrating with Jira instead.
The Mobile Security Results API provides API operations for the following resources:
GET https://api.securetheorem.com/apis/mobile_security/results/v2/mobile_appsGET https://api.securetheorem.com/apis/mobile_security/results/v2/mobile_apps/:idGET https://api.securetheorem.com/apis/mobile_security/results/v2/mobile_apps/:mobile_app_id/scansGET https://api.securetheorem.com/apis/mobile_security/results/v2/mobile_apps/:mobile_app_id/scans/:idGET https://api.securetheorem.com/apis/mobile_security/results/v2/mobile_apps_changesGET https://api.securetheorem.com/apis/mobile_security/results/v2/mobile_apps_changes_statsGET https://api.securetheorem.com/apis/mobile_security/results/v2/mobile_apps_monthly_security_metricsGET https://api.securetheorem.com/apis/mobile_security/results/v2/mobile_apps_security_kpisGET https://api.securetheorem.com/apis/mobile_security/results/v2/mobile_apps/:mobile_app_id/sdksGET https://api.securetheorem.com/apis/mobile_security/results/v2/security_findingsGET https://api.securetheorem.com/apis/mobile_security/results/v2/security_findings/:security_finding_idGET https://api.securetheorem.com/apis/mobile_security/results/v2/security_finding_targetsGET https://api.securetheorem.com/apis/mobile_security/results/v2/security_finding_targets/:security_finding_target_idPATCH https://api.securetheorem.com/apis/mobile_security/results/v2/security_finding_targets/:security_finding_target_idAs explained on API Conventions – API Versioning, Data Theorem uses semantic versioning for our APIs. We publish our APIs on a path that includes the major version number of the API.
The current version of the Mobile Security Results API is v2, and its base URL is:
1 | https://api.securetheorem.com/apis/mobile_security/results/v2/ |
It is also available at the following base URL, but it is not recommended for new integrations:
1 | https://api.securetheorem.com/resultsapi/v2/ |
Additionally, Data Theorem still maintains a v1 API, but it is deprecated and thus no longer publicly documented. Anyone still using the v1 API is strongly encouraged to switch to the v2 API.
The Mobile Security Results API requires clients to use a standard API Key in order to access data about their mobile apps.
Note that an API Key may have access to all mobile apps (and their related data), or they might be restricted to only accessing certain mobile apps. This can be configured in Data Theorem’s portal.
See API Conventions – Authentication and Authorization for more information.
The Mobile Security Results API follows RESTful conventions:
GET, POST, PATCH, DELETE, PUT) to convey the intent of a
request.POST, PATCH, and PUT methods)In general, the Results API provides conventional HTTP response codes to indicate success or failure of an API request.
2XX: Successful requests.
4XX: Failed requests due to authentication issues or resources that do not exist.
5XX: Failed requests due to server errors.
CORS is not supported by the Mobile Security Results API. Enabling CORS headers would allow building web applications that make cross-origin HTTP requests to the Results API. Such an application would by design leak the API Key used to all users of the web application.
1 | curl -H "Authorization: APIKey 1234567890abcdefgh" -X GET https://api.securetheorem.com/apis/mobile_security/results/v2/mobile_apps |
API operations that return collections are paginated. If there are additional pages of results, then the next page can
be retrieved by calling the same endpoint again, with the same query parameters, as well as the with the next_cursor
provided by the previous page’s response (located in the response’s pagination_information). This should be repeated
until the last page, which does not return a next_cursor.
For example, given a request to the “List Mobile Apps” endpoint:
1 | GET https://api.securetheorem.com/apis/mobile_security/results/v2/mobile_apps?release_type=APP_STORE |
The response might look like:
1 | { |
The pagination_information entry contains all the details concerning pagination. In this case, the total number of
items is given by the total_count field showing that there are 256 apps associated with this query. If other query
parameters were used to filter the mobile apps, the total_count would reflect the total number of matching apps for
those queries. Additionally, the next_cursor field contains a cursor that points to the next page, provided that all
the other query parameters are kept the same. The next page of results can therefore be fetched as follows:
1 | GET https://api.securetheorem.com/apis/mobile_security/results/v2/mobile_apps?release_type=APP_STORE&cursor=kEgkIjrCzvdns0QISRmoRc35kaXNjb |
The second page’s response will also contain a pagination_information field, which will include a next_cursor if
there are any remaining pages. To fetch all items in a paginated collection, you should repeatedly call the endpoint
with each subsequent cursor until a page of results does not return a next_cursor.