GraphQL Schema documentation

Contact

ONEKEY Support

support@onekey.com

API Endpoints
https://app.eu.onekey.com/api/graphql

Queries

allAnalysisConfigurations

Response

Returns [AnalysisConfiguration!]!

Example

Query
query allAnalysisConfigurations {
  allAnalysisConfigurations {
    id
    name
    binaryAnalysis
    rtosAnalysis
  }
}
Response
{
  "data": {
    "allAnalysisConfigurations": [
      {
        "id": "4",
        "name": "xyz789",
        "binaryAnalysis": true,
        "rtosAnalysis": false
      }
    ]
  }
}

allApiTokens

Response

Returns [ApiToken!]!

Example

Query
query allApiTokens {
  allApiTokens {
    id
    name
    description
    createdBy
    createdAt
    expireAt
    lastUsedAt
    permissions {
      ...ApiTokenPermissionFragment
    }
  }
}
Response
{
  "data": {
    "allApiTokens": [
      {
        "id": "4",
        "name": "abc123",
        "description": "abc123",
        "createdBy": "xyz789",
        "createdAt": Datetime,
        "expireAt": Datetime,
        "lastUsedAt": Datetime,
        "permissions": [ApiTokenPermission]
      }
    ]
  }
}

allFirmwares

Response

Returns [Firmware!]!

Arguments
Name Description
filter - FirmwareFilter
query - String
count - Int

Example

Query
query allFirmwares(
  $filter: FirmwareFilter,
  $query: String,
  $count: Int
) {
  allFirmwares(
    filter: $filter,
    query: $query,
    count: $count
  ) {
    id
    name
    uploadTime
    version
    notes
    totalSize
    binary {
      ...FirmwareBinaryFragment
    }
    sbom {
      ...FirmwareSBOMFragment
    }
    analysisConfiguration {
      ...AnalysisConfigurationFragment
    }
    analyses {
      ...AnalysisFragment
    }
    latestAnalysisTime
    latestAnalysis {
      ...AnalysisFragment
    }
    fileCount
    files {
      ...FileFragment
    }
    blobs {
      ...BlobFragment
    }
    processing {
      ... on ProcessingInProgress {
        ...ProcessingInProgressFragment
      }
      ... on ProcessingFailed {
        ...ProcessingFailedFragment
      }
      ... on ProcessingFinished {
        ...ProcessingFinishedFragment
      }
    }
    monitoring
    uploader
    componentCount
    components {
      ...ComponentFragment
    }
    certificates {
      ...CertificateFragment
    }
    privateKeys {
      ...PrivateKeyFragment
    }
    latestIssues {
      ...IssueFragment
    }
    fileContent {
      ...FileContentResultFragment
    }
    releaseDate
    product {
      ...ProductFragment
    }
    complianceItems {
      ...ComplianceItemFragment
    }
    complianceExtraItems {
      ...ComplianceExtraItemFragment
    }
    elfDetails {
      ...ELFDetailsFragment
    }
    managementProtocols {
      ...ManagementProtocolFragment
    }
    downloadUrl
    spriteSheets {
      ...SpriteSheetFragment
    }
    cveMatches {
      ...CVEMatchFragment
    }
    compareAnalyses {
      ...AnalysesComparisonFragment
    }
    extractionProblems {
      ...ExtractionProblemFragment
    }
    labels
    properties {
      ...PropertyFragment
    }
    supportingFiles {
      ...SupportingFileFragment
    }
    complianceBundles {
      ...ComplianceBundleFragment
    }
    auditTrail {
      ...AuditRecordFragment
    }
    uris {
      ...URIFragment
    }
    uriCount
    linkedLibraries {
      ...LinkedLibraryFragment
    }
  }
}
Variables
{
  "filter": FirmwareFilter,
  "query": "xyz789",
  "count": 987
}
Response
{
  "data": {
    "allFirmwares": [
      {
        "id": 4,
        "name": "xyz789",
        "uploadTime": Datetime,
        "version": "xyz789",
        "notes": "xyz789",
        "totalSize": {},
        "binary": FirmwareBinary,
        "sbom": FirmwareSBOM,
        "analysisConfiguration": AnalysisConfiguration,
        "analyses": [Analysis],
        "latestAnalysisTime": Datetime,
        "latestAnalysis": Analysis,
        "fileCount": 987,
        "files": [File],
        "blobs": [Blob],
        "processing": ProcessingInProgress,
        "monitoring": false,
        "uploader": "abc123",
        "componentCount": 987,
        "components": [Component],
        "certificates": [Certificate],
        "privateKeys": [PrivateKey],
        "latestIssues": [Issue],
        "fileContent": [FileContentResult],
        "releaseDate": "2007-12-03",
        "product": Product,
        "complianceItems": [ComplianceItem],
        "complianceExtraItems": [ComplianceExtraItem],
        "elfDetails": ELFDetails,
        "managementProtocols": [ManagementProtocol],
        "downloadUrl": "abc123",
        "spriteSheets": [SpriteSheet],
        "cveMatches": [CVEMatch],
        "compareAnalyses": AnalysesComparison,
        "extractionProblems": [ExtractionProblem],
        "labels": ["abc123"],
        "properties": [Property],
        "supportingFiles": [SupportingFile],
        "complianceBundles": [ComplianceBundle],
        "auditTrail": [AuditRecord],
        "uris": [URI],
        "uriCount": 123,
        "linkedLibraries": [LinkedLibrary]
      }
    ]
  }
}

allGuidelines

Response

Returns [ComplianceGuideline!]!

Example

Query
query allGuidelines {
  allGuidelines {
    id
    title
    publisherName
    publisherType
    publicationDate
    url
    auxiliaryProperties {
      ...ComplianceAuxiliaryPropertyFragment
    }
    summary
    chapters {
      ...ComplianceChapterFragment
    }
  }
}
Response
{
  "data": {
    "allGuidelines": [
      {
        "id": 4,
        "title": "xyz789",
        "publisherName": "xyz789",
        "publisherType": "GOVERNMENT_ORGANISATION",
        "publicationDate": "2007-12-03",
        "url": "xyz789",
        "auxiliaryProperties": [
          ComplianceAuxiliaryProperty
        ],
        "summary": "xyz789",
        "chapters": [ComplianceChapter]
      }
    ]
  }
}

allIssueDocs

Response

Returns [IssueDoc!]!

Example

Query
query allIssueDocs {
  allIssueDocs {
    type
    summary
    description
    mitigation
    cwes {
      ...CWEFragment
    }
    references {
      ...ReferenceFragment
    }
  }
}
Response
{
  "data": {
    "allIssueDocs": [
      {
        "type": "abc123",
        "summary": "abc123",
        "description": "xyz789",
        "mitigation": "abc123",
        "cwes": [CWE],
        "references": [Reference]
      }
    ]
  }
}

allProductGroups

Response

Returns [ProductGroup!]!

Example

Query
query allProductGroups {
  allProductGroups {
    id
    name
    description
    products {
      ...ProductFragment
    }
  }
}
Response
{
  "data": {
    "allProductGroups": [
      {
        "id": "4",
        "name": "xyz789",
        "description": "abc123",
        "products": [Product]
      }
    ]
  }
}

allProducts

Response

Returns [Product!]!

Example

Query
query allProducts {
  allProducts {
    id
    name
    vendor
    category
    firmwareTimeline {
      ...FirmwareTimelineItemFragment
    }
    productGroups {
      ...ProductGroupFragment
    }
  }
}
Response
{
  "data": {
    "allProducts": [
      {
        "id": 4,
        "name": "abc123",
        "vendor": "xyz789",
        "category": "xyz789",
        "firmwareTimeline": [FirmwareTimelineItem],
        "productGroups": [ProductGroup]
      }
    ]
  }
}

allReportConfigurations

Response

Returns [ReportConfiguration!]!

Example

Query
query allReportConfigurations {
  allReportConfigurations {
    id
    name
    issueSeverities
    analysisTechniqueDetails
    complianceGuidelines {
      ...ComplianceGuidelineFragment
    }
    includeComments
    includedStatuses
    excludedStatuses
  }
}
Response
{
  "data": {
    "allReportConfigurations": [
      {
        "id": 4,
        "name": "xyz789",
        "issueSeverities": ["CRITICAL"],
        "analysisTechniqueDetails": false,
        "complianceGuidelines": [ComplianceGuideline],
        "includeComments": true,
        "includedStatuses": ["NONE"],
        "excludedStatuses": ["NONE"]
      }
    ]
  }
}

allReports

Response

Returns [Report!]!

Arguments
Name Description
filter - ReportFilter

Example

Query
query allReports($filter: ReportFilter) {
  allReports(filter: $filter) {
    id
    title
    classification
    generatedTime
    reportConfiguration {
      ...ReportConfigurationFragment
    }
    firmwares {
      ...FirmwareFragment
    }
    downloadUrl
    size
    state
    links {
      ...ReportLinkFragment
    }
  }
}
Variables
{"filter": ReportFilter}
Response
{
  "data": {
    "allReports": [
      {
        "id": "4",
        "title": "abc123",
        "classification": "xyz789",
        "generatedTime": Datetime,
        "reportConfiguration": ReportConfiguration,
        "firmwares": [Firmware],
        "downloadUrl": "abc123",
        "size": 987,
        "state": "GENERATING",
        "links": [ReportLink]
      }
    ]
  }
}

allUserGroups

Response

Returns [UserGroup!]!

Example

Query
query allUserGroups {
  allUserGroups {
    id
    name
    description
    productGroups {
      ...ProductGroupFragment
    }
    roles
    users {
      ...UserFragment
    }
  }
}
Response
{
  "data": {
    "allUserGroups": [
      {
        "id": "4",
        "name": "abc123",
        "description": "abc123",
        "productGroups": [ProductGroup],
        "roles": ["ADMIN"],
        "users": [User]
      }
    ]
  }
}

allUsers

Response

Returns [User!]!

Example

Query
query allUsers {
  allUsers {
    email
    created
    userGroups {
      ...UserGroupFragment
    }
    roles
  }
}
Response
{
  "data": {
    "allUsers": [
      {
        "email": "abc123",
        "created": Datetime,
        "userGroups": [UserGroup],
        "roles": ["ADMIN"]
      }
    ]
  }
}

compareFirmwareAnalyses

Description

Compare the latest analyses of two firmware

Response

Returns an AnalysesComparison

Arguments
Name Description
base - ID!
other - ID!

Example

Query
query compareFirmwareAnalyses(
  $base: ID!,
  $other: ID!
) {
  compareFirmwareAnalyses(
    base: $base,
    other: $other
  ) {
    base {
      ...AnalysisFragment
    }
    other {
      ...AnalysisFragment
    }
    issues {
      ...IssuesComparisonFragment
    }
    cveEntries {
      ...CVEEntriesComparisonFragment
    }
    cveMatches {
      ...CVEMatchesComparisonFragment
    }
    components {
      ...ComponentsComparisonFragment
    }
  }
}
Variables
{
  "base": "4",
  "other": "4"
}
Response
{
  "data": {
    "compareFirmwareAnalyses": {
      "base": Analysis,
      "other": Analysis,
      "issues": IssuesComparison,
      "cveEntries": CVEEntriesComparison,
      "cveMatches": CVEMatchesComparison,
      "components": ComponentsComparison
    }
  }
}

firmware

Response

Returns a Firmware

Arguments
Name Description
id - ID!

Example

