Skip to content

Atlassian: Get projects paginated

Atlassian projects.searchProjects: arguments, response, policy and SDK examples.

← Projects operations · Get started

Operation atlassian.searchprojects

Provider route: GET /{cloudId}/rest/api/3/project/search. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/atlassian with npm, or alter-sdk-atlassian with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { AtlassianIntegration } from "@alter-ai/atlassian";
async function execute(input: Parameters<AtlassianIntegration["projects"]["searchProjects"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new AtlassianIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.projects.searchProjects(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_atlassian import AtlassianIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = AtlassianIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.projects.search_projects(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.cloudIdstringRequired within parentPattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
queryobjectOptionalAdditional keys: not allowed
query.startAtintegerOptionalDefault: 0
Format: int64
query.maxResultsintegerOptionalDefault: 50
Format: int32
Maximum: 100
query.orderBystringOptionalDefault: key
One of: category, -category, +category, key, -key, +key, name, -name, +name, owner, -owner, +owner, issueCount, -issueCount, +issueCount, lastIssueUpdatedDate, -lastIssueUpdatedDate, +lastIssueUpdatedDate, archivedDate, +archivedDate, -archivedDate, deletedDate, +deletedDate, -deletedDate
query.idarrayOptionalUnique items: true
query.id[]integerEach itemFormat: int64
query.keysarrayOptionalUnique items: true
query.keys[]stringEach itemDefault:
query.querystringOptional
query.typeKeystringOptional
query.categoryIdintegerOptionalFormat: int64
query.actionstringOptionalDefault: view
One of: view, browse, edit, create
query.expandstringOptional
query.statusarrayOptional
query.status[]stringEach itemDefault: live
One of: live, archived, deleted
query.propertiesarrayOptional
query.properties[]ModelEach itemExpand Assign issue — request body — body groups callback
query.propertyQuerystringOptional

Referenced models: Assign issue — request body — body groups callback

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Get projects paginated — response body

Referenced models: Get projects paginated — response body

17 more schemas are linked from the tables above, on the schema pages.

Assign issue — request body — body groups callback
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
Get projects paginated — response body
FieldTypePresenceDescription and constraints
$objectRootA page of items.
isLastJSONOptional
isLast (anyOf 1)booleanAlternativeWhether this is the last page.
Read only: true
isLast (anyOf 2)nullAlternative
maxResultsJSONOptional
maxResults (anyOf 1)JSONAlternative
maxResults (anyOf 1) (anyOf 1)integerAlternativeThe maximum number of items that could be returned.
Format: int32
Read only: true
maxResults (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
maxResults (anyOf 2)nullAlternative
nextPageJSONOptional
nextPage (anyOf 1)stringAlternativeIf there is another page of results, the URL of the next page.
Format: uri
Read only: true
nextPage (anyOf 2)nullAlternative
selfJSONOptional
self (anyOf 1)stringAlternativeThe URL of the page.
Format: uri
Read only: true
self (anyOf 2)nullAlternative
startAtJSONOptional
startAt (anyOf 1)JSONAlternative
startAt (anyOf 1) (anyOf 1)integerAlternativeThe index of the first item returned.
Format: int64
Read only: true
startAt (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
startAt (anyOf 2)nullAlternative
totalJSONOptional
total (anyOf 1)JSONAlternative
total (anyOf 1) (anyOf 1)integerAlternativeThe number of items returned.
Format: int64
Read only: true
total (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
total (anyOf 2)nullAlternative
valuesJSONOptional
values (anyOf 1)arrayAlternativeThe list of items.
Read only: true
values (anyOf 1)[]ModelEach itemExpand Get project — response body
values (anyOf 2)nullAlternative

Referenced models: Get project — response body

Get user — response body — avatar Urls 16x16, 24x24, 32x32, 48x48
FieldTypePresenceDescription and constraints
$objectRoot
16x16JSONOptional
16x16 (anyOf 1)stringAlternativeThe URL of the item's 16x16 pixel avatar.
Format: uri
16x16 (anyOf 2)nullAlternative
24x24JSONOptional
24x24 (anyOf 1)stringAlternativeThe URL of the item's 24x24 pixel avatar.
Format: uri
24x24 (anyOf 2)nullAlternative
32x32JSONOptional
32x32 (anyOf 1)stringAlternativeThe URL of the item's 32x32 pixel avatar.
Format: uri
32x32 (anyOf 2)nullAlternative
48x48JSONOptional
48x48 (anyOf 1)stringAlternativeThe URL of the item's 48x48 pixel avatar.
Format: uri
48x48 (anyOf 2)nullAlternative
Get project — response body — issue Type Hierarchy The project issue type hierarchy
FieldTypePresenceDescription and constraints
$objectRootThe project issue type hierarchy.
baseLevelIdJSONOptional
baseLevelId (anyOf 1)JSONAlternative
baseLevelId (anyOf 1) (anyOf 1)integerAlternativeThe ID of the base level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).
Format: int64
baseLevelId (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
baseLevelId (anyOf 2)nullAlternative
levelsJSONOptional
levels (anyOf 1)arrayAlternativeDetails about the hierarchy level.
Read only: true
levels (anyOf 1)[]ModelEach itemExpand Get project — response body — issue Type Hierarchy The project issue type hierarchy levels Details about the hierarchy level item
levels (anyOf 2)nullAlternative

Referenced models: Get project — response body — issue Type Hierarchy The project issue type hierarchy levels Details about the hierarchy level item

Get issue type — response body
FieldTypePresenceDescription and constraints
$objectRootDetails about an issue type.
avatarIdJSONOptional
avatarId (anyOf 1)JSONAlternative
avatarId (anyOf 1) (anyOf 1)integerAlternativeThe ID of the issue type's avatar.
Format: int64
Read only: true
avatarId (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
avatarId (anyOf 2)nullAlternative
descriptionJSONOptional
description (anyOf 1)stringAlternativeThe description of the issue type.
Read only: true
description (anyOf 2)nullAlternative
entityIdJSONOptional
entityId (anyOf 1)stringAlternativeUnique ID for next-gen projects.
Format: uuid
Read only: true
entityId (anyOf 2)nullAlternative
hierarchyLevelJSONOptional
hierarchyLevel (anyOf 1)JSONAlternative
hierarchyLevel (anyOf 1) (anyOf 1)integerAlternativeHierarchy level of the issue type.
Format: int32
Read only: true
hierarchyLevel (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
hierarchyLevel (anyOf 2)nullAlternative
iconUrlJSONOptional
iconUrl (anyOf 1)stringAlternativeThe URL of the issue type's avatar.
Read only: true
iconUrl (anyOf 2)nullAlternative
idJSONOptional
id (anyOf 1)stringAlternativeThe ID of the issue type.
Read only: true
id (anyOf 2)nullAlternative
nameJSONOptional
name (anyOf 1)stringAlternativeThe name of the issue type.
Read only: true
name (anyOf 2)nullAlternative
scopeJSONOptional
scope (anyOf 1)ModelAlternativeExpand Get status — response body — scope project, type
Details of the next-gen projects the issue type is available in.
Read only: true
scope (anyOf 2)nullAlternative
selfJSONOptional
self (anyOf 1)stringAlternativeThe URL of these issue type details.
Read only: true
self (anyOf 2)nullAlternative
subtaskJSONOptional
subtask (anyOf 1)booleanAlternativeWhether this issue type is used to create subtasks.
Read only: true
subtask (anyOf 2)nullAlternative

Referenced models: Get status — response body — scope project, type

Create project category — response body
FieldTypePresenceDescription and constraints
$objectRootA project category.
descriptionJSONOptional
description (anyOf 1)stringAlternativeThe description of the project category.
description (anyOf 2)nullAlternative
idJSONOptional
id (anyOf 1)stringAlternativeThe ID of the project category.
Read only: true
id (anyOf 2)nullAlternative
nameJSONOptional
name (anyOf 1)stringAlternativeThe name of the project category. Required on create, optional on update.
name (anyOf 2)nullAlternative
selfJSONOptional
self (anyOf 1)stringAlternativeThe URL of the project category.
Format: uri
Read only: true
self (anyOf 2)nullAlternative
Get project — response body — permissions Permissions which a user has on a project
FieldTypePresenceDescription and constraints
$objectRootPermissions which a user has on a project.
canEditJSONOptional
canEdit (anyOf 1)booleanAlternativeWhether the logged user can edit the project.
Read only: true
canEdit (anyOf 2)nullAlternative
Get user — response body — groups callback, items, max-results, paging Callback, size callback object
FieldTypePresenceDescription and constraints
$objectRoot

SDK function policy ID: atlassian.searchprojects. Catalog operation: searchprojects. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Required provider scopes: ["read:jira-work"]

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.