issues
Searches for issues
issues(
companyId: ID!
pagination: PaginationInput!
filters: IssuesFiltersInput = { ids: [], statuses: [], severities: [], failureTypes: [], projectTypes: [], assetIds: [], projectIds: [], integrationTypes: [], assetTags: [], createdAtRange: { }, title: "", partialTitle: "", cves: [], categories: [], statusChange: { from: [], to: [], date: { }, changedByEmails: [] }, statusInPeriod: { statuses: [], date: { } }, slaStates: [], riskAcceptedUntilRange: { }, scanIds: [], branchNames: [], reachableBy: [], aiAnalyzedAtRange: { }, lastUpdatedByIds: [], allBranches: false }
sortOptions: [IssueSortOptionInput!] = []
advancedFilters: AdvancedFilterInput
): IssueInterfaceCollection!
Arguments
issues.companyId ● ID! non-null scalar
issues.pagination ● PaginationInput! non-null input
issues.filters ● IssuesFiltersInput input
issues.sortOptions ● [IssueSortOptionInput!] list input
issues.advancedFilters ● AdvancedFilterInput input
Recursive AND/OR filter tree, combined (AND) with the flat filters argument
Type
IssueInterfaceCollection object
IssueInterfaceCollection type
Example request
This generated query uses placeholders for required values. Replace them with values available to your API key before running it.
Run the companies query first and use data.companies.collection[].id as companyId.
- cURL
- JavaScript
- Python
curl --request POST https://api.convisoappsec.com/graphql \
--header "x-api-key: $CONVISO_API_KEY" \
--header "content-type: application/json" \
--data '{"query":"query GetIssues($companyId: ID!, $pagination: PaginationInput!) {\n issues(companyId: $companyId, pagination: $pagination) { collection { id title status } metadata { currentPage limitValue totalCount } }\n}","variables":{"companyId":"<company_id>","pagination":{}}}'
const response = await fetch('https://api.convisoappsec.com/graphql', {
method: 'POST',
headers: {
'content-type': 'application/json',
'x-api-key': process.env.CONVISO_API_KEY,
},
body: JSON.stringify({
query: "query GetIssues($companyId: ID!, $pagination: PaginationInput!) {\n issues(companyId: $companyId, pagination: $pagination) { collection { id title status } metadata { currentPage limitValue totalCount } }\n}",
variables: {
"companyId": "<company_id>",
"pagination": {}
},
}),
});
const { data, errors } = await response.json();
if (errors) throw new Error(errors.map(({ message }) => message).join(', '));
console.log(data);
import json
import os
import requests
response = requests.post(
'https://api.convisoappsec.com/graphql',
headers={
'content-type': 'application/json',
'x-api-key': os.environ['CONVISO_API_KEY'],
},
json={
'query': "query GetIssues($companyId: ID!, $pagination: PaginationInput!) {\n issues(companyId: $companyId, pagination: $pagination) { collection { id title status } metadata { currentPage limitValue totalCount } }\n}",
'variables': json.loads("{\"companyId\":\"<company_id>\",\"pagination\":{}}"),
},
timeout=30,
)
response.raise_for_status()
payload = response.json()
if payload.get('errors'):
raise RuntimeError(payload['errors'])
print(payload['data'])
Contribute to the Docs
Found something outdated or missing? Help us improve the documentation with a quick suggestion or edit.
How to contributeResources
By exploring our content, you'll find resources that will enhance your understanding of the importance of a Security Application Program.
Conviso Blog: Explore our blog, which offers a collection of articles and posts covering a wide range of AppSec topics. The content on the blog is primarily in English.
Conviso's YouTube Channel: Access a wealth of informative videos covering various topics related to AppSec. Please note that the content is primarily in Portuguese.