Authentication
The Hubbl API uses HTTP Basic Authentication to secure all API requests. You must include
your API credentials in the Authorization header of every request.
Credentials
- Username: Your API Key ID
- Password: Your API Key Secret
Example Request
Here's how to authenticate using cURL:
curl -X GET "https://api.hubbl.com/orgs/{orgId}" \
-u "YOUR_API_KEY_ID:YOUR_API_KEY_SECRET"
Or using the Authorization header directly:
curl -X GET "https://api.hubbl.com/orgs/{orgId}" \
-H "Authorization: Basic BASE64_ENCODED_CREDENTIALS"
Note: Replace BASE64_ENCODED_CREDENTIALS with the Base64-encoded value of
YOUR_API_KEY_ID:YOUR_API_KEY_SECRET.
Orgs
getOrgById
Returns a summary of information about an organization.
/orgs/{orgId}
Parameters
| Name | Description |
|---|---|
| orgId* |
String
Salesforce Organization ID Required
|
Responses
Status: 200 - Org details
Status: 404 - Org not found
getOrgConnectedAppById
Retrieves a single connected app by its ID for a specific organization.
/orgs/{orgId}/connectedApps/{connectedAppId}
Parameters
| Name | Description |
|---|---|
| orgId* |
String
Salesforce Organization ID Required
|
| connectedAppId* |
String
Internal Hubbl integer primary key ID Required
|
Responses
Status: 200 - Successfull response containing the requested connected app.
Status: 403 - User is not authorized to access this organization
Status: 404 - Organization or connected app not found
getOrgConnectedAppsList
Retrieves a list of apps registered against an organization. If no filter or sort preferences are provided, the API defaults to:
- Sort:
-lastUsedDate - Filter:
isNull(namespace)
/orgs/{orgId}/connectedApps
Parameters
| Name | Description |
|---|---|
| orgId* |
String
Salesforce Organization ID Required
|
| Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| limit |
Integer
Number of items to return. Default is 50. |
||||||||||||||||||||||||||||||||||||||||||||||||
| offset |
Integer
Number of items to skip |
||||||||||||||||||||||||||||||||||||||||||||||||
| filter |
String
Resource Query Language (RQL) formatted filter criteria. Supported Fields:
|
||||||||||||||||||||||||||||||||||||||||||||||||
| sort |
String
JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting). Supported Fields:
Use a Examples:
|
Responses
Status: 200 - List of connected apps registered against an organization.
Status: 403 - User is not authorized to access this organization
Status: 404 - Organization not found.
getOrgFieldById
Retrieves a single Salesforce field by its ID for a specific organization.
/orgs/{orgId}/fields/{fieldId}
Parameters
| Name | Description |
|---|---|
| orgId* |
String
Salesforce Organization ID Required
|
| fieldId* |
String
Internal Hubbl integer primary key ID for the field Required
|
Responses
Status: 200 - Successful response containing the requested field record.
Status: 403 - User is not authorized to access this organization.
Status: 404 - Organization or field not found.
getOrgFieldsList
Retrieves a paginated list of Salesforce fields scanned in an org. If no sort preference is provided, the API defaults to:
- Sort:
-percentPopulated
/orgs/{orgId}/fields
Parameters
| Name | Description |
|---|---|
| orgId* |
String
Salesforce Organization ID Required
|
| Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| limit |
Integer
Number of items to return. Default is 200. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| offset |
Integer
Number of items to skip. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| filter |
String
Resource Query Language (RQL) formatted filter criteria. Supported Fields:
Combine with |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sort |
String
JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting). Supported Fields:
Use a Examples:
|
Responses
Status: 200 - List of Salesforce fields scanned in the org.
Status: 400 - Invalid query parameters (e.g., malformed RQL filter or unsupported field).
Status: 403 - User is not authorized to access this organization.
Status: 404 - Organization not found.
getOrgInstalledPackageById
Retrieves a single installed package by its ID for a specific organization.
/orgs/{orgId}/installedPackages/{installedPackageId}
Parameters
| Name | Description |
|---|---|
| orgId* |
String
Salesforce Organization ID Required
|
| installedPackageId* |
String
Internal Hubbl integer primary key ID Required
|
Responses
Status: 200 - Successfull response containing the requested installed package.
Status: 403 - User is not authorized to access this organization
Status: 404 - Organization or installed package not found
getOrgInstalledPackagesList
Retrieves a list of managed and unmanaged packages installed in an organization.
/orgs/{orgId}/installedPackages
Parameters
| Name | Description |
|---|---|
| orgId* |
String
Salesforce Organization ID Required
|
| Name | Description | |||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| limit |
Integer
Number of items to return. Default is 50. |
|||||||||||||||||||||||||||||||||||||||||||||
| offset |
Integer
Number of items to skip |
|||||||||||||||||||||||||||||||||||||||||||||
| filter |
String
Resource Query Language (RQL) formatted filter criteria. Supported Fields:
|
|||||||||||||||||||||||||||||||||||||||||||||
| sort |
String
JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting). Supported Fields:
Use a |
Responses
Status: 200 - List of installed packages in an organization.
Status: 403 - User is not authorized to access this organization
Status: 404 - Organization not found.
getOrgIssues
Retrieves a list of issues for the organization's latest scan. If no filter or sort preferences are provided, the API defaults to:
- Sort:
-priority,effort - Filter:
isNull(namespace)
/orgs/{orgId}/issues
Parameters
| Name | Description |
|---|---|
| orgId* |
String
Salesforce Organization ID Required
|
| Name | Description |
|---|---|
| limit |
Integer
Number of items to return. Default is 100. Maximum is 1000. |
| offset |
Integer
Number of items to skip |
| fields |
String
A comma-separated list of fields to include in the response. If omitted, all fields are
returned. Example: |
| filter |
String
Resource Query Language (RQL) formatted filter criteria. Supported Fields:
Supported Operators:
Examples:
|
| sort |
String
JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting). Supported Fields:
Use a Examples:
|
Responses
Status: 200 - List of issues for the organization
Status: 403 - User is not authorized to access this organization
Status: 404 - Organization not found or no scans available
getRecommendationByKey
Retrieves rich context for a given recommendation in an organization based on issueKey.
/orgs/{orgId}/issues/{issueKey}
Parameters
| Name | Description |
|---|---|
| orgId* |
String
Salesforce Organization ID Required
|
| issueKey* |
String
The unique key assigned to the issue that is constant across scans. This MUST be Base64URL encoded to avoid routing conflicts with special characters. Required
|
Responses
Status: 200 - Contextual Recommendation data
Status: 403 - User is not authorized to access this organization
Status: 404 - Organization or recommendation not found
Was this page helpful?