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/v1/orgs/{orgId}" \
-u "YOUR_API_KEY_ID:YOUR_API_KEY_SECRET"
Or using the Authorization header directly:
curl -X GET "https://api.hubbl.com/v1/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.
/v1/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.
/v1/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)
/v1/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.
/v1/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
/v1/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.
/v1/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.
/v1/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)
/v1/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
getOrgObjectById
Retrieves a single Salesforce object by its ID for a specific organization.
/v1/orgs/{orgId}/objects/{objectId}
Parameters
| Name | Description |
|---|---|
| orgId* |
String
Salesforce Organization ID Required
|
| objectId* |
String
Internal Hubbl integer primary key ID Required
|
Responses
Status: 200 - Successful response containing the requested object.
Status: 403 - User is not authorized to access this organization
Status: 404 - Organization or object not found
getOrgObjectFieldsList
Retrieves a paginated list of Salesforce fields belonging to a specific parent SObject within an
organization. The parent is pinned by the objectId path parameter, so callers do not need
to filter by sobjectId themselves.
If no sort preference is provided, the API defaults to:
- Sort:
-percentPopulated
/v1/orgs/{orgId}/objects/{objectId}/fields
Parameters
| Name | Description |
|---|---|
| orgId* |
String
Salesforce Organization ID Required
|
| objectId* |
String
Internal Hubbl integer primary key ID of the parent SObject. 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. The parent object is already pinned
by the 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 belonging to the parent object.
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 or object not found.
getOrgObjectsList
Retrieves a paginated list of Salesforce objects scanned in an org. If no sort preference is provided, the API defaults to:
- Sort:
-lastUsedDate
/v1/orgs/{orgId}/objects
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:
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 objects 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.
getRecommendationByKey
Retrieves rich context for a given recommendation in an organization based on issueKey.
/v1/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?