Query
query firmware($id: ID!) {
  firmware(id: $id) {
    id
    name
    uploadTime
    version
    notes
    totalSize
    binary {
      ...FirmwareBinaryFragment
    }
    sbom {
      ...FirmwareSBOMFragment
    }
    analysisConfiguration {
      ...AnalysisConfigurationFragment
    }
    analyses {
      ...AnalysisFragment
    }
    latestAnalysisTime
    latestAnalysis {
      ...AnalysisFragment
    }
    fileCount
    files {
      ...FileFragment
    }
    blobs {
      ...BlobFragment
    }
    processing {
      ... on ProcessingInProgress {
        ...ProcessingInProgressFragment
      }
      ... on ProcessingFailed {
        ...ProcessingFailedFragment
      }
      ... on ProcessingFinished {
        ...ProcessingFinishedFragment
      }
    }
    monitoring
    uploader
    componentCount
    components {
      ...ComponentFragment
    }
    certificates {
      ...CertificateFragment
    }
    privateKeys {
      ...PrivateKeyFragment
    }
    latestIssues {
      ...IssueFragment
    }
    fileContent {
      ...FileContentResultFragment
    }
    releaseDate
    product {
      ...ProductFragment
    }
    complianceItems {
      ...ComplianceItemFragment
    }
    complianceExtraItems {
      ...ComplianceExtraItemFragment
    }
    elfDetails {
      ...ELFDetailsFragment
    }
    managementProtocols {
      ...ManagementProtocolFragment
    }
    downloadUrl
    spriteSheets {
      ...SpriteSheetFragment
    }
    cveMatches {
      ...CVEMatchFragment
    }
    compareAnalyses {
      ...AnalysesComparisonFragment
    }
    extractionProblems {
      ...ExtractionProblemFragment
    }
    labels
    properties {
      ...PropertyFragment
    }
    supportingFiles {
      ...SupportingFileFragment
    }
    complianceBundles {
      ...ComplianceBundleFragment
    }
    auditTrail {
      ...AuditRecordFragment
    }
    uris {
      ...URIFragment
    }
    uriCount
    linkedLibraries {
      ...LinkedLibraryFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "firmware": {
      "id": "4",
      "name": "xyz789",
      "uploadTime": Datetime,
      "version": "xyz789",
      "notes": "abc123",
      "totalSize": {},
      "binary": FirmwareBinary,
      "sbom": FirmwareSBOM,
      "analysisConfiguration": AnalysisConfiguration,
      "analyses": [Analysis],
      "latestAnalysisTime": Datetime,
      "latestAnalysis": Analysis,
      "fileCount": 987,
      "files": [File],
      "blobs": [Blob],
      "processing": ProcessingInProgress,
      "monitoring": true,
      "uploader": "xyz789",
      "componentCount": 123,
      "components": [Component],
      "certificates": [Certificate],
      "privateKeys": [PrivateKey],
      "latestIssues": [Issue],
      "fileContent": [FileContentResult],
      "releaseDate": "2007-12-03",
      "product": Product,
      "complianceItems": [ComplianceItem],
      "complianceExtraItems": [ComplianceExtraItem],
      "elfDetails": ELFDetails,
      "managementProtocols": [ManagementProtocol],
      "downloadUrl": "abc123",
      "spriteSheets": [SpriteSheet],
      "cveMatches": [CVEMatch],
      "compareAnalyses": AnalysesComparison,
      "extractionProblems": [ExtractionProblem],
      "labels": ["xyz789"],
      "properties": [Property],
      "supportingFiles": [SupportingFile],
      "complianceBundles": [ComplianceBundle],
      "auditTrail": [AuditRecord],
      "uris": [URI],
      "uriCount": 123,
      "linkedLibraries": [LinkedLibrary]
    }
  }
}

globalAnalysisProfile

Response

Returns an AnalysisProfile!

Example

Query
query globalAnalysisProfile {
  globalAnalysisProfile {
    issueRules {
      ...AnalysisProfileRuleFragment
    }
    cveRules {
      ...AnalysisProfileRuleFragment
    }
  }
}
Response
{
  "data": {
    "globalAnalysisProfile": {
      "issueRules": [AnalysisProfileRule],
      "cveRules": [AnalysisProfileRule]
    }
  }
}

tenant

Response

Returns a Tenant!

Example

Query
query tenant {
  tenant {
    name
    activationDate
    supportContacts
  }
}
Response
{
  "data": {
    "tenant": {
      "name": "xyz789",
      "activationDate": "2007-12-03",
      "supportContacts": ["abc123"]
    }
  }
}

user

Response

Returns a User!

Example

Query
query user {
  user {
    email
    created
    userGroups {
      ...UserGroupFragment
    }
    roles
  }
}
Response
{
  "data": {
    "user": {
      "email": "xyz789",
      "created": Datetime,
      "userGroups": [UserGroup],
      "roles": ["ADMIN"]
    }
  }
}

Mutations

addFirmwareComponent

Response

Returns a FirmwareComponentEditResult

Arguments
Name Description
input - FirmwareAddComponentInput!

Example

Query
mutation addFirmwareComponent($input: FirmwareAddComponentInput!) {
  addFirmwareComponent(input: $input) {
    ... on Component {
      ...ComponentFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": FirmwareAddComponentInput}
Response
{"data": {"addFirmwareComponent": Component}}

applyGlobalAnalysisProfile

Response

Returns a MutationError

Arguments
Name Description
input - IDInput!

Example

Query
mutation applyGlobalAnalysisProfile($input: IDInput!) {
  applyGlobalAnalysisProfile(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": IDInput}
Response
{
  "data": {
    "applyGlobalAnalysisProfile": {
      "count": 123,
      "errors": [Error]
    }
  }
}

createAnalysisConfiguration

Response

Returns an AnalysisConfigurationResult!

Arguments
Name Description
input - AnalysisConfigurationCreateInput!

Example

Query
mutation createAnalysisConfiguration($input: AnalysisConfigurationCreateInput!) {
  createAnalysisConfiguration(input: $input) {
    ... on AnalysisConfiguration {
      ...AnalysisConfigurationFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": AnalysisConfigurationCreateInput}
Response
{
  "data": {
    "createAnalysisConfiguration": AnalysisConfiguration
  }
}

createApiToken

Response

Returns an ApiTokenCreateResult!

Arguments
Name Description
input - ApiTokenCreateInput!

Example

Query
mutation createApiToken($input: ApiTokenCreateInput!) {
  createApiToken(input: $input) {
    ... on CreatedApiToken {
      ...CreatedApiTokenFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": ApiTokenCreateInput}
Response
{"data": {"createApiToken": CreatedApiToken}}

createComplianceBundle

Response

Returns a ComplianceBundleCreateResult!

Arguments
Name Description
input - ComplianceBundleCreateInput!

Example

Query
mutation createComplianceBundle($input: ComplianceBundleCreateInput!) {
  createComplianceBundle(input: $input) {
    ... on ComplianceBundle {
      ...ComplianceBundleFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": ComplianceBundleCreateInput}
Response
{"data": {"createComplianceBundle": ComplianceBundle}}

createFirmwareUpload

Description

Creates the metadata for the firmware, and the result will have the uploadUrl field, where the actual firmware file should be posted with a Content-Type: multipart/form-data.

Response

Returns a FirmwareUploadResult!

Arguments
Name Description
input - FirmwareUploadInput!

Example

Query
mutation createFirmwareUpload($input: FirmwareUploadInput!) {
  createFirmwareUpload(input: $input) {
    ... on FirmwareUploadMetadata {
      ...FirmwareUploadMetadataFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": FirmwareUploadInput}
Response
{"data": {"createFirmwareUpload": FirmwareUploadMetadata}}

createProductGroup

Response

Returns a ProductGroupResult!

Arguments
Name Description
input - ProductGroupCreateInput!

Example

Query
mutation createProductGroup($input: ProductGroupCreateInput!) {
  createProductGroup(input: $input) {
    ... on ProductGroup {
      ...ProductGroupFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": ProductGroupCreateInput}
Response
{"data": {"createProductGroup": ProductGroup}}

createReportConfiguration

Response

Returns a ReportConfigurationResult!

Arguments
Name Description
input - ReportConfigurationCreateInput

Example

Query
mutation createReportConfiguration($input: ReportConfigurationCreateInput) {
  createReportConfiguration(input: $input) {
    ... on ReportConfiguration {
      ...ReportConfigurationFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": ReportConfigurationCreateInput}
Response
{
  "data": {
    "createReportConfiguration": ReportConfiguration
  }
}

createUser

Response

Returns a UserResult!

Arguments
Name Description
input - UserCreateInput!

Example

Query
mutation createUser($input: UserCreateInput!) {
  createUser(input: $input) {
    ... on User {
      ...UserFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": UserCreateInput}
Response
{"data": {"createUser": User}}

createUserGroup

Response

Returns a UserGroupResult!

Arguments
Name Description
input - UserGroupCreateInput!

Example

Query
mutation createUserGroup($input: UserGroupCreateInput!) {
  createUserGroup(input: $input) {
    ... on UserGroup {
      ...UserGroupFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": UserGroupCreateInput}
Response
{"data": {"createUserGroup": UserGroup}}

deleteAnalysisConfiguration

Response

Returns a MutationError

Arguments
Name Description
input - IDInput!

Example

Query
mutation deleteAnalysisConfiguration($input: IDInput!) {
  deleteAnalysisConfiguration(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": IDInput}
Response
{
  "data": {
    "deleteAnalysisConfiguration": {
      "count": 987,
      "errors": [Error]
    }
  }
}

deleteApiToken

Response

Returns a MutationError

Arguments
Name Description
input - IDInput!

Example

Query
mutation deleteApiToken($input: IDInput!) {
  deleteApiToken(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": IDInput}
Response
{
  "data": {
    "deleteApiToken": {"count": 123, "errors": [Error]}
  }
}

deleteFirmware

Response

Returns a MutationError

Arguments
Name Description
input - IDInput!

Example

Query
mutation deleteFirmware($input: IDInput!) {
  deleteFirmware(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": IDInput}
Response
{
  "data": {
    "deleteFirmware": {"count": 123, "errors": [Error]}
  }
}

deleteFirmwareComponent

Response

Returns a MutationError

Arguments
Name Description
input - FirmwareDeleteComponentInput!

Example

Query
mutation deleteFirmwareComponent($input: FirmwareDeleteComponentInput!) {
  deleteFirmwareComponent(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": FirmwareDeleteComponentInput}
Response
{
  "data": {
    "deleteFirmwareComponent": {
      "count": 123,
      "errors": [Error]
    }
  }
}

deleteFirmwareSupportingFile

Response

Returns a MutationError

Arguments
Name Description
input - FirmwareSupportingFileDeleteInput!

Example

Query
mutation deleteFirmwareSupportingFile($input: FirmwareSupportingFileDeleteInput!) {
  deleteFirmwareSupportingFile(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": FirmwareSupportingFileDeleteInput}
Response
{
  "data": {
    "deleteFirmwareSupportingFile": {
      "count": 123,
      "errors": [Error]
    }
  }
}

deleteProductGroup

Response

Returns a MutationError

Arguments
Name Description
input - ProductGroupDeleteInput!

Example

Query
mutation deleteProductGroup($input: ProductGroupDeleteInput!) {
  deleteProductGroup(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": ProductGroupDeleteInput}
Response
{
  "data": {
    "deleteProductGroup": {
      "count": 123,
      "errors": [Error]
    }
  }
}

deleteReport

Response

Returns a MutationError

Arguments
Name Description
input - IDInput!

Example

Query
mutation deleteReport($input: IDInput!) {
  deleteReport(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": IDInput}
Response
{
  "data": {
    "deleteReport": {"count": 987, "errors": [Error]}
  }
}

deleteReportConfiguration

Response

Returns a MutationError

Arguments
Name Description
input - ReportConfigurationDeleteInput

Example

Query
mutation deleteReportConfiguration($input: ReportConfigurationDeleteInput) {
  deleteReportConfiguration(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": ReportConfigurationDeleteInput}
Response
{
  "data": {
    "deleteReportConfiguration": {
      "count": 987,
      "errors": [Error]
    }
  }
}

deleteUser

Response

Returns a MutationError

Arguments
Name Description
input - UserDeleteInput!

Example

Query
mutation deleteUser($input: UserDeleteInput!) {
  deleteUser(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": UserDeleteInput}
Response
{
  "data": {
    "deleteUser": {"count": 987, "errors": [Error]}
  }
}

deleteUserGroup

Response

Returns a MutationError

Arguments
Name Description
input - IDInput!

Example

Query
mutation deleteUserGroup($input: IDInput!) {
  deleteUserGroup(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": IDInput}
Response
{
  "data": {
    "deleteUserGroup": {"count": 123, "errors": [Error]}
  }
}

disableMonitoring

Response

Returns a MutationError

Arguments
Name Description
input - IDInput!

Example

Query
mutation disableMonitoring($input: IDInput!) {
  disableMonitoring(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": IDInput}
Response
{
  "data": {
    "disableMonitoring": {"count": 987, "errors": [Error]}
  }
}

enableMonitoring

Response

Returns a MutationError

Arguments
Name Description
input - IDInput!

Example

Query
mutation enableMonitoring($input: IDInput!) {
  enableMonitoring(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": IDInput}
Response
{
  "data": {
    "enableMonitoring": {"count": 123, "errors": [Error]}
  }
}

generateReport

Response

Returns a GenerateReportResult!

Arguments
Name Description
input - GenerateReportInput

Example

Query
mutation generateReport($input: GenerateReportInput) {
  generateReport(input: $input) {
    ... on Report {
      ...ReportFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": GenerateReportInput}
Response
{"data": {"generateReport": Report}}

requestFirmwareReview

Response

Returns a MutationError

Arguments
Name Description
input - FirmwareReviewInput

Example

Query
mutation requestFirmwareReview($input: FirmwareReviewInput) {
  requestFirmwareReview(input: $input) {
    count
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": FirmwareReviewInput}
Response
{
  "data": {
    "requestFirmwareReview": {
      "count": 987,
      "errors": [Error]
    }
  }
}

triggerAnalysis

Description

Triggers a new analysis on the given firmware

Response

Returns a TriggerAnalysisResult!

Arguments
Name Description
input - IDInput!

Example

Query
mutation triggerAnalysis($input: IDInput!) {
  triggerAnalysis(input: $input) {
    ... on TriggeredAnalysis {
      ...TriggeredAnalysisFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": IDInput}
Response
{"data": {"triggerAnalysis": TriggeredAnalysis}}

updateAnalysisConfiguration

Response

Returns an AnalysisConfigurationResult!

Arguments
Name Description
input - AnalysisConfigurationUpdateInput!

Example

Query
mutation updateAnalysisConfiguration($input: AnalysisConfigurationUpdateInput!) {
  updateAnalysisConfiguration(input: $input) {
    ... on AnalysisConfiguration {
      ...AnalysisConfigurationFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": AnalysisConfigurationUpdateInput}
Response
{
  "data": {
    "updateAnalysisConfiguration": AnalysisConfiguration
  }
}

updateCVEStatus

Response

Returns an UpdateCVEStatusResult

Arguments
Name Description
input - UpdateCVEStatusInput

Example

Query
mutation updateCVEStatus($input: UpdateCVEStatusInput) {
  updateCVEStatus(input: $input) {
    ... on CVEMatchesWithUpdatedStatus {
      ...CVEMatchesWithUpdatedStatusFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": UpdateCVEStatusInput}
Response
{"data": {"updateCVEStatus": CVEMatchesWithUpdatedStatus}}

updateComplianceExtraItem

Arguments
Name Description
input - ComplianceExtraItemUpdateInput

Example

Query
mutation updateComplianceExtraItem($input: ComplianceExtraItemUpdateInput) {
  updateComplianceExtraItem(input: $input) {
    ... on ComplianceExtraItem {
      ...ComplianceExtraItemFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": ComplianceExtraItemUpdateInput}
Response
{
  "data": {
    "updateComplianceExtraItem": ComplianceExtraItem
  }
}

updateComplianceItem

Response

Returns a ComplianceItemUpdateResult!

Arguments
Name Description
input - ComplianceItemUpdateInput

Example

Query
mutation updateComplianceItem($input: ComplianceItemUpdateInput) {
  updateComplianceItem(input: $input) {
    ... on ComplianceItemUpdateResults {
      ...ComplianceItemUpdateResultsFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": ComplianceItemUpdateInput}
Response
{
  "data": {
    "updateComplianceItem": ComplianceItemUpdateResults
  }
}

updateFirmware

Description

Update any part of the uploaded firmware metadata.

Response

Returns a FirmwareUpdateResult!

Arguments
Name Description
input - FirmwareUpdateInput

Example

Query
mutation updateFirmware($input: FirmwareUpdateInput) {
  updateFirmware(input: $input) {
    ... on Firmware {
      ...FirmwareFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": FirmwareUpdateInput}
Response
{"data": {"updateFirmware": Firmware}}

updateFirmwareComponent

Response

Returns a FirmwareComponentEditResult

Arguments
Name Description
input - FirmwareUpdateComponentInput!

Example

Query
mutation updateFirmwareComponent($input: FirmwareUpdateComponentInput!) {
  updateFirmwareComponent(input: $input) {
    ... on Component {
      ...ComponentFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": FirmwareUpdateComponentInput}
Response
{"data": {"updateFirmwareComponent": Component}}

updateGlobalAnalysisProfile

Response

Returns an UpdateGlobalAnalysisProfileResult

Arguments
Name Description
input - AnalysisProfileUpdateInput

Example

Query
mutation updateGlobalAnalysisProfile($input: AnalysisProfileUpdateInput) {
  updateGlobalAnalysisProfile(input: $input) {
    ... on AnalysisProfile {
      ...AnalysisProfileFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": AnalysisProfileUpdateInput}
Response
{"data": {"updateGlobalAnalysisProfile": AnalysisProfile}}

updateIssueStatus

Response

Returns an UpdateIssueStatusResult

Arguments
Name Description
input - UpdateIssueStatusInput

Example

Query
mutation updateIssueStatus($input: UpdateIssueStatusInput) {
  updateIssueStatus(input: $input) {
    ... on IssuesWithUpdatedStatus {
      ...IssuesWithUpdatedStatusFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": UpdateIssueStatusInput}
Response
{"data": {"updateIssueStatus": IssuesWithUpdatedStatus}}

updateProductGroup

Response

Returns a ProductGroupResult!

Arguments
Name Description
input - ProductGroupUpdateInput!

Example

Query
mutation updateProductGroup($input: ProductGroupUpdateInput!) {
  updateProductGroup(input: $input) {
    ... on ProductGroup {
      ...ProductGroupFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": ProductGroupUpdateInput}
Response
{"data": {"updateProductGroup": ProductGroup}}

updateReportConfiguration

Response

Returns a ReportConfigurationResult!

Arguments
Name Description
input - ReportConfigurationUpdateInput

Example

Query
mutation updateReportConfiguration($input: ReportConfigurationUpdateInput) {
  updateReportConfiguration(input: $input) {
    ... on ReportConfiguration {
      ...ReportConfigurationFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": ReportConfigurationUpdateInput}
Response
{
  "data": {
    "updateReportConfiguration": ReportConfiguration
  }
}

updateUser

Response

Returns a UserResult!

Arguments
Name Description
input - UserUpdateInput!

Example

Query
mutation updateUser($input: UserUpdateInput!) {
  updateUser(input: $input) {
    ... on User {
      ...UserFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": UserUpdateInput}
Response
{"data": {"updateUser": User}}

updateUserGroup

Response

Returns a UserGroupResult!

Arguments
Name Description
input - UserGroupUpdateInput!

Example

Query
mutation updateUserGroup($input: UserGroupUpdateInput!) {
  updateUserGroup(input: $input) {
    ... on UserGroup {
      ...UserGroupFragment
    }
    ... on MutationError {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": UserGroupUpdateInput}
Response
{"data": {"updateUserGroup": UserGroup}}

Subscriptions

complianceBundleGenerationUpdate

Response

Returns a ComplianceBundle

Arguments
Name Description
complianceBundleId - ID!

Example

Query
subscription complianceBundleGenerationUpdate($complianceBundleId: ID!) {
  complianceBundleGenerationUpdate(complianceBundleId: $complianceBundleId) {
    id
    guideline {
      ...ComplianceGuidelineFragment
    }
    createdBy
    createdAt
    description
    state
    size
    sha256
    downloadUrl
  }
}
Variables
{"complianceBundleId": 4}
Response
{
  "data": {
    "complianceBundleGenerationUpdate": {
      "id": 4,
      "guideline": ComplianceGuideline,
      "createdBy": "xyz789",
      "createdAt": Datetime,
      "description": "xyz789",
      "state": "GENERATING",
      "size": {},
      "sha256": "abc123",
      "downloadUrl": "abc123"
    }
  }
}

firmwareProcessingUpdates

Response

Returns [FirmwareProcessingUpdate!]!

Example

Query
subscription firmwareProcessingUpdates {
  firmwareProcessingUpdates {
    firmwareID
    name
    processing {
      ... on ProcessingInProgress {
        ...ProcessingInProgressFragment
      }
      ... on ProcessingFailed {
        ...ProcessingFailedFragment
      }
      ... on ProcessingFinished {
        ...ProcessingFinishedFragment
      }
    }
  }
}
Response
{
  "data": {
    "firmwareProcessingUpdates": [
      {
        "firmwareID": 4,
        "name": "abc123",
        "processing": ProcessingInProgress
      }
    ]
  }
}

reportGenerationUpdate

Response

Returns a Report

Arguments
Name Description
reportId - ID!

Example

Query
subscription reportGenerationUpdate($reportId: ID!) {
  reportGenerationUpdate(reportId: $reportId) {
    id
    title
    classification
    generatedTime
    reportConfiguration {
      ...ReportConfigurationFragment
    }
    firmwares {
      ...FirmwareFragment
    }
    downloadUrl
    size
    state
    links {
      ...ReportLinkFragment
    }
  }
}
Variables
{"reportId": "4"}
Response
{
  "data": {
    "reportGenerationUpdate": {
      "id": 4,
      "title": "abc123",
      "classification": "abc123",
      "generatedTime": Datetime,
      "reportConfiguration": ReportConfiguration,
      "firmwares": [Firmware],
      "downloadUrl": "xyz789",
      "size": 987,
      "state": "GENERATING",
      "links": [ReportLink]
    }
  }
}

Types

AnalysesComparison

Fields
Field Name Description
base - Analysis!
other - Analysis!
issues - IssuesComparison!
cveEntries - CVEEntriesComparison!
cveMatches - CVEMatchesComparison!
components - ComponentsComparison!
Example
{
  "base": Analysis,
  "other": Analysis,
  "issues": IssuesComparison,
  "cveEntries": CVEEntriesComparison,
  "cveMatches": CVEMatchesComparison,
  "components": ComponentsComparison
}

AnalysesComparisonSummary

Fields
Field Name Description
base - Analysis!
issues - ComparisonCount!
cveEntries - ComparisonCount!
components - ComparisonCount!
Example
{
  "base": Analysis,
  "issues": ComparisonCount,
  "cveEntries": ComparisonCount,
  "components": ComparisonCount
}

AnalysesFilter

Fields
Input Field Description
state - AnalysisState When both are specified it means "finished AND failed".
result - AnalysisResult
timeRange - DatetimeRange Start time of the analysis
type - AnalysisType
id - ID
Example
{
  "state": "WAITING",
  "result": "COMPLETE",
  "timeRange": DatetimeRange,
  "type": "INITIAL",
  "id": 4
}

Analysis

Description

Represents a complete analysis of a firmware

Fields
Field Name Description
id - ID! UUID of the analysis
issues - [Issue!]!
Arguments
filter - IssuesFilter
query - String
firmware - Firmware!
state - AnalysisState!
result - AnalysisResult
resultErrors - [AnalysisResultError!]!
startTime - Datetime!
endTime - Datetime
type - AnalysisType!
issueCount - SeverityCounts
Arguments
filter - IssuesFilter
query - String
cveMatchCount - SeverityCounts
Arguments
filter - CVEMatchFilter
query - String
cveMatches - [CVEMatch!]!
Arguments
filter - CVEMatchFilter
query - String
previousComparisonSummary - AnalysesComparisonSummary Changed issue and CVE information compared to the previous successful analysis. The previous analysis is the one finished just before the current one and is not affected by the filter used. This information is available from the second finished analysis.
isOutdated - Boolean! Components have been changed (edited) since the analysis was run, CVE list and other data is outdated
Example
{
  "id": "4",
  "issues": [Issue],
  "firmware": Firmware,
  "state": "WAITING",
  "result": "COMPLETE",
  "resultErrors": [AnalysisResultError],
  "startTime": Datetime,
  "endTime": Datetime,
  "type": "INITIAL",
  "issueCount": SeverityCounts,
  "cveMatchCount": SeverityCounts,
  "cveMatches": [CVEMatch],
  "previousComparisonSummary": AnalysesComparisonSummary,
  "isOutdated": true
}

AnalysisConfiguration

Fields
Field Name Description
id - ID!
name - String!
binaryAnalysis - Boolean!
rtosAnalysis - Boolean!
Example
{
  "id": "4",
  "name": "abc123",
  "binaryAnalysis": false,
  "rtosAnalysis": false
}

AnalysisConfigurationCreateInput

Fields
Input Field Description
name - String! Name must be unique
binaryAnalysis - Boolean!
rtosAnalysis - Boolean
Example
{
  "name": "abc123",
  "binaryAnalysis": false,
  "rtosAnalysis": false
}

AnalysisConfigurationResult

Example
AnalysisConfiguration

AnalysisConfigurationUpdateInput

Fields
Input Field Description
id - ID!
name - String Name must be unique
binaryAnalysis - Boolean
rtosAnalysis - Boolean
Example
{
  "id": 4,
  "name": "xyz789",
  "binaryAnalysis": false,
  "rtosAnalysis": false
}

AnalysisProfile

Fields
Field Name Description
issueRules - [AnalysisProfileRule!]!
cveRules - [AnalysisProfileRule!]!
Example
{
  "issueRules": [AnalysisProfileRule],
  "cveRules": [AnalysisProfileRule]
}

AnalysisProfileRule

Fields
Field Name Description
enabled - Boolean!
firmwareSelector - String When null, apply for all firmware.
query - String!
status - Status!
comment - String Save this in the audit trail comment.
Example
{
  "enabled": false,
  "firmwareSelector": "abc123",
  "query": "xyz789",
  "status": "NONE",
  "comment": "abc123"
}

AnalysisProfileRuleInput

Fields
Input Field Description
enabled - Boolean!
firmwareSelector - String When null, apply for all firmware.
query - String!
status - Status!
comment - String Save this in the audit trail comment.
Example
{
  "enabled": true,
  "firmwareSelector": "abc123",
  "query": "xyz789",
  "status": "NONE",
  "comment": "abc123"
}

AnalysisProfileUpdateInput

Fields
Input Field Description
issueRules - [AnalysisProfileRuleInput!]
cveRules - [AnalysisProfileRuleInput!]
Example
{
  "issueRules": [AnalysisProfileRuleInput],
  "cveRules": [AnalysisProfileRuleInput]
}

AnalysisResult

Values
Enum Value Description

COMPLETE

FAILED

PARTIAL

Example
"COMPLETE"

AnalysisResultError

Fields
Field Name Description
missing - [String!]!
reason - String!
Example
{
  "missing": ["abc123"],
  "reason": "abc123"
}

AnalysisState

Values
Enum Value Description

WAITING

PROCESSING

DONE

CLEANED_UP

Example
"WAITING"

AnalysisType

Values
Enum Value Description

INITIAL

Initial analysis after firmware upload

MONITORING

Automatic daily monitoring analysis

MANUAL

Manually triggered analysis
Example
"INITIAL"

AndroidConfigurationPropertyIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
line - String!
name - String!
Example
{
  "id": 4,
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "line": "abc123",
  "name": "abc123"
}

ApiToken

Fields
Field Name Description
id - ID!
name - String!
description - String
createdBy - String!
createdAt - Datetime!
expireAt - Datetime!
lastUsedAt - Datetime
permissions - [ApiTokenPermission!]!
Example
{
  "id": 4,
  "name": "abc123",
  "description": "abc123",
  "createdBy": "xyz789",
  "createdAt": Datetime,
  "expireAt": Datetime,
  "lastUsedAt": Datetime,
  "permissions": [ApiTokenPermission]
}

ApiTokenCreateInput

Fields
Input Field Description
name - String!
description - String
permissions - [ApiTokenPermissionInput!]!
expire - Datetime!
Example
{
  "name": "abc123",
  "description": "xyz789",
  "permissions": [ApiTokenPermissionInput],
  "expire": Datetime
}

ApiTokenCreateResult

Types
Union Types

CreatedApiToken

MutationError

Example
CreatedApiToken

ApiTokenPermission

Fields
Field Name Description
roles - [Role!]!
productGroup - ProductGroup
Example
{"roles": ["ADMIN"], "productGroup": ProductGroup}

ApiTokenPermissionInput

Fields
Input Field Description
roles - [Role!]!
productGroupId - ID
Example
{"roles": ["ADMIN"], "productGroupId": 4}

AuditRecord

Fields
Field Name Description
timestamp - Datetime!
firmwareId - String!
userEmail - String!
comment - String
status - Status!
stableKey - String!
type - FindingType!
objectSummary - String
Example
{
  "timestamp": Datetime,
  "firmwareId": "abc123",
  "userEmail": "xyz789",
  "comment": "abc123",
  "status": "NONE",
  "stableKey": "abc123",
  "type": "ISSUE",
  "objectSummary": "abc123"
}

AuditTrailFilter

Fields
Input Field Description
timestamp - DatetimeRange
Example
{"timestamp": DatetimeRange}

AuthorizedKeyIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
line - String!
keyType - String!
fingerprintMd5 - String!
fingerprintSha256 - String!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "line": "xyz789",
  "keyType": "xyz789",
  "fingerprintMd5": "xyz789",
  "fingerprintSha256": "abc123"
}

BigInt

Description

Integer with value possibly bigger than the Int maximum defined in GraphQL

Example
{}

BinaryStartDangerousServiceIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
Example
{
  "id": 4,
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement
}

BitLength

Example
BitLength

Blob

Fields
Field Name Description
stableKey - String!
extractedRoot - Directory
size - BigInt!
extractedSize - BigInt!
extractedRootPath - String
extractionProblems - [BlobExtractionProblem!]!
Possible Types
Blob Types

Chunk

MultiFile

Example
{
  "stableKey": "abc123",
  "extractedRoot": Directory,
  "size": {},
  "extractedSize": {},
  "extractedRootPath": "abc123",
  "extractionProblems": [BlobExtractionProblem]
}

BlobExtractionProblem

Fields
Field Name Description
blob - Blob!
critical - Boolean!
description - String!
Example
{
  "blob": Blob,
  "critical": true,
  "description": "xyz789"
}

BlobFilter

Fields
Input Field Description
stableKey - String
type - String
Example
{
  "stableKey": "abc123",
  "type": "xyz789"
}

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

CVEEntriesComparison

Fields
Field Name Description
new - [CVEEntry!]!
dropped - [CVEEntry!]!
newCount - Int!
droppedCount - Int!
Example
{
  "new": [CVEEntry],
  "dropped": [CVEEntry],
  "newCount": 987,
  "droppedCount": 987
}

CVEEntry

Fields
Field Name Description
id - CVEID!
description - String
name - String
publicationDate - Datetime!
modificationDate - Datetime!
severity - Severity!
cvss2 - CVSS2
cvss3 - CVSS3
references - [CVEReference!]!
cwes - [CWE!]!
exploitMaturity - CVEExploitMaturity!
epssProbability - Float
epssPercentile - Float
Example
{
  "id": CVEID,
  "description": "xyz789",
  "name": "abc123",
  "publicationDate": Datetime,
  "modificationDate": Datetime,
  "severity": "CRITICAL",
  "cvss2": CVSS2,
  "cvss3": CVSS3,
  "references": [CVEReference],
  "cwes": [CWE],
  "exploitMaturity": "NOT_DEFINED",
  "epssProbability": 123.45,
  "epssPercentile": 123.45
}

CVEExploitMaturity

Values
Enum Value Description

NOT_DEFINED

HIGH

FUNCTIONAL

POC

UNPROVEN

Example
"NOT_DEFINED"

CVEFix

Fields
Field Name Description
versionIncluding - String
versionExcluding - String
Example
{
  "versionIncluding": "xyz789",
  "versionExcluding": "xyz789"
}

CVEID

Example
CVEID

CVEMatch

Fields
Field Name Description
id - ID!
stableKey - String!
component - Component!
cve - CVEEntry!
score - Int!
evidences - [CVEMatchEvidence!]!
fixes - [CVEFix!]!
status - Status!
auditTrail - [AuditRecord!]!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "component": Component,
  "cve": CVEEntry,
  "score": 123,
  "evidences": [CVEMatchEvidence],
  "fixes": [CVEFix],
  "status": "NONE",
  "auditTrail": [AuditRecord]
}

CVEMatchEvidence

Fields
Field Name Description
name - String!
match - Boolean!
score - Int!
description - String!
files - [String!]!
Example
{
  "name": "abc123",
  "match": false,
  "score": 987,
  "description": "abc123",
  "files": ["abc123"]
}

CVEMatchFilter

Fields
Input Field Description
id - ID
status - StatusFilter
comment - String Any of the audit trail comments contain the specified string, case insensitive
score - IntFilter
cveEntryId - StringFilter
component - ComponentFilter
Example
{
  "id": 4,
  "status": StatusFilter,
  "comment": "xyz789",
  "score": IntFilter,
  "cveEntryId": StringFilter,
  "component": ComponentFilter
}

CVEMatchesComparison

Fields
Field Name Description
new - [CVEMatch!]!
dropped - [CVEMatch!]!
newCount - Int!
droppedCount - Int!
Example
{
  "new": [CVEMatch],
  "dropped": [CVEMatch],
  "newCount": 123,
  "droppedCount": 123
}

CVEMatchesWithUpdatedStatus

Fields
Field Name Description
cveMatches - [CVEMatch!]!
Example
{"cveMatches": [CVEMatch]}

CVEReference

Fields
Field Name Description
name - String
url - String
source - String
tags - [String!]!
Example
{
  "name": "xyz789",
  "url": "xyz789",
  "source": "xyz789",
  "tags": ["xyz789"]
}

CVSS2

Fields
Field Name Description
vector - String!
score - Float!
accessVector - CVSSAttackVector!
accessComplexity - CVSSAttackComplexity!
integrityImpact - CVSSCIAType!
confidentialityImpact - CVSSCIAType!
availabilityImpact - CVSSCIAType!
authentication - CVSSAuthenticationType!
Example
{
  "vector": "abc123",
  "score": 123.45,
  "accessVector": "NETWORK",
  "accessComplexity": "LOW",
  "integrityImpact": "NONE",
  "confidentialityImpact": "NONE",
  "availabilityImpact": "NONE",
  "authentication": "NONE"
}

CVSS3

Fields
Field Name Description
vector - String!
baseScore - Float!
attackVector - CVSSAttackVector!
attackComplexity - CVSSAttackComplexity!
integrityImpact - CVSSCIAType!
confidentialityImpact - CVSSCIAType!
availabilityImpact - CVSSCIAType!
userInteraction - CVSSUserInteractionType!
privilegesRequired - CVSSPrivilegesRequiredType!
scope - CVSSScopeType!
Example
{
  "vector": "abc123",
  "baseScore": 987.65,
  "attackVector": "NETWORK",
  "attackComplexity": "LOW",
  "integrityImpact": "NONE",
  "confidentialityImpact": "NONE",
  "availabilityImpact": "NONE",
  "userInteraction": "NONE",
  "privilegesRequired": "NONE",
  "scope": "UNCHANGED"
}

CVSSAttackComplexity

Values
Enum Value Description

LOW

MEDIUM

HIGH

Example
"LOW"

CVSSAttackVector

Values
Enum Value Description

NETWORK

ADJACENT_NETWORK

LOCAL

PHYSICAL

Example
"NETWORK"

CVSSAuthenticationType

Values
Enum Value Description

NONE

SINGLE

MULTIPLE

Example
"NONE"

CVSSCIAType

Values
Enum Value Description

NONE

LOW

HIGH

PARTIAL

COMPLETE

Example
"NONE"

CVSSPrivilegesRequiredType

Values
Enum Value Description

NONE

LOW

HIGH

Example
"NONE"

CVSSScopeType

Values
Enum Value Description

UNCHANGED

CHANGED

Example
"UNCHANGED"

CVSSUserInteractionType

Values
Enum Value Description

NONE

REQUIRED

Example
"NONE"

CWE

Fields
Field Name Description
id - CWEID!
name - String!
description - String!
Example
{
  "id": CWEID,
  "name": "abc123",
  "description": "xyz789"
}

CWEID

Example
CWEID

Certificate

Fields
Field Name Description
id - ID!
fingerprintSha1 - String!
fingerprintSha256 - String!
details - String! OpenSSL text output of the certificate
issuer - String!
subject - String!
pem - String! PEM encoded certificate
notBefore - Datetime!
notAfter - Datetime!
signatureAlgorithmOid - String!
file - RegularFile!
privateKeys - [PrivateKey!]!
Example
{
  "id": 4,
  "fingerprintSha1": "xyz789",
  "fingerprintSha256": "xyz789",
  "details": "abc123",
  "issuer": "xyz789",
  "subject": "abc123",
  "pem": "xyz789",
  "notBefore": Datetime,
  "notAfter": Datetime,
  "signatureAlgorithmOid": "abc123",
  "file": RegularFile,
  "privateKeys": [PrivateKey]
}

CertificateCAVerificationFailedIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
certificate - Certificate!
verificationError - CertificateVerificationError!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "certificate": Certificate,
  "verificationError": "SELF_SIGNED"
}

CertificateExpiredIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
certificate - Certificate!
Example
{
  "id": 4,
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "certificate": Certificate
}

CertificateKeyLengthIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
certificate - Certificate!
keyType - String!
keyLength - Int!
Example
{
  "id": 4,
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "certificate": Certificate,
  "keyType": "xyz789",
  "keyLength": 123
}

CertificateRSAPublicExponentIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
certificate - Certificate!
exponent - Int!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "certificate": Certificate,
  "exponent": 987
}

CertificateSignatureIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
certificate - Certificate!
signatureOid - String!
signatureName - String!
Example
{
  "id": 4,
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "certificate": Certificate,
  "signatureOid": "xyz789",
  "signatureName": "xyz789"
}

CertificateTrustedCAMissmatchIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
certificate - Certificate!
missmatchType - TrustedCAMissmatch!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "certificate": Certificate,
  "missmatchType": "RENEWED"
}

CertificateVerificationError

Values
Enum Value Description

SELF_SIGNED

LOCAL_VERIFED

UNKNOWN_ISSUER

MISSING_ISSUER

EXPIRED

UNHANDLED_CRITICAL_EXTENSION

INVALID_CA

SIGNATURE_FAILURE

MISSING_NOT_BEFORE

MISSING_NOT_AFTER

CHAIN_TOO_LONG

SUBJECT_ISSUER_MISMATCH

AKID_SKID_MISMATCH

AKID_ISSUER_SERIAL_MISMATCH

KEYUSAGE_NO_CERTSIGN

UNABLE_TO_GET_CRL_ISSUER

KEYUSAGE_NO_CRL_SIGN

UNHANDLED_CRITICAL_CRL_EXTENSION

INVALID_NON_CA

PROXY_PATH_LENGTH_EXCEEDED

KEYUSAGE_NO_DIGITAL_SIGNATURE

PROXY_CERTIFICATES_NOT_ALLOWED

INVALID_EXTENSION

INVALID_POLICY_EXTENSION

NO_EXPLICIT_POLICY

DIFFERENT_CRL_SCOPE

UNSUPPORTED_EXTENSION_FEATURE

UNNESTED_RESOURCE

PERMITTED_VIOLATION

EXCLUDED_VIOLATION

SUBTREE_MINMAX

Example
"SELF_SIGNED"

CertificateVerificationFailedIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
certificate - Certificate!
verificationError - CertificateVerificationError!
Example
{
  "id": 4,
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "certificate": Certificate,
  "verificationError": "SELF_SIGNED"
}

CertificateVersionIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
certificate - Certificate!
version - String!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "certificate": Certificate,
  "version": "abc123"
}

Chunk

Fields
Field Name Description
parentFile - RegularFile!
index - Int!
startOffset - BigInt!
endOffset - BigInt!
size - BigInt!
extractedRoot - Directory
type - String!
stableKey - String!
meanEntropy - Float
entropy - Entropy
extractedSize - BigInt!
extractedRootPath - String
extractionProblems - [BlobExtractionProblem!]!
Example
{
  "parentFile": RegularFile,
  "index": 123,
  "startOffset": {},
  "endOffset": {},
  "size": {},
  "extractedRoot": Directory,
  "type": "xyz789",
  "stableKey": "xyz789",
  "meanEntropy": 987.65,
  "entropy": Entropy,
  "extractedSize": {},
  "extractedRootPath": "xyz789",
  "extractionProblems": [BlobExtractionProblem]
}

CodeInjectionIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
source - Statement!
propagators - [Statement!]!
Example
{
  "id": 4,
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement,
  "source": Statement,
  "propagators": [Statement]
}

CommandInjectionIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
source - Statement!
propagators - [Statement!]!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement,
  "source": Statement,
  "propagators": [Statement]
}

ComparisonCount

Fields
Field Name Description
newCount - Int!
droppedCount - Int!
Example
{"newCount": 987, "droppedCount": 123}

CompiledUnit

Fields
Field Name Description
id - ID!
componentName - String!
componentVersion - String!
filename - String!
Example
{
  "id": "4",
  "componentName": "xyz789",
  "componentVersion": "abc123",
  "filename": "abc123"
}

ComplianceAnalysisFindingRule

Fields
Field Name Description
suggestion - ComplianceItemSuggestion!
cveQuery - String
issueQuery - String
argument - String
Example
{
  "suggestion": "YES",
  "cveQuery": "abc123",
  "issueQuery": "abc123",
  "argument": "abc123"
}

ComplianceAuxiliaryProperty

Fields
Field Name Description
name - String!
label - String!
description - String
Example
{
  "name": "abc123",
  "label": "xyz789",
  "description": "abc123"
}

ComplianceBundle

Fields
Field Name Description
id - ID!
guideline - ComplianceGuideline!
createdBy - String!
createdAt - Datetime!
description - String
state - GenerationState!
size - BigInt
sha256 - String
downloadUrl - String
Example
{
  "id": "4",
  "guideline": ComplianceGuideline,
  "createdBy": "abc123",
  "createdAt": Datetime,
  "description": "abc123",
  "state": "GENERATING",
  "size": {},
  "sha256": "xyz789",
  "downloadUrl": "xyz789"
}

ComplianceBundleCreateInput

Fields
Input Field Description
firmwareId - ID!
complianceGuidelineId - ID!
description - String
Example
{
  "firmwareId": 4,
  "complianceGuidelineId": "4",
  "description": "xyz789"
}

ComplianceBundleCreateResult

Types
Union Types

ComplianceBundle

MutationError

Example
ComplianceBundle

ComplianceBundleFilter

Fields
Input Field Description
guidelineId - ID
Example
{"guidelineId": "4"}

ComplianceChapter

Fields
Field Name Description
id - ID!
type - ComplianceChapterType!
sections - [ComplianceGuidelineSection!]!
extras - [ComplianceExtra!]!
Example
{
  "id": "4",
  "type": "REQUIREMENTS",
  "sections": [ComplianceGuidelineSection],
  "extras": [ComplianceExtra]
}

ComplianceChapterType

Values
Enum Value Description

REQUIREMENTS

OVERVIEW

EXTRA

Example
"REQUIREMENTS"

ComplianceDefaultSuggestionRule

Fields
Field Name Description
suggestion - ComplianceItemSuggestion!
Example
{"suggestion": "YES"}

ComplianceExtra

Fields
Field Name Description
id - ID!
title - String!
description - String
columns - [ComplianceAuxiliaryProperty!]!
relatedProvisions - [ComplianceProvision!]!
Example
{
  "id": 4,
  "title": "xyz789",
  "description": "xyz789",
  "columns": [ComplianceAuxiliaryProperty],
  "relatedProvisions": [ComplianceProvision]
}

ComplianceExtraItem

Fields
Field Name Description
id - ID!
guideline - ComplianceGuideline!
chapter - ComplianceChapter!
extra - ComplianceExtra!
data - DataTable!
Example
{
  "id": "4",
  "guideline": ComplianceGuideline,
  "chapter": ComplianceChapter,
  "extra": ComplianceExtra,
  "data": DataTable
}

ComplianceExtraItemFilter

Fields
Input Field Description
guidelineId - ID
extraId - ID
Example
{"guidelineId": 4, "extraId": 4}

ComplianceExtraItemUpdateInput

Fields
Input Field Description
firmwareId - ID!
extraId - ID!
data - DataTableInput! NOTE: Already stored data will be overridden
Example
{
  "firmwareId": "4",
  "extraId": "4",
  "data": DataTableInput
}

ComplianceExtraItemUpdateResult

Example
ComplianceExtraItem

ComplianceGuideline

Fields
Field Name Description
id - ID!
title - String!
publisherName - String!
publisherType - ComplianceGuidelinePublisherType!
publicationDate - Date!
url - String!
auxiliaryProperties - [ComplianceAuxiliaryProperty!]!
summary - String!
chapters - [ComplianceChapter!]!
Example
{
  "id": "4",
  "title": "xyz789",
  "publisherName": "abc123",
  "publisherType": "GOVERNMENT_ORGANISATION",
  "publicationDate": "2007-12-03",
  "url": "xyz789",
  "auxiliaryProperties": [ComplianceAuxiliaryProperty],
  "summary": "xyz789",
  "chapters": [ComplianceChapter]
}

ComplianceGuidelinePublisherType

Values
Enum Value Description

GOVERNMENT_ORGANISATION

STANDARDS_ORGANISATION

NOT_FOR_PROFIT_ORGANISATION

INDUSTRY_TRADE_ASSOCIATION

Example
"GOVERNMENT_ORGANISATION"

ComplianceGuidelineSection

Description

A section or chapter of a compliance guideline, which groups similar guideline provisions.

Fields
Field Name Description
id - ID!
title - String!
provisions - [ComplianceProvision!]!
Example
{
  "id": 4,
  "title": "xyz789",
  "provisions": [ComplianceProvision]
}

ComplianceItem

Fields
Field Name Description
id - ID!
guideline - ComplianceGuideline!
chapter - ComplianceChapter!
section - ComplianceGuidelineSection!
provision - ComplianceProvision!
currentData - ComplianceItemData!
latestData - ComplianceItemData!
claim - ComplianceItemClaim
argument - String
status - ComplianceItemStatus!
Example
{
  "id": 4,
  "guideline": ComplianceGuideline,
  "chapter": ComplianceChapter,
  "section": ComplianceGuidelineSection,
  "provision": ComplianceProvision,
  "currentData": ComplianceItemData,
  "latestData": ComplianceItemData,
  "claim": "NOT_APPLICABLE",
  "argument": "xyz789",
  "status": "UP_TO_DATE"
}

ComplianceItemClaim

Values
Enum Value Description

NOT_APPLICABLE

YES

NO

Example
"NOT_APPLICABLE"

ComplianceItemData

Fields
Field Name Description
createdAt - Datetime!
revision - String!
analysis - Analysis!
issues - [Issue!]!
cveMatches - [CVEMatch!]!
suggestion - ComplianceItemSuggestion!
argument - String
Example
{
  "createdAt": Datetime,
  "revision": "xyz789",
  "analysis": Analysis,
  "issues": [Issue],
  "cveMatches": [CVEMatch],
  "suggestion": "YES",
  "argument": "xyz789"
}

ComplianceItemFilter

Fields
Input Field Description
guidelineId - ID
provisionId - ID
Example
{"guidelineId": 4, "provisionId": 4}

ComplianceItemStatus

Values
Enum Value Description

UP_TO_DATE

OUTDATED_CHANGED

OUTDATED_SAME

NOT_FILLED

Example
"UP_TO_DATE"

ComplianceItemSuggestion

Values
Enum Value Description

YES

NO

MANUAL_CHECK_REQUIRED

NOT_APPLICABLE

Example
"YES"

ComplianceItemUpdateInput

Fields
Input Field Description
id - ID!
claim - ComplianceItemClaim!
argument - String!
latestRevision - String!

latestRevision is a data integrity guard: it must match with latestData.revision on the backend for the request to succeed.

If the revisions match, latestData copied over to currentData and the claim and argument for it is recorded. On mismatch, the backend has a newer analysis result and no longer has the data seen by the request maker.

Example
{
  "id": 4,
  "claim": "NOT_APPLICABLE",
  "argument": "xyz789",
  "latestRevision": "abc123"
}

ComplianceItemUpdateResult

Example
ComplianceItemUpdateResults

ComplianceItemUpdateResults

Description

We return all compliance items that are changed as a result of the mutation (eg: the one that was changed, plus all the ones that depend directly or indirectly on this.)

Fields
Field Name Description
items - [ComplianceItem!]!
Example
{"items": [ComplianceItem]}

ComplianceProvision

Fields
Field Name Description
id - ID!
title - String!
requirement - String
problemBackground - String
solution - String
rules - [ComplianceRule!]!
relatedExtras - [ComplianceExtra!]!
Example
{
  "id": "4",
  "title": "abc123",
  "requirement": "abc123",
  "problemBackground": "xyz789",
  "solution": "abc123",
  "rules": [ComplianceRule],
  "relatedExtras": [ComplianceExtra]
}

ComplianceProvisionRule

Fields
Field Name Description
suggestion - ComplianceItemSuggestion!
provision - ComplianceProvision!
provisionResult - ComplianceItemSuggestion!
argument - String
Example
{
  "suggestion": "YES",
  "provision": ComplianceProvision,
  "provisionResult": "YES",
  "argument": "abc123"
}

ComplianceRule

Fields
Field Name Description
suggestion - ComplianceItemSuggestion!
Example
{"suggestion": "YES"}

Component

Description

A software component with version information (package, library, module, application, kernel etc.)

Fields
Field Name Description
key - String! Uniquely identifies the component across analyses
name - String!
version - String!
update - String!
files - [RegularFile!]!
fileCount - Int!
cpes - [String!]! List of CPEs (Common Platform Enumeration)
licenses - [String!]!
license_explanation - String
tags - [ComponentTag!]!
cveMatches - [CVEMatch!]!
Arguments
filter - CVEMatchFilter
query - String
cveMatchCount - SeverityCounts!
Arguments
filter - CVEMatchFilter
query - String
possibleVersions - [String!]!
evidences - [ComponentEvidence!]!
isOutdated - Boolean!
Example
{
  "key": "xyz789",
  "name": "xyz789",
  "version": "xyz789",
  "update": "xyz789",
  "files": [RegularFile],
  "fileCount": 123,
  "cpes": ["abc123"],
  "licenses": ["abc123"],
  "license_explanation": "xyz789",
  "tags": ["CRYPTOGRAPHY"],
  "cveMatches": [CVEMatch],
  "cveMatchCount": SeverityCounts,
  "possibleVersions": ["xyz789"],
  "evidences": [ComponentEvidence],
  "isOutdated": true
}

ComponentEvidence

Fields
Field Name Description
id - ID!
type - ComponentEvidenceType!
name - String! Uniquely identifies the component across analyses
version - String!
possibleVersions - [String!]!
update - String!
files - [RegularFile!]!
cpes - [String!]! List of CPEs (Common Platform Enumeration)
licenses - [String!]!
license_explanation - String
tags - [ComponentTag!]!
Example
{
  "id": "4",
  "type": "BINARY_COMPILED_UNIT",
  "name": "abc123",
  "version": "xyz789",
  "possibleVersions": ["abc123"],
  "update": "abc123",
  "files": [RegularFile],
  "cpes": ["abc123"],
  "licenses": ["xyz789"],
  "license_explanation": "xyz789",
  "tags": ["CRYPTOGRAPHY"]
}

ComponentEvidenceType

Values
Enum Value Description

BINARY_COMPILED_UNIT

BINARY_GO

BINARY_AUTOSAR

LINUX_DISTRIBUTION

PACKAGE_MANAGER_DPKG

PACKAGE_MANAGER_IPKG

PACKAGE_MANAGER_OPKG

PACKAGE_MANAGER_JS

PACKAGE_MANAGER_WHEEL

RULE

USER_EDIT

USER_SBOM

Example
"BINARY_COMPILED_UNIT"

ComponentFilter

Fields
Input Field Description
tag - ComponentTag
name - String
version - String
update - String
filePath - String
Example
{
  "tag": "CRYPTOGRAPHY",
  "name": "abc123",
  "version": "xyz789",
  "update": "xyz789",
  "filePath": "abc123"
}

ComponentTag

Values
Enum Value Description

CRYPTOGRAPHY

BOOTLOADER

OS

JAVASCRIPT

PYTHON

GO

DISTRIBUTION

LIBRARY

AUTOSAR

Example
"CRYPTOGRAPHY"

ComponentsComparison

Fields
Field Name Description
new - [Component!]!
dropped - [Component!]!
newCount - Int!
droppedCount - Int!
Example
{
  "new": [Component],
  "dropped": [Component],
  "newCount": 123,
  "droppedCount": 123
}

Confidence

Values
Enum Value Description

HIGH

MODERATE

LOW

Example
"HIGH"

ContentFilter

Description

Only one of these can be specified at the same time

Fields
Input Field Description
string - StringFilter To search by string, at least 4 characters need to be specified
importedFunction - StringFilter
exportedFunction - StringFilter
symbol - StringFilter
Example
{
  "string": StringFilter,
  "importedFunction": StringFilter,
  "exportedFunction": StringFilter,
  "symbol": StringFilter
}

CreateReportLinkInput

Fields
Input Field Description
reportId - ID!
validity - Int! In seconds
Example
{"reportId": "4", "validity": 987}

CreatedApiToken

Fields
Field Name Description
id - ID!
token - String!
Example
{
  "id": "4",
  "token": "xyz789"
}

DataTable

Fields
Field Name Description
rows - [DataTableRow!]!
Example
{"rows": [DataTableRow]}

DataTableInput

Fields
Input Field Description
rows - [DataTableRowInput!]!
Example
{"rows": [DataTableRowInput]}

DataTableRow

Fields
Field Name Description
columns - [Property!]!
Example
{"columns": [Property]}

DataTableRowInput

Fields
Input Field Description
columns - [PropertyInput]!
Example
{"columns": [PropertyInput]}

Date

Example
"2007-12-03"

Datetime

Description

ISO 8601 formatted time

Example
Datetime

DatetimeRange

Fields
Input Field Description
start - Datetime At least one of these must be specified
end - Datetime
Example
{"start": Datetime, "end": Datetime}

Directory

Fields
Field Name Description
path - String!
name - String!
firmware - Firmware!
parentBlob - Blob
stableKey - String!
blobRelativePath - String!
multiFile - MultiFile
Example
{
  "path": "xyz789",
  "name": "xyz789",
  "firmware": Firmware,
  "parentBlob": Blob,
  "stableKey": "abc123",
  "blobRelativePath": "abc123",
  "multiFile": MultiFile
}

DropbearCLIArgumentIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
name - String!
line - String!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "name": "abc123",
  "line": "abc123"
}

ELFCategory

Values
Enum Value Description

CRYPTO

General crypto

CRYPTO_DSA

DSA related crypto

CRYPTO_TLS

SSL/TLS communication related

CRYPTO_RSA

RSA related crypto

CRYPTO_DH

Diffie-Hellman related

CRYPTO_AES

AES related crypto, may indicate hard-coded keys

CRYPTO_DES

DES related crypto, may indicate hard-coded keys.

CRYPTO_ASN1

Low-level ASN1 manipulation

CRYPTO_BASE64

BASE64 encoding/decoding

CRYPTO_X509

X509 certificate related

CRYPTO_PEM

Operation on PEM files

CRYPTO_EC

Elliptic curve crypto

CRYPTO_PKCS

PKCS related

CRYPTO_HASH

HASH function

CRYPTO_BLOWFISH

Blowfish related crypto, may indicate hard-coded keys

PAM_AUTH

Pluggable Authentication Module (PAM) related authentication. See 'man 3 pam'

NETWORKING

General networking

COMMAND_EXEC

Command execution, usually safe, but unsafe when a specific argument passed to the command is controlled by a user. Lower-risk than UNSAFE_COMMAND_EXEC

UNSAFE_STRING_NOBOUNDS

Unsafe string manipulation, without bounds checking. Source string - and therefore length - is controlled by a user. The bounds of the destination buffer may be overflowed.

UNSAFE_STRING

Unsafe string manipulation with bounds checking. Unsafe when the length field is controlled by user input.

UNSAFE_COMMAND_EXEC

Unsafe command execution when any part of the buffer passed to the command execution string is controlled by a user
Example
"CRYPTO"

ELFDetails

Fields
Field Name Description
symbols - [ELFSymbol!]!
Example
{"symbols": [ELFSymbol]}

ELFInfo

Description

ELF specific file information.

Fields
Field Name Description
machine - String! Machine information
bits - BitLength! Bits of the architecture 8/16/32/64
canary - Boolean! Stack canary compile time flag
compiler - String Compiler used
endian - Endian! Endianness of the file
interpreter - String Interpreter for the binary
nx - Boolean! Non-executable stack
pic - Boolean! Position-independent code (PIC) or position-independent executable (PIE), enables Address space layout randomization (ASLR)
relro - ELFRelRO! Relocation Read-Only
rpath - String Run-time search path (Rpath)
static - Boolean! Statically linked
stripped - Boolean! Debug symbols are stripped
cpuFamily - String Determines the processor architecture together with machine, endian and bits (like ARM version or presence of hardware float support)
loadAddress - BigInt The address, where the binary is loaded at run-time
categories - [ELFCategory!]! ELF category based on imported functions
neededLibraries - [String!]!
Example
{
  "machine": "xyz789",
  "bits": BitLength,
  "canary": false,
  "compiler": "abc123",
  "endian": "LITTLE",
  "interpreter": "abc123",
  "nx": false,
  "pic": false,
  "relro": "FULL",
  "rpath": "xyz789",
  "static": false,
  "stripped": false,
  "cpuFamily": "abc123",
  "loadAddress": {},
  "categories": ["CRYPTO"],
  "neededLibraries": ["xyz789"]
}

ELFMissingCanaryIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE"
}

ELFMissingFullRelROIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
Example
{
  "id": 4,
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE"
}

ELFMissingNXIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
Example
{
  "id": 4,
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE"
}

ELFNonPICIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE"
}

ELFNonStrippedIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
Example
{
  "id": 4,
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE"
}

ELFRelRO

Values
Enum Value Description

FULL

Full Relocation Read-Only (RELRO), Global Offset Table (GOT) is read-only

PARTIAL

Partial Relocation Read-Only (RELRO), non Procedure Linkage Table (PLT) part of Global Offset Table (GOT) is read-only. PLT part is writeable.

NO

No Relocation Read-Only (RELRO), Global Offset Table (GOT) is writeable.
Example
"FULL"

ELFSymbol

Fields
Field Name Description
name - String!
exported - Boolean!
imported - Boolean!
function - Boolean!
static - Boolean!
variable - Boolean!
compiledUnits - [CompiledUnit!]!
offset - BigInt
size - BigInt!
Example
{
  "name": "xyz789",
  "exported": true,
  "imported": true,
  "function": false,
  "static": false,
  "variable": true,
  "compiledUnits": [CompiledUnit],
  "offset": {},
  "size": {}
}

Endian

Values
Enum Value Description

LITTLE

BIG

Example
"LITTLE"

Entropy

Fields
Field Name Description
mean - Float!
lowest - Float!
highest - Float!
blockSize - Int!
blockEntropies - [Float!]!
Example
{
  "mean": 987.65,
  "lowest": 987.65,
  "highest": 123.45,
  "blockSize": 123,
  "blockEntropies": [123.45]
}

Error

Fields
Field Name Description
message - String!
code - String!
fieldPath - [String!] Path to the field name in the input node
Possible Types
Error Types

ValidationError

NotFoundError

InternalError

Example
{
  "message": "xyz789",
  "code": "abc123",
  "fieldPath": ["xyz789"]
}

ExtractionProblem

Fields
Field Name Description
critical - Boolean!
description - String!
Possible Types
ExtractionProblem Types

FileExtractionProblem

BlobExtractionProblem

Example
{"critical": false, "description": "abc123"}

File

Fields
Field Name Description
path - String!
name - String!
firmware - Firmware!
parentBlob - Blob
stableKey - String!
blobRelativePath - String!
multiFile - MultiFile
Possible Types
File Types

RegularFile

Directory

Symlink

OtherFile

Example
{
  "path": "xyz789",
  "name": "abc123",
  "firmware": Firmware,
  "parentBlob": Blob,
  "stableKey": "abc123",
  "blobRelativePath": "xyz789",
  "multiFile": MultiFile
}

FileAnalysisError

Fields
Field Name Description
step - String!
type - FileAnalysisErrorType!
description - String
Example
{
  "step": "xyz789",
  "type": "PROCESSING_FAILED",
  "description": "xyz789"
}

FileAnalysisErrorType

Values
Enum Value Description

PROCESSING_FAILED

UNSUPPORTED_FILE

Example
"PROCESSING_FAILED"

FileContentResult

Fields
Field Name Description
match - String! The full content that was matched by the query
file - RegularFile!
Example
{
  "match": "abc123",
  "file": RegularFile
}

FileExtractionProblem

Fields
Field Name Description
file - File!
critical - Boolean!
description - String!
Example
{
  "file": File,
  "critical": false,
  "description": "xyz789"
}

FileInclusionIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
source - Statement!
propagators - [Statement!]!
Example
{
  "id": 4,
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement,
  "source": Statement,
  "propagators": [Statement]
}

FileTag

Values
Enum Value Description

POTENTIALLY_VULNERABLE

Flags the file if it contains dangerous function call that could lead to a vulnerability if not used properly. The analysis checks these function calls to identify issues.

DECOMPILED

Example
"POTENTIALLY_VULNERABLE"

FileTagFilter

Fields
Input Field Description
include - [FileTag!] Include files with any of these tags set
Example
{"include": ["POTENTIALLY_VULNERABLE"]}

FilesFilter

Fields
Input Field Description
name - StringFilter When both are specified name AND path will also match.
path - PathFilter
category - StringFilter
parentBlob - BlobFilter
size - IntFilter
tag - FileTagFilter
Example
{
  "name": StringFilter,
  "path": PathFilter,
  "category": StringFilter,
  "parentBlob": BlobFilter,
  "size": IntFilter,
  "tag": FileTagFilter
}

FindingType

Values
Enum Value Description

ISSUE

CVE

Example
"ISSUE"

Firmware

Fields
Field Name Description
id - ID!
name - String!
uploadTime - Datetime!
version - String
notes - String
totalSize - BigInt
binary - FirmwareBinary
sbom - FirmwareSBOM
analysisConfiguration - AnalysisConfiguration!
analyses - [Analysis!]!
Arguments
filter - AnalysesFilter
latestAnalysisTime - Datetime
latestAnalysis - Analysis
fileCount - Int
Arguments
filter - FilesFilter
query - String
files - [File!]!
Arguments
filter - FilesFilter
query - String
blobs - [Blob!]!
Arguments
filter - BlobFilter
processing - Processing!
monitoring - Boolean!
uploader - String!
componentCount - Int
Arguments
filter - ComponentFilter
components - [Component!]!
Arguments
filter - ComponentFilter
certificates - [Certificate!]!
privateKeys - [PrivateKey!]!
latestIssues - [Issue!]!
Arguments
filter - IssuesFilter
query - String
fileContent - [FileContentResult!]! Search in the content of the files. Result is limited to 100 matches
Arguments
filter - ContentFilter!
releaseDate - Date
product - Product!
complianceItems - [ComplianceItem!]!
Arguments
complianceExtraItems - [ComplianceExtraItem!]!
Arguments
elfDetails - ELFDetails
Arguments
path - String!
managementProtocols - [ManagementProtocol!]!
downloadUrl - String!
spriteSheets - [SpriteSheet!]!
cveMatches - [CVEMatch!]!
Arguments
filter - CVEMatchFilter
query - String
compareAnalyses - AnalysesComparison! Compare two analyses (by ID) on a given firmware
Arguments
base - ID!
other - ID!
extractionProblems - [ExtractionProblem!]!
labels - [String!]!
properties - [Property!]!
supportingFiles - [SupportingFile!]!
complianceBundles - [ComplianceBundle!]!
Arguments
auditTrail - [AuditRecord!]!
Arguments
filter - AuditTrailFilter
uris - [URI!]!
uriCount - Int
linkedLibraries - [LinkedLibrary!]!
Example
{
  "id": "4",
  "name": "xyz789",
  "uploadTime": Datetime,
  "version": "abc123",
  "notes": "xyz789",
  "totalSize": {},
  "binary": FirmwareBinary,
  "sbom": FirmwareSBOM,
  "analysisConfiguration": AnalysisConfiguration,
  "analyses": [Analysis],
  "latestAnalysisTime": Datetime,
  "latestAnalysis": Analysis,
  "fileCount": 987,
  "files": [File],
  "blobs": [Blob],
  "processing": ProcessingInProgress,
  "monitoring": true,
  "uploader": "abc123",
  "componentCount": 987,
  "components": [Component],
  "certificates": [Certificate],
  "privateKeys": [PrivateKey],
  "latestIssues": [Issue],
  "fileContent": [FileContentResult],
  "releaseDate": "2007-12-03",
  "product": Product,
  "complianceItems": [ComplianceItem],
  "complianceExtraItems": [ComplianceExtraItem],
  "elfDetails": ELFDetails,
  "managementProtocols": [ManagementProtocol],
  "downloadUrl": "xyz789",
  "spriteSheets": [SpriteSheet],
  "cveMatches": [CVEMatch],
  "compareAnalyses": AnalysesComparison,
  "extractionProblems": [ExtractionProblem],
  "labels": ["xyz789"],
  "properties": [Property],
  "supportingFiles": [SupportingFile],
  "complianceBundles": [ComplianceBundle],
  "auditTrail": [AuditRecord],
  "uris": [URI],
  "uriCount": 987,
  "linkedLibraries": [LinkedLibrary]
}

FirmwareAddComponentInput

Fields
Input Field Description
firmwareId - ID!
name - String!
version - String!
update - String!
vendor - String
product - String
licenses - [String!] Must be valid SPDX identifier or "proprietary"
licenseExplanation - String
tags - [ComponentTag!]
Example
{
  "firmwareId": 4,
  "name": "abc123",
  "version": "abc123",
  "update": "xyz789",
  "vendor": "xyz789",
  "product": "xyz789",
  "licenses": ["xyz789"],
  "licenseExplanation": "abc123",
  "tags": ["CRYPTOGRAPHY"]
}

FirmwareBinary

Fields
Field Name Description
hash - Hash!
uploadSize - BigInt!
originalFilename - String!
Example
{
  "hash": Hash,
  "uploadSize": {},
  "originalFilename": "xyz789"
}

FirmwareComponentEditResult

Types
Union Types

Component

MutationError

Example
Component

FirmwareDeleteComponentInput

Fields
Input Field Description
firmwareId - ID!
componentKey - String!
Example
{
  "firmwareId": "4",
  "componentKey": "abc123"
}

FirmwareFilter

Fields
Input Field Description
uploadTime - DatetimeRange
Example
{"uploadTime": DatetimeRange}

FirmwareProcessingUpdate

Fields
Field Name Description
firmwareID - ID!
name - String!
processing - Processing!
Example
{
  "firmwareID": "4",
  "name": "xyz789",
  "processing": ProcessingInProgress
}

FirmwareReviewInput

Fields
Input Field Description
message - String
id - ID!
Example
{"message": "xyz789", "id": 4}

FirmwareSBOM

Fields
Field Name Description
hash - Hash!
uploadSize - BigInt!
originalFilename - String!
Example
{
  "hash": Hash,
  "uploadSize": {},
  "originalFilename": "xyz789"
}

FirmwareSupportingFileDeleteInput

Fields
Input Field Description
firmwareId - ID!
fileId - ID!
Example
{"firmwareId": "4", "fileId": 4}

FirmwareTimelineItem

Fields
Field Name Description
firmware - Firmware!
previousComparison - AnalysesComparison
Example
{
  "firmware": Firmware,
  "previousComparison": AnalysesComparison
}

FirmwareUpdateComponentInput

Fields
Input Field Description
firmwareId - ID!
componentKey - String!
name - String
version - String
update - String
vendor - String Fields "vendor" and "product" are interdependent and must be updated together
product - String
licenses - [String!] Must be valid SPDX identifier or "proprietary"
licenseExplanation - String
tags - [ComponentTag!]
Example
{
  "firmwareId": "4",
  "componentKey": "xyz789",
  "name": "xyz789",
  "version": "abc123",
  "update": "abc123",
  "vendor": "xyz789",
  "product": "xyz789",
  "licenses": ["abc123"],
  "licenseExplanation": "abc123",
  "tags": ["CRYPTOGRAPHY"]
}

FirmwareUpdateInput

Fields
Input Field Description
id - ID!
firmware - FirmwareUpdateMetadataInput
product - ProductUpdateInput
Example
{
  "id": "4",
  "firmware": FirmwareUpdateMetadataInput,
  "product": ProductUpdateInput
}

FirmwareUpdateMetadataInput

Fields
Input Field Description
name - String Human Readable name of the Firmware
version - String
releaseDate - Date
notes - String Any kind of free-text notes for the uploaded firmware
labels - [String!]
properties - [PropertyInput!]
analysisConfigurationId - ID
Example
{
  "name": "xyz789",
  "version": "xyz789",
  "releaseDate": "2007-12-03",
  "notes": "abc123",
  "labels": ["abc123"],
  "properties": [PropertyInput],
  "analysisConfigurationId": "4"
}

FirmwareUpdateResult

Types
Union Types

Firmware

MutationError

Example
Firmware

FirmwareUploadInput

Fields
Input Field Description
firmware - FirmwareUploadMetadataInput!
product - ProductInput!
productGroup - IDInput!
Example
{
  "firmware": FirmwareUploadMetadataInput,
  "product": ProductInput,
  "productGroup": IDInput
}

FirmwareUploadMetadata

Fields
Field Name Description
id - ID!
uploadUrl - String! the firmware file should be a HTTP POST to this URL with a Content-Type: multipart/form-data Example upload with curl: $ curl -H "Authorization: Bearer " -F firmware=@path/to/firmware.bin
Example
{"id": 4, "uploadUrl": "abc123"}

FirmwareUploadMetadataInput

Fields
Input Field Description
name - String! Human Readable name of the Firmware
version - String
releaseDate - Date
notes - String Any kind of free-text notes for the uploaded firmware
enableMonitoring - Boolean Enable regular (daily) monitoring of this firmware
labels - [String!]
properties - [PropertyInput!]
analysisConfigurationId - ID When set omitted (or set to null), the Default analysis configuration will be used
Example
{
  "name": "xyz789",
  "version": "xyz789",
  "releaseDate": "2007-12-03",
  "notes": "xyz789",
  "enableMonitoring": false,
  "labels": ["xyz789"],
  "properties": [PropertyInput],
  "analysisConfigurationId": "4"
}

FirmwareUploadResult

Example
FirmwareUploadMetadata

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
123.45

FormatStringIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
source - Statement!
propagators - [Statement!]!
Example
{
  "id": 4,
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement,
  "source": Statement,
  "propagators": [Statement]
}

GenerateReportInput

Fields
Input Field Description
reportConfigurationId - ID!
firmwareIds - [ID!]!
title - String The value will be "ONEKEY Report" if left empty.
classification - String
project - String
Example
{
  "reportConfigurationId": 4,
  "firmwareIds": [4],
  "title": "xyz789",
  "classification": "xyz789",
  "project": "xyz789"
}

GenerateReportResult

Types
Union Types

Report

MutationError

Example
Report

GenerationState

Values
Enum Value Description

GENERATING

FINISHED

FAILED

Example
"GENERATING"

HardcodedAccountPassword

Values
Enum Value Description

EMPTY_PASSWORD

HASHED_PASSWORD

HTACCESS_FILE

CHPASSWD_COMMAND

Example
"EMPTY_PASSWORD"

HardcodedAccountPasswordIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
line - String!
user - String
password - String
hash - String
hashType - HardcodedHashType
passwordType - HardcodedAccountPassword!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "line": "abc123",
  "user": "abc123",
  "password": "xyz789",
  "hash": "xyz789",
  "hashType": "DES_CRYPT",
  "passwordType": "EMPTY_PASSWORD"
}

HardcodedCredentialIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
user - String
password - String!
line - String!
credentialType - HardcodedCredentialType!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "user": "xyz789",
  "password": "xyz789",
  "line": "abc123",
  "credentialType": "AWS_CREDENTIALS"
}

HardcodedCredentialType

Values
Enum Value Description

AWS_CREDENTIALS

CURL_COMMAND

WGETRC_FILE

SSHPASS_COMMAND

OPENSSL_COMMAND

WGET_COMMAND

PYTHON_FILE

JSON_FILE

BASIC_AUTH

Example
"AWS_CREDENTIALS"

HardcodedHashType

Values
Enum Value Description

DES_CRYPT

MD5_CRYPT

APACHE_MD5

SHA256_CRYPT

SHA512_CRYPT

Example
"DES_CRYPT"

HardcodedPrivateKeyCertificateIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
certificate - Certificate!
privateKey - PrivateKey!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "certificate": Certificate,
  "privateKey": PrivateKey
}

HardcodedSSHHostKeyIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
privateKey - PrivateKey!
Example
{
  "id": 4,
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "privateKey": PrivateKey
}

Hash

Fields
Field Name Description
md5 - String
sha1 - String
sha256 - String
Example
{
  "md5": "xyz789",
  "sha1": "xyz789",
  "sha256": "abc123"
}

HeaderInjectionIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
source - Statement!
propagators - [Statement!]!
Example
{
  "id": 4,
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement,
  "source": Statement,
  "propagators": [Statement]
}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
"4"

IDInput

Fields
Input Field Description
id - ID!
Example
{"id": 4}

InformationLeakageDSStoreIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
entries - [String!]!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "entries": ["abc123"]
}

InformationLeakagePHPInfoIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement
}

InformationLeakageSVNIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
info - String!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "info": "abc123"
}

InformationLeakageVIMSwapIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
user - String!
host - String!
originalFilename - String!
vimVersion - String!
Example
{
  "id": 4,
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "user": "xyz789",
  "host": "xyz789",
  "originalFilename": "abc123",
  "vimVersion": "xyz789"
}

InsecureDeserializationIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
source - Statement!
propagators - [Statement!]!
Example
{
  "id": 4,
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement,
  "source": Statement,
  "propagators": [Statement]
}

InsecureManagementProtocolIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
name - String!
Example
{
  "id": 4,
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "name": "abc123"
}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
987

IntFilter

Fields
Input Field Description
gt - Int
gte - Int
lt - Int
lte - Int
Example
{"gt": 987, "gte": 987, "lt": 123, "lte": 987}

InternalError

Fields
Field Name Description
message - String!
code - String!
fieldPath - [String!]
Example
{
  "message": "abc123",
  "code": "abc123",
  "fieldPath": ["abc123"]
}

InvalidCertificateIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
certificate - Certificate!
error - String!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "certificate": Certificate,
  "error": "xyz789"
}

Issue

Description

The base for any issues

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
Example
{
  "id": 4,
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE"
}

IssueDoc

Fields
Field Name Description
type - String!
summary - String! Summary of the given issue
description - String
mitigation - String Possible mitigation options to fix or workaround the issue
cwes - [CWE!]!
references - [Reference!]!
Example
{
  "type": "abc123",
  "summary": "xyz789",
  "description": "xyz789",
  "mitigation": "abc123",
  "cwes": [CWE],
  "references": [Reference]
}

IssuesComparison

Fields
Field Name Description
new - [Issue!]!
dropped - [Issue!]!
newCount - Int!
droppedCount - Int!
Example
{
  "new": [Issue],
  "dropped": [Issue],
  "newCount": 987,
  "droppedCount": 987
}

IssuesFilter

Fields
Input Field Description
severity - Severity When multiple criteria are specified, it means AND logic.
confidence - Confidence
id - ID
typename - String
elf - Boolean Limit to (true) or exclude (false) ELF related issues
status - StatusFilter
comment - String Any of the audit trail comments contain the specified string, case insensitive
Example
{
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "id": 4,
  "typename": "xyz789",
  "elf": true,
  "status": StatusFilter,
  "comment": "abc123"
}

IssuesWithUpdatedStatus

Fields
Field Name Description
issues - [Issue!]!
Example
{"issues": [Issue]}

LinkedLibrary

Fields
Field Name Description
file - RegularFile!
name - String!
libraryFiles - [RegularFile!]!
Example
{
  "file": RegularFile,
  "name": "xyz789",
  "libraryFiles": [RegularFile]
}

LooseEqualityIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
Example
{
  "id": 4,
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement
}

MaliciousSoftwareIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
name - String!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "name": "xyz789"
}

ManagementProtocol

Fields
Field Name Description
protocol - String!
file - RegularFile!
references - [Reference!]!
description - String!
Example
{
  "protocol": "abc123",
  "file": RegularFile,
  "references": [Reference],
  "description": "xyz789"
}

MissingPeerVerificationIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
line - String!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "line": "xyz789"
}

MultiFile

Fields
Field Name Description
stableKey - String!
extractedRoot - Directory
type - String!
parentFiles - [File!]!
size - BigInt!
extractedSize - BigInt!
extractedRootPath - String
extractionProblems - [BlobExtractionProblem!]!
Example
{
  "stableKey": "abc123",
  "extractedRoot": Directory,
  "type": "abc123",
  "parentFiles": [File],
  "size": {},
  "extractedSize": {},
  "extractedRootPath": "xyz789",
  "extractionProblems": [BlobExtractionProblem]
}

MutationError

Fields
Field Name Description
count - Int!
errors - [Error!]
Example
{"count": 123, "errors": [Error]}

NotFoundError

Fields
Field Name Description
message - String!
code - String!
fieldPath - [String!]
Example
{
  "message": "xyz789",
  "code": "xyz789",
  "fieldPath": ["abc123"]
}

ObjectInstantiationIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
source - Statement!
propagators - [Statement!]!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement,
  "source": Statement,
  "propagators": [Statement]
}

ObsoleteProtocolIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
line - String!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "line": "abc123"
}

OpenSSHDaemonOptionIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
name - String!
line - String!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "name": "xyz789",
  "line": "xyz789"
}

OtherFile

Fields
Field Name Description
path - String!
name - String!
firmware - Firmware!
parentBlob - Blob!
stableKey - String!
blobRelativePath - String!
multiFile - MultiFile
Example
{
  "path": "abc123",
  "name": "abc123",
  "firmware": Firmware,
  "parentBlob": Blob,
  "stableKey": "xyz789",
  "blobRelativePath": "xyz789",
  "multiFile": MultiFile
}

PathFilter

Fields
Input Field Description
equals - String Only one of these can be specified at the same time.
contains - String
startsWith - String
parentDirectory - String
caseSensitive - Boolean Applies to the above filters, True by default
Example
{
  "equals": "abc123",
  "contains": "xyz789",
  "startsWith": "xyz789",
  "parentDirectory": "abc123",
  "caseSensitive": true
}

PathTraversalIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
source - Statement!
propagators - [Statement!]!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement,
  "source": Statement,
  "propagators": [Statement]
}

Permission

Values
Enum Value Description

VIEW_TENANT

MANAGE_TENANT

UPLOAD_FIRMWARES

ANALYZE_FIRMWARES

VIEW_FIRMWARES

EDIT_FIRMWARES

EDIT_FIRMWARE_COMPONENTS

EDIT_PRODUCTS

VIEW_REPORTS

EDIT_REPORTS

SHARE_REPORTS

EDIT_MONITORING

UPDATE_STATUS

VIEW_ANALYSIS_PROFILE

EDIT_ANALYSIS_PROFILE

EDIT_COMPLIANCE

EDIT_ANALYSIS_CONFIGURATION

REQUEST_EXPERT_REVIEW

APPLY_ANALYSIS_PROFILE

Example
"VIEW_TENANT"

PlaintextCommunicationIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
line - String!
Example
{
  "id": 4,
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "line": "xyz789"
}

PrivateKey

Fields
Field Name Description
id - ID!
key - String! PEM encoded private key
keySize - Int
keyType - String
publicKey - String
fingerprintMd5 - String
fingerprintSha256 - String
file - RegularFile!
shodanSsHostKeyCount - Int
certificates - [Certificate!]!
Example
{
  "id": 4,
  "key": "xyz789",
  "keySize": 123,
  "keyType": "xyz789",
  "publicKey": "xyz789",
  "fingerprintMd5": "xyz789",
  "fingerprintSha256": "xyz789",
  "file": RegularFile,
  "shodanSsHostKeyCount": 123,
  "certificates": [Certificate]
}

PrivateKeyIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
privateKey - PrivateKey!
Example
{
  "id": 4,
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "privateKey": PrivateKey
}

PrivilegeEscalationIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
users - [String!]!
target_users - [String!]!
hosts - [String!]!
commands - [String!]!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "users": ["xyz789"],
  "target_users": ["abc123"],
  "hosts": ["abc123"],
  "commands": ["xyz789"]
}

Processing

Example
ProcessingInProgress

ProcessingFailed

Fields
Field Name Description
state - State
reason - String!
Example
{"state": "WAITING", "reason": "abc123"}

ProcessingFinished

Fields
Field Name Description
finishTime - Datetime!
Example
{"finishTime": Datetime}

ProcessingInProgress

Fields
Field Name Description
state - State!
Example
{"state": "WAITING"}

Product

Fields
Field Name Description
id - ID!
name - String!
vendor - String!
category - String
firmwareTimeline - [FirmwareTimelineItem!] Firmwares ordered by upload time
Arguments
filter - FirmwareFilter
count - Int
productGroups - [ProductGroup!]!
Example
{
  "id": "4",
  "name": "xyz789",
  "vendor": "xyz789",
  "category": "abc123",
  "firmwareTimeline": [FirmwareTimelineItem],
  "productGroups": [ProductGroup]
}

ProductGroup

Description

Users with access to the ProductGroup can add new products to the group.

Fields
Field Name Description
id - ID!
name - String!
description - String
products - [Product!]!
Example
{
  "id": 4,
  "name": "xyz789",
  "description": "abc123",
  "products": [Product]
}

ProductGroupCreateInput

Fields
Input Field Description
name - String!
description - String
productIds - [ID!]
Example
{
  "name": "abc123",
  "description": "xyz789",
  "productIds": [4]
}

ProductGroupDeleteInput

Fields
Input Field Description
id - ID!
Example
{"id": "4"}

ProductGroupResult

Types
Union Types

ProductGroup

MutationError

Example
ProductGroup

ProductGroupUpdateInput

Fields
Input Field Description
id - ID!
name - String
description - String
productIds - [ID!]
Example
{
  "id": 4,
  "name": "xyz789",
  "description": "xyz789",
  "productIds": ["4"]
}

ProductInput

Fields
Input Field Description
name - String!
category - String
vendor - String!
Example
{
  "name": "abc123",
  "category": "abc123",
  "vendor": "abc123"
}

ProductUpdateInput

Fields
Input Field Description
name - String
category - String
vendor - String
Example
{
  "name": "abc123",
  "category": "xyz789",
  "vendor": "abc123"
}

Property

Fields
Field Name Description
name - String!
value - String!
Example
{
  "name": "abc123",
  "value": "xyz789"
}

PropertyInput

Fields
Input Field Description
name - String!
value - String!
Example
{
  "name": "xyz789",
  "value": "xyz789"
}

Reference

Fields
Field Name Description
title - String!
url - String!
Example
{
  "title": "xyz789",
  "url": "abc123"
}

RegularFile

Description

A file object in a firmware

Fields
Field Name Description
path - String!
name - String!
firmware - Firmware!
parentBlob - Blob
stableKey - String!
blobRelativePath - String!
multiFile - MultiFile
chunks - [Chunk!]!
elf - ELFInfo
category - String!
magic - String!
magicMime - String!
size - BigInt!
hash - Hash!
downloadUrl - String!
downloadDecompiledSourcesUrl - String
meanEntropy - Float
entropy - Entropy
extractionProblems - [FileExtractionProblem!]!
certificates - [Certificate!]!
privateKeys - [PrivateKey!]!
uris - [URI!]!
uriCount - Int!
analysisErrors - [FileAnalysisError!]!
tags - [FileTag!]!
Example
{
  "path": "abc123",
  "name": "abc123",
  "firmware": Firmware,
  "parentBlob": Blob,
  "stableKey": "xyz789",
  "blobRelativePath": "abc123",
  "multiFile": MultiFile,
  "chunks": [Chunk],
  "elf": ELFInfo,
  "category": "xyz789",
  "magic": "abc123",
  "magicMime": "xyz789",
  "size": {},
  "hash": Hash,
  "downloadUrl": "abc123",
  "downloadDecompiledSourcesUrl": "abc123",
  "meanEntropy": 123.45,
  "entropy": Entropy,
  "extractionProblems": [FileExtractionProblem],
  "certificates": [Certificate],
  "privateKeys": [PrivateKey],
  "uris": [URI],
  "uriCount": 987,
  "analysisErrors": [FileAnalysisError],
  "tags": ["POTENTIALLY_VULNERABLE"]
}

Report

Fields
Field Name Description
id - ID!
title - String!
classification - String!
generatedTime - Datetime!
reportConfiguration - ReportConfiguration
firmwares - [Firmware!]!
downloadUrl - String URL where the report can be donwloaded from, when null report generation is still in progress
size - Int when null report generation is still in progress
state - ReportGenerationState!
links - [ReportLink!]!
Example
{
  "id": "4",
  "title": "xyz789",
  "classification": "xyz789",
  "generatedTime": Datetime,
  "reportConfiguration": ReportConfiguration,
  "firmwares": [Firmware],
  "downloadUrl": "xyz789",
  "size": 987,
  "state": "GENERATING",
  "links": [ReportLink]
}

ReportConfiguration

Fields
Field Name Description
id - ID!
name - String!
issueSeverities - [Severity!]!
analysisTechniqueDetails - Boolean! Include description on the analysis techniques in the report
complianceGuidelines - [ComplianceGuideline!]!
includeComments - Boolean!
includedStatuses - [Status!]! Include issues/cves with any of these status set
excludedStatuses - [Status!]! Exclude issues/cves with any of these status set
Example
{
  "id": "4",
  "name": "xyz789",
  "issueSeverities": ["CRITICAL"],
  "analysisTechniqueDetails": true,
  "complianceGuidelines": [ComplianceGuideline],
  "includeComments": false,
  "includedStatuses": ["NONE"],
  "excludedStatuses": ["NONE"]
}

ReportConfigurationCreateInput

Fields
Input Field Description
name - String!
issueSeverities - [Severity!]
analysisTechniqueDetails - Boolean! Include description on the analysis techniques in the report
complianceGuidelineIds - [ID!]
includeComments - Boolean!
status - StatusFilter
Example
{
  "name": "abc123",
  "issueSeverities": ["CRITICAL"],
  "analysisTechniqueDetails": false,
  "complianceGuidelineIds": [4],
  "includeComments": true,
  "status": StatusFilter
}

ReportConfigurationDeleteInput

Fields
Input Field Description
id - ID!
Example
{"id": "4"}

ReportConfigurationResult

Example
ReportConfiguration

ReportConfigurationUpdateInput

Fields
Input Field Description
id - ID!
name - String
issueSeverities - [Severity!]
analysisTechniqueDetails - Boolean Include description on the analysis techniques in the report
complianceGuidelineIds - [ID!]
includeComments - Boolean
status - StatusFilter
Example
{
  "id": "4",
  "name": "xyz789",
  "issueSeverities": ["CRITICAL"],
  "analysisTechniqueDetails": true,
  "complianceGuidelineIds": ["4"],
  "includeComments": true,
  "status": StatusFilter
}

ReportFilter

Fields
Input Field Description
state - ReportGenerationState
Example
{"state": "GENERATING"}

ReportGenerationState

Values
Enum Value Description

GENERATING

FINISHED

FAILED

Example
"GENERATING"

ReportLinkResult

Types
Union Types

CreatedReportLink

MutationError

Example
CreatedReportLink

Role

Values
Enum Value Description

ADMIN

OBSERVER

EDITOR

VIEWER

UPLOADER

REPORTER

ANALYST

COMPLIANCE

Example
"ADMIN"

SQLInjectionIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
source - Statement!
propagators - [Statement!]!
Example
{
  "id": 4,
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement,
  "source": Statement,
  "propagators": [Statement]
}

ScriptMissingPeerVerificationIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
Example
{
  "id": "4",
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement
}

ScriptPlaintextCommunicationIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement
}

Severity

Values
Enum Value Description

CRITICAL

HIGH

MEDIUM

LOW

INFORMATIONAL

Example
"CRITICAL"

SeverityCounts

Fields
Field Name Description
informational - Int!
low - Int!
medium - Int!
high - Int!
critical - Int!
Example
{"informational": 987, "low": 987, "medium": 123, "high": 987, "critical": 987}

Sprite

Fields
Field Name Description
path - String!
positionX - Int!
positionY - Int!
width - Int!
height - Int!
Example
{
  "path": "xyz789",
  "positionX": 123,
  "positionY": 987,
  "width": 987,
  "height": 987
}

SpriteSheet

Fields
Field Name Description
imageUrl - String!
sprites - [Sprite!]!
Example
{
  "imageUrl": "abc123",
  "sprites": [Sprite]
}

StackBufferOverflowIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
source - Statement!
propagators - [Statement!]!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement,
  "source": Statement,
  "propagators": [Statement]
}

StartDangerousServiceIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
name - String!
line - String!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "name": "abc123",
  "line": "xyz789"
}

State

Values
Enum Value Description

WAITING

ANALYZING

Example
"WAITING"

Statement

Fields
Field Name Description
code - String!
startLine - Int!
endLine - Int!
sourceFileName - String
Example
{
  "code": "abc123",
  "startLine": 987,
  "endLine": 987,
  "sourceFileName": "abc123"
}

Status

Values
Enum Value Description

NONE

FALSE_POSITIVE

ACCEPTED_RISK

DEFERRED

FIXED

FOCUS

Example
"NONE"

StatusFilter

Fields
Input Field Description
include - [Status!] Include issues/cves with any of these status set
exclude - [Status!] Exclude issues/cves with any of these status set
Example
{"include": ["NONE"], "exclude": ["NONE"]}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

StringFilter

Fields
Input Field Description
equals - String Only one of these can be specified at the same time.
contains - String
startsWith - String
caseSensitive - Boolean Applies to the above filters, True by default
Example
{
  "equals": "abc123",
  "contains": "abc123",
  "startsWith": "abc123",
  "caseSensitive": false
}

SupportingFile

Fields
Field Name Description
id - ID!
originalFilename - String!
mimeType - String!
size - BigInt!
sha256 - String!
downloadUrl - String!
uploader - String!
uploadTime - Datetime!
Example
{
  "id": "4",
  "originalFilename": "xyz789",
  "mimeType": "xyz789",
  "size": {},
  "sha256": "abc123",
  "downloadUrl": "abc123",
  "uploader": "abc123",
  "uploadTime": Datetime
}

Tenant

Fields
Field Name Description
name - String!
activationDate - Date!
supportContacts - [String!]!
Example
{
  "name": "xyz789",
  "activationDate": "2007-12-03",
  "supportContacts": ["xyz789"]
}

TriggerAnalysisResult

Types
Union Types

TriggeredAnalysis

MutationError

Example
TriggeredAnalysis

TriggeredAnalysis

Fields
Field Name Description
id - ID!
Example
{"id": "4"}

TrustedCAMissmatch

Values
Enum Value Description

RENEWED

SIGNATURE_CHANGED

PUBKEY_CHANGED

UNKNOWN

Example
"RENEWED"

URI

Fields
Field Name Description
id - ID!
uri - String!
scheme - String!
hostname - String!
username - String
password - String
ipAddresses - [String!]!
file - RegularFile!
Example
{
  "id": 4,
  "uri": "xyz789",
  "scheme": "xyz789",
  "hostname": "abc123",
  "username": "xyz789",
  "password": "abc123",
  "ipAddresses": ["xyz789"],
  "file": RegularFile
}

UnwantedSoftwareIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
name - String!
references - [Reference!]!
description - String!
Example
{
  "id": 4,
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "name": "abc123",
  "references": [Reference],
  "description": "xyz789"
}

UpdateCVEStatusInput

Fields
Input Field Description
analysisId - ID!
cveMatchIds - [ID!]!
status - Status!
comment - String
Example
{
  "analysisId": "4",
  "cveMatchIds": [4],
  "status": "NONE",
  "comment": "abc123"
}

UpdateCVEStatusResult

Example
CVEMatchesWithUpdatedStatus

UpdateGlobalAnalysisProfileResult

Types
Union Types

AnalysisProfile

MutationError

Example
AnalysisProfile

UpdateIssueStatusInput

Fields
Input Field Description
analysisId - ID!
issueIds - [ID!]!
status - Status!
comment - String
Example
{
  "analysisId": "4",
  "issueIds": [4],
  "status": "NONE",
  "comment": "abc123"
}

UpdateIssueStatusResult

Example
IssuesWithUpdatedStatus

User

Fields
Field Name Description
email - String!
created - Datetime!
userGroups - [UserGroup!]!
roles - [Role!]!
Example
{
  "email": "xyz789",
  "created": Datetime,
  "userGroups": [UserGroup],
  "roles": ["ADMIN"]
}

UserCreateInput

Fields
Input Field Description
email - String!
userGroupIds - [ID!]!
Example
{"email": "xyz789", "userGroupIds": [4]}

UserDeleteInput

Fields
Input Field Description
email - String!
Example
{"email": "xyz789"}

UserGroup

Fields
Field Name Description
id - ID!
name - String!
description - String
productGroups - [ProductGroup!]!
roles - [Role!]!
users - [User!]!
Example
{
  "id": "4",
  "name": "xyz789",
  "description": "xyz789",
  "productGroups": [ProductGroup],
  "roles": ["ADMIN"],
  "users": [User]
}

UserGroupCreateInput

Fields
Input Field Description
name - String!
description - String
productGroupIds - [ID!]
roles - [Role!]
userEmails - [String!]
Example
{
  "name": "abc123",
  "description": "xyz789",
  "productGroupIds": ["4"],
  "roles": ["ADMIN"],
  "userEmails": ["abc123"]
}

UserGroupResult

Types
Union Types

UserGroup

MutationError

Example
UserGroup

UserGroupUpdateInput

Fields
Input Field Description
id - ID!
name - String
description - String
productGroupIds - [ID!]
roles - [Role!]
userEmails - [String!]
Example
{
  "id": 4,
  "name": "xyz789",
  "description": "xyz789",
  "productGroupIds": [4],
  "roles": ["ADMIN"],
  "userEmails": ["xyz789"]
}

UserResult

Types
Union Types

User

MutationError

Example
User

UserUpdateInput

Fields
Input Field Description
email - String!
userGroupIds - [ID!]
Example
{"email": "abc123", "userGroupIds": [4]}

ValidationError

Fields
Field Name Description
message - String!
code - String!
fieldPath - [String!]
Example
{
  "message": "abc123",
  "code": "xyz789",
  "fieldPath": ["xyz789"]
}

VulnerabilityPatternIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
name - String!
references - [Reference!]!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "abc123",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "name": "xyz789",
  "references": [Reference]
}

WeakCipherIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
line - String!
Example
{
  "id": "4",
  "stableKey": "abc123",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "line": "xyz789"
}

WeakCryptoIssue

Fields
Field Name Description
id - ID!
stableKey - String!
severity - Severity!
confidence - Confidence!
type - String! Human readable identifier of the issue.
file - File!
doc - IssueDoc!
auditTrail - [AuditRecord!]!
status - Status!
problem - Statement!
Example
{
  "id": 4,
  "stableKey": "xyz789",
  "severity": "CRITICAL",
  "confidence": "HIGH",
  "type": "xyz789",
  "file": File,
  "doc": IssueDoc,
  "auditTrail": [AuditRecord],
  "status": "NONE",
  "problem": Statement
}