Hubbl - API Documentation

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

Path parameters
Name Description
orgId*
String

Salesforce Organization ID

Required

Responses

Status: 200 - Org details

{
data
Required
{
id
String
The unique Salesforce identifier for the organization
name
String
The name of the organization
userName
String
The username associated with the organization connection
hubblScore
Integer
The Hubbl score for the organization
complexityScore
Integer
The complexity score for the organization
lastScanDate
String (date-time)
The date and time of the last scan
totalIssueCount
Integer
The total number of issues found in the organization
highSeverityIssueCount
Integer
The number of high severity issues found in the organization
}
}

Status: 404 - Org not found

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

getOrgConnectedAppById

Retrieves a single connected app by its ID for a specific organization.


/orgs/{orgId}/connectedApps/{connectedAppId}

Parameters

Path 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.

{
data
A full representation of a connected app including mobile and canvas configuration.
{
id
Integer
Internal Hubbl primary key ID.
isInstalled
Boolean
Indicates if the app is currently installed in the org.
salesforceId
String
The 18-character Salesforce ID of the app record.
salesforceApplicationId
String
The Salesforce application identifier.
label
String
The display name (UI Label) of the connected app.
name
String
The developer name (API Name) of the connected app.
namespacePrefix
String
The namespace prefix associated with the connected app.
description
String
A brief description of the app's purpose.
createdDate
String (date-time)
The timestamp the app was created in Salesforce.
lastModifiedDate
String (date-time)
The timestamp the app was last modified in Salesforce.
userCount
Integer
Number of users who have authorized this app.
usageCount
Integer
Total number of times this app has been used.
firstUsedDate
String (date-time)
The timestamp of the first recorded use.
lastUsedDate
String (date-time)
The timestamp of the most recent use.
canvasAccessMethod
String
The method used to access the canvas app (e.g., SignedRequest, OAuth).
canvasEnabled
Boolean
Indicates if canvas functionality is enabled.
canvasOptions
String
Configuration options for the canvas app.
canvasReferenceId
String
External reference ID for canvas integration.
canvasSelectedLocations
String
Locations where the canvas app is exposed (e.g., Layout, Mobile).
canvasUrl
String
The secure URL for the canvas app.
iconUrl
String
URL for the app icon.
infoUrl
String
URL for additional information about the app.
isRegisteredDeviceOnly
Boolean
Indicates if access is restricted to registered devices.
isUsingAdminAuthorization
Boolean
Indicates if the app uses admin-preauthorized OAuth scopes.
logoUrl
String
URL for the app logo.
mobileAppBinaryId
String
Identifier for the mobile app binary.
mobileAppInstallUrl
String
URL to install the mobile app.
mobileAppInstalledDate
String (date-time)
Date the mobile app was installed.
mobileAppInstalledVersion
String
The specific version of the mobile app currently installed.
mobileAppVer
String
The version string of the mobile app.
mobileDeviceType
String
The targeted device type for the mobile app.
mobileMinOsVer
String
The minimum OS version required for the mobile app.
mobilePlatform
String
The mobile platform (iOS, Android).
mobileSessionTimeout
String
Session timeout configuration for the mobile app.
mobileStartUrl
String
The starting URL for the mobile app experience.
namedUserUvidTimeout
String
Timeout for named user UVIDs.
optionsFullContentPushNotifications
Boolean
Indicates if full content push notifications are enabled.
optionsHasSessionLevelPolicy
Boolean
Indicates if session-level policies are applied.
optionsRefreshTokenValidityMetric
Boolean
Metric for refresh token validity.
pinLength
String
Required PIN length for mobile access.
refreshTokenValidityPeriod
Integer
The period for which a refresh token remains valid.
setupUrl
String
URL to the app's setup page in Salesforce.
startUrl
String
The starting URL for the web app experience.
uvidTimeout
String
Timeout for UVIDs.
isLocal
Boolean
Indicates if the app was created locally in the org.
isBlocked
Boolean
Indicates if the app has been blocked by an administrator.
clientId
String
The consumer key (Client ID) for the connected app.
createdAt
String (date-time)
Internal Hubbl timestamp indicating when this record was first synced.
updatedAt
String (date-time)
Internal Hubbl timestamp indicating when this record was last updated.
}
}

Status: 403 - User is not authorized to access this organization

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

Status: 404 - Organization or connected app not found

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

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

Path parameters
Name Description
orgId*
String

Salesforce Organization ID

Required
Query parameters
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:

Field Supported Operators Example
id eq, in filter=eq(id,248161)
name eq, contains filter=contains(name,OIQ)
label eq, contains filter=contains(label,Hubbl)
namespacePrefix eq, in filter=eq(namespacePrefix,OIQ)
salesforceId eq, in filter=eq(salesforceId,0DSau000001DtcqGAC)
clientId eq, in filter=eq(clientId,3MVG9riCAn8...)
isInstalled eq filter=eq(isInstalled,true)
isLocal eq filter=eq(isLocal,false)
isBlocked eq filter=eq(isBlocked,false)
userCount gte, lte filter=gte(userCount,1)
usageCount gte, lte filter=gte(usageCount,1)
createdDate gte, lte, between filter=gte(createdDate,2026-01-01)
lastModifiedDate gte, lte, between filter=between(lastModifiedDate,2026-01-01,2026-04-30)
firstUsedDate gte, lte, between filter=gte(firstUsedDate,2026-01-01)
lastUsedDate gte, lte, between filter=gte(lastUsedDate,2026-04-01)
sort
String

JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting).

Supported Fields:

  • id
  • name
  • label
  • namespacePrefix
  • salesforceId
  • clientId
  • isInstalled
  • isLocal
  • isBlocked
  • userCount
  • usageCount
  • createdDate
  • lastModifiedDate
  • firstUsedDate
  • lastUsedDate

Use a - prefix for descending order. Default sort: -lastUsedDate.

Examples:

  • sort=lastUsedDate (Ascending)
  • sort=-lastUsedDate (Descending)
  • sort=-lastUsedDate,name (Multiple fields)

Responses

Status: 200 - List of connected apps registered against an organization.

Paginated response containing a list of connected apps registered against an organization.
{
data
Array[
A minimal representation of a connected app.
{
id
Integer
Internal Hubbl primary key ID.
isInstalled
Boolean
Indicates if the app is currently installed in the org.
salesforceId
String
The 18-character Salesforce ID of the app record.
salesforceApplicationId
String
The Salesforce application identifier.
label
String
The display name (UI Label) of the connected app.
name
String
The developer name (API Name) of the connected app.
namespacePrefix
String
The namespace prefix associated with the connected app.
description
String
A brief description of the app's purpose.
createdDate
String (date-time)
The timestamp the app was created in Salesforce.
userCount
Integer
Number of users who have authorized this app.
usageCount
Integer
Total number of times this app has been used.
firstUsedDate
String (date-time)
The timestamp of the first recorded use.
lastUsedDate
String (date-time)
The timestamp of the most recent usage of this app in the org.
infoUrl
String
URL for additional information about the app.
isUsingAdminAuthorization
Boolean
Indicates if the app uses admin-preauthorized OAuth scopes.
isBlocked
Boolean
Indicates if the app has been blocked by an administrator.
createdAt
String (date-time)
Internal Hubbl timestamp indicating when this record was first synced.
}
]
meta
Pagination metadata for the public API, including navigation links.
{
total
Integer
Total number of items
offset
Integer
Current offset
nextOffset
Integer
Next offset value (null if last page)
nextPageUrl
String
URL for the next page (null if last page)
}
}

Status: 403 - User is not authorized to access this organization

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

Status: 404 - Organization not found.

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

getOrgFieldById

Retrieves a single Salesforce field by its ID for a specific organization.


/orgs/{orgId}/fields/{fieldId}

Parameters

Path 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.

{
data
A full representation of a Salesforce field record within an organization.
{
id
Integer
Internal Hubbl primary key ID.
itemId
Integer
Internal Hubbl ID linking this field to its parent item record.
label
String
The user-facing display label of the field.
apiName
String
The Salesforce API name of the field.
type
String
The Salesforce field type (e.g., Checkbox, Text, Picklist).
length
Integer
The maximum length of the field value.
picklistValues
String
Comma-separated list of picklist API values.
picklistLabels
String
Comma-separated list of picklist display labels.
picklistActive
String
Comma-separated list indicating which picklist values are active.
globalPicklistName
String
The name of the global picklist this field references, if any.
singleOrMulti
String
Indicates whether the picklist is single-select or multi-select.
isMasterDetail
Boolean
Indicates whether this is a master-detail relationship field.
isLookup
Boolean
Indicates whether this is a lookup relationship field.
allowOrPreventDelete
String
Defines the delete behavior for related records (e.g., SetNull, Restrict, Cascade).
referenceTo
String
The API name of the object this field references.
objectApiName
String
The API name of the Salesforce object this field belongs to.
isCustomField
Boolean
Indicates whether this is a custom field as opposed to a standard field.
recordCount
Integer
The number of records that have a non-null value for this field.
isAggregatable
Boolean
Indicates whether this field can be used in aggregate functions.
isUsable
Boolean
Indicates whether this field is available for use in queries.
namespace
String
The namespace prefix of the package that installed this field, if any.
description
String
A description of the field's purpose.
sobjectId
Integer
Internal Hubbl ID of the parent SObject record.
objectRecordCount
Integer
The total number of records in the parent object.
percentPopulated
Number (double)
The percentage of records that have a non-null value for this field.
isEncrypted
Boolean
Indicates whether this field is encrypted using Salesforce Shield.
usageQueryFailed
Boolean
Indicates whether the usage data query for this field failed.
setupUrl
String
The direct URL to this field's configuration page in Salesforce Setup.
isFormula
Boolean
Indicates whether this field is a formula field.
isRollupSummary
Boolean
Indicates whether this field is a roll-up summary field.
complianceGroup
String
The compliance classification group assigned to this field (e.g., PII, HIPAA).
securityClassification
String
The security classification assigned to this field (e.g., Public, Confidential).
businessStatus
String
The business status of this field (e.g., Active, Deprecated).
encryptedScheme
String
The encryption scheme used if this field is encrypted with Shield Platform Encryption.
createdAt
String (date-time)
Internal Hubbl timestamp indicating when this record was first synced.
updatedAt
String (date-time)
Internal Hubbl timestamp indicating when this record was last updated.
}
}

Status: 403 - User is not authorized to access this organization.

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

Status: 404 - Organization or field not found.

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

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

Path parameters
Name Description
orgId*
String

Salesforce Organization ID

Required
Query parameters
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:

Field Supported Operators Example
id eq, in filter=eq(id,82892677)
itemId eq, in filter=eq(itemId,344655843)
sobjectId eq, in filter=eq(sobjectId,6026156)
objectApiName eq, contains filter=eq(objectApiName,Account)
apiName eq, contains filter=contains(apiName,__c)
label eq, contains filter=contains(label,Status)
type eq, in, ne filter=eq(type,Checkbox)
namespace eq, in filter=eq(namespace,FSL)
isCustomField eq filter=eq(isCustomField,true)
isFormula eq filter=eq(isFormula,true)
isRollupSummary eq filter=eq(isRollupSummary,true)
isLookup eq filter=eq(isLookup,true)
isMasterDetail eq filter=eq(isMasterDetail,true)
isEncrypted eq filter=eq(isEncrypted,true)
isUsable eq filter=eq(isUsable,true)
isAggregatable eq filter=eq(isAggregatable,true)
usageQueryFailed eq filter=eq(usageQueryFailed,false)
recordCount gte, lte filter=gte(recordCount,1)
objectRecordCount gte, lte filter=gte(objectRecordCount,100)
percentPopulated gte, lte filter=lte(percentPopulated,5)
complianceGroup eq, in, ne filter=eq(complianceGroup,PII)
securityClassification eq, in, ne filter=eq(securityClassification,Confidential)
businessStatus eq, in, ne filter=eq(businessStatus,Active)
createdAt gte, lte, between filter=gte(createdAt,2026-01-01)
updatedAt gte, lte, between filter=gte(updatedAt,2026-04-01)

Combine with and(...), or(...), not(...).

sort
String

JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting).

Supported Fields:

  • id
  • itemId
  • sobjectId
  • objectApiName
  • apiName
  • label
  • type
  • namespace
  • isCustomField
  • isFormula
  • isRollupSummary
  • isLookup
  • isMasterDetail
  • isEncrypted
  • isUsable
  • isAggregatable
  • usageQueryFailed
  • recordCount
  • objectRecordCount
  • percentPopulated
  • complianceGroup
  • securityClassification
  • businessStatus
  • createdAt
  • updatedAt

Use a - prefix for descending order. Default sort: -percentPopulated.

Examples:

  • sort=percentPopulated (Ascending)
  • sort=-percentPopulated (Descending)
  • sort=-percentPopulated,objectApiName (Multiple fields)

Responses

Status: 200 - List of Salesforce fields scanned in the org.

Paginated response containing a list of Salesforce fields scanned in an org.
{
data
Array[
A minimal representation of a Salesforce field scanned in an org.
{
id
Integer
Internal Hubbl primary key ID.
itemId
Integer
Hubbl item identifier.
sobjectId
Integer
Internal Hubbl ID of the parent SObject.
objectApiName
String
API name of the parent object (e.g. Account, Contact).
apiName
String
API name of the field (e.g. FirstName, Custom_Field__c).
label
String
Display label of the field.
type
String
Salesforce field data type (e.g. Text, Number, Checkbox).
description
String
Description text of the field.
isCustomField
Boolean
Whether this is a custom field (__c suffix).
isUsable
Boolean
Whether the field is usable for querying.
recordCount
Integer
Number of records where this field is populated.
objectRecordCount
Integer
Total number of records in the parent object.
percentPopulated
Number (double)
Percentage of records where this field is populated.
namespace
String
Namespace prefix for managed package fields.
createdAt
String (date-time)
Timestamp when this record was first synced to Hubbl.
updatedAt
String (date-time)
Timestamp when this record was last updated in Hubbl.
}
]
meta
Pagination metadata for the public API, including navigation links.
{
total
Integer
Total number of items
offset
Integer
Current offset
nextOffset
Integer
Next offset value (null if last page)
nextPageUrl
String
URL for the next page (null if last page)
}
}

Status: 400 - Invalid query parameters (e.g., malformed RQL filter or unsupported field).

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

Status: 403 - User is not authorized to access this organization.

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

Status: 404 - Organization not found.

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

getOrgInstalledPackageById

Retrieves a single installed package by its ID for a specific organization.


/orgs/{orgId}/installedPackages/{installedPackageId}

Parameters

Path 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.

{
data
A full representation of an installed package.
{
label
String
The display label of the package.
id
Integer
Internal Hubbl primary key ID.
name
String
The developer name of the package.
description
String
A brief description of the package's purpose.
publisherName
String
The name of the organization that published the package.
namespacePrefix
String
The namespace prefix that identifies this package.
majorVersion
Integer
The major version number.
minorVersion
Integer
The minor version number.
patchVersion
Integer
The patch version number.
buildNumber
Integer
The specific build number of the installed version.
releaseState
String
The release state (e.g., Released, Beta).
isDeprecated
Boolean
Indicates whether the package version is deprecated.
isManaged
Boolean
Indicates whether the package is a managed package.
isPasswordProtected
Boolean
Indicates whether the package is protected by a password.
isSecurityReviewed
Boolean
Indicates whether the package has passed Salesforce security review.
salesforceId
String
The 18-character Salesforce ID of the installed package.
salesforceVersionId
String
The Salesforce ID for this specific package version (starts with 04t).
isOrgDependent
Boolean
Indicates whether the package is dependent on the organization's metadata.
isValid
Boolean
Indicates whether the package installation is valid.
packageVersionDescription
String
Description of the specific package version.
packageVersionName
String
Name of the specific package version.
package2ContainerOptions
String
Container options for the package.
isBeta
Boolean
Indicates whether this is a beta version of the package.
packageType
String
The type of the package (e.g., Managed, Unmanaged).
packageId
Integer
The Hubbl ID of the parent package.
packageVersionId
Integer
The Hubbl ID of the package version.
installDate
String (date-time)
The date and time when the package was installed in the org.
isOutdated
Boolean
Indicates whether a newer version of the package is available.
latestVersion
String
The version number of the latest available version of the package.
createdAt
String (date-time)
Internal Hubbl timestamp indicating when this record was first synced.
updatedAt
String (date-time)
Internal Hubbl timestamp indicating when this record was last updated.
}
}

Status: 403 - User is not authorized to access this organization

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

Status: 404 - Organization or installed package not found

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

getOrgInstalledPackagesList

Retrieves a list of managed and unmanaged packages installed in an organization.


/orgs/{orgId}/installedPackages

Parameters

Path parameters
Name Description
orgId*
String

Salesforce Organization ID

Required
Query parameters
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:

Field Supported Operators Example
id eq, in filter=eq(id,248161)
name eq, contains filter=contains(name,Sales)
publisherName eq, contains filter=eq(publisherName,Salesforce)
namespacePrefix eq, in filter=eq(namespacePrefix,OIQ)
salesforceId eq, in filter=eq(salesforceId,03358000000Q8xqAAC)
salesforceVersionId eq, in filter=eq(salesforceVersionId,04t...)
packageType eq, in filter=eq(packageType,Managed)
releaseState eq, in filter=eq(releaseState,Released)
isManaged eq filter=eq(isManaged,true)
isDeprecated eq filter=eq(isDeprecated,false)
isSecurityReviewed eq filter=eq(isSecurityReviewed,true)
isBeta eq filter=eq(isBeta,false)
isOutdated eq filter=eq(isOutdated,true)
installDate gte, lte, between filter=between(installDate,2026-01-01,2026-04-30)
sort
String

JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting).

Supported Fields:

  • id
  • name
  • publisherName
  • namespacePrefix
  • salesforceId
  • salesforceVersionId
  • packageType
  • releaseState
  • isManaged
  • isDeprecated
  • isSecurityReviewed
  • isBeta
  • isOutdated
  • installDate

Use a - prefix for descending order. Default sort: -installDate.

Responses

Status: 200 - List of installed packages in an organization.

Paginated response containing a list of installed packages in an organization.
{
data
Array[
{
id
Integer
Internal Hubbl primary key ID.
name
String
The developer name of the package.
label
String
The display label of the package.
description
String
A brief description of the package's purpose.
publisherName
String
The name of the organization that published the package.
namespacePrefix
String
The namespace prefix that identifies this package.
buildNumber
Integer
The specific build number of the installed version.
releaseState
String
The release state (e.g., Released, Beta).
isDeprecated
Boolean
Indicates whether the package version is deprecated.
isManaged
Boolean
Indicates whether the package is a managed package.
isPasswordProtected
Boolean
Indicates whether the package is protected by a password.
isSecurityReviewed
Boolean
Indicates whether the package has passed Salesforce security review.
salesforceId
String
The 18-character Salesforce ID of the installed package.
salesforceVersionId
String
The Salesforce ID for this specific package version (starts with 04t).
isOrgDependent
Boolean
Indicates whether the package is dependent on the organization's metadata.
isValid
Boolean
Indicates whether the package installation is valid.
isBeta
Boolean
Indicates whether this is a beta version of the package.
installDate
String (date-time)
The date and time when the package was installed in the org.
isOutdated
Boolean
Indicates whether a newer version of the package is available.
latestVersion
String
The version number of the latest available version of the package.
createdAt
String (date-time)
Internal Hubbl timestamp indicating when this record was first synced.
updatedAt
String (date-time)
Internal Hubbl timestamp indicating when this record was last updated.
}
]
meta
Pagination metadata for the public API, including navigation links.
{
total
Integer
Total number of items
offset
Integer
Current offset
nextOffset
Integer
Next offset value (null if last page)
nextPageUrl
String
URL for the next page (null if last page)
}
}

Status: 403 - User is not authorized to access this organization

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

Status: 404 - Organization not found.

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

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

Path parameters
Name Description
orgId*
String

Salesforce Organization ID

Required
Query parameters
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: fields=priority,effort,title

filter
String

Resource Query Language (RQL) formatted filter criteria.

Supported Fields:

  • priority
  • effort
  • wellArchitectedCategoryLevel1
  • wellArchitectedCategoryLevel2
  • wellArchitectedCategoryLevel3
  • wellArchitectedCategoryLevel4
  • metadataType
  • namespace
  • relatedObject
  • category
  • apiName
  • rule
  • title
  • label
  • content

Supported Operators:

  • Logical: and(), or(), not()
  • Comparison: eq(), ne(), gt(), gte(), lt(), lte()
  • Array: in(), out()
  • Pattern Matching: like(), ilike(), contains()
  • Null Checks: isNull(), isNotNull()

Examples:

  • filter=eq(priority,High)
  • filter=and(gt(effort,2),contains(title,Security))
  • filter=or(in(metadataType,ApexClass,ApexTrigger),out(category,Testing,Dev))
  • filter=isNotNull(namespace)
sort
String

JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting).

Supported Fields:

  • priority
  • effort
  • wellArchitectedCategoryLevel1
  • wellArchitectedCategoryLevel2
  • wellArchitectedCategoryLevel3
  • wellArchitectedCategoryLevel4
  • metadataType
  • namespace
  • relatedObject
  • category
  • apiName
  • rule
  • title
  • label
  • content

Use a - prefix for descending order.

Examples:

  • sort=priority (Ascending)
  • sort=-effort (Descending)
  • sort=-priority,effort (Multiple fields)

Responses

Status: 200 - List of issues for the organization

{
data
Array[
{
key
String
Unique identifier of an issue across all scans of an org
priority
String
The priority level of the recommendation (Low, Medium, High)
effort
String
Estimated effort required to implement the recommendation (Low, Medium, High)
title
String
Human-readable title of the recommendation
wellArchitectedCategoryLevel1
String
The top-level category in the Salesforce Well-Architected framework
wellArchitectedCategoryLevel2
String
The second-level category in the Salesforce Well-Architected framework
wellArchitectedCategoryLevel3
String
The third-level category in the Salesforce Well-Architected framework
wellArchitectedCategoryLevel4
String
The fourth-level category in the Salesforce Well-Architected framework
category
String
The functional category of the recommendation
namespace
String
The Salesforce namespace where the issue was found
apiName
String
The API name of the Salesforce component or metadata item
relatedObject
String
The Salesforce object related to the issue
metadataType
String
The type of Salesforce metadata
updatedAt
String (date-time)
The date and time when the issue record was last updated
}
]
meta
Pagination metadata for the public API, including navigation links.
{
total
Integer
Total number of items
offset
Integer
Current offset
nextOffset
Integer
Next offset value (null if last page)
nextPageUrl
String
URL for the next page (null if last page)
}
}

Status: 403 - User is not authorized to access this organization

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

Status: 404 - Organization not found or no scans available

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

getRecommendationByKey

Retrieves rich context for a given recommendation in an organization based on issueKey.


/orgs/{orgId}/issues/{issueKey}

Parameters

Path 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

{
data
{
rule
String
The unique rule identifier for the issue
priority
String
The priority level of the recommendation (Low, Medium, High)
effort
String
Estimated effort required to implement the recommendation (Low, Medium, High)
title
String
Human-readable title of the recommendation
content
String
Detailed description or instructions for the recommendation
wellArchitectedCategoryLevel1
String
The top-level category in the Salesforce Well-Architected framework
wellArchitectedCategoryLevel2
String
The second-level category in the Salesforce Well-Architected framework
wellArchitectedCategoryLevel3
String
The third-level category in the Salesforce Well-Architected framework
wellArchitectedCategoryLevel4
String
The fourth-level category in the Salesforce Well-Architected framework
category
String
The functional category of the recommendation
wellArchitectedLevel4Url
String
URL to the documentation for the level 4 Well-Architected category
relatedObject
String
The Salesforce object related to the issue
metadataType
String
The type of Salesforce metadata
isNew
Boolean
Indicates if the recommendation was first introduced in the current scan
isResolved
Boolean
Indicates if the issue was not found in the most recent scan
firstDetectedDate
String (date-time)
The date the this issue was first detected by a Hubbl scan.
lastDetectedDate
String (date-time)
The date the this issue was most recently detected by a Hubbl scan.
key
String
Unique identifier of an issue across all scans of an org
namespace
String
The Salesforce namespace where the issue was found
label
String
A human-readable label for the metadata or component
apiName
String
The API name of the Salesforce component or metadata item
line
Integer
The line number where the issue was identified
isBasic
Boolean
Indicates whether this is a basic health check recommendation
subScoreArea
String
The sub-score area this recommendation affects natively
developerSolutionUrl
String
URL to documentation on how a developer can resolve this issue
adminSolutionUrl
String
URL to documentation on how an administrator can resolve this issue
relativePath
String
Relative path from repository root to the related component
}
}

Status: 403 - User is not authorized to access this organization

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

Status: 404 - Organization or recommendation not found

{
error
Required
{
status
Number
Required
title
String
Required
detail
String
}
}

Was this page helpful?