Jira · Capability

Jira Cloud Platform REST API — Projects

Jira Cloud Platform REST API — Projects. 4 operations. Lead operation: Jira Get All Projects. Self-contained Naftiko capability covering one Jira business surface.

Run with Naftiko JiraProjects

What You Can Do

GET
Getallprojects — Jira Get All Projects
/v1/project
GET
Searchprojects — Jira Get Projects Paginated
/v1/project/search
GET
Getproject — Jira Get Project
/v1/project/{projectidorkey}
GET
Getallstatuses — Jira Get All Statuses for Project
/v1/project/{projectidorkey}/statuses

MCP Tools

jira-get-all-projects

Jira Get All Projects

read-only idempotent
jira-get-projects-paginated

Jira Get Projects Paginated

read-only idempotent
jira-get-project

Jira Get Project

read-only idempotent
jira-get-all-statuses-project

Jira Get All Statuses for Project

read-only idempotent

Capability Spec

cloud-platform-rest-projects.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Jira Cloud Platform REST API — Projects
  description: 'Jira Cloud Platform REST API — Projects. 4 operations. Lead operation: Jira Get All Projects. Self-contained
    Naftiko capability covering one Jira business surface.'
  tags:
  - Jira
  - Projects
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    JIRA_API_KEY: JIRA_API_KEY
capability:
  consumes:
  - type: http
    namespace: cloud-platform-rest-projects
    baseUri: https://{domain}.atlassian.net/rest/api/3
    description: Jira Cloud Platform REST API — Projects business capability. Self-contained, no shared references.
    resources:
    - name: project
      path: /project
      operations:
      - name: getallprojects
        method: GET
        description: Jira Get All Projects
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: expand
          in: query
          type: string
          description: 'Use expand to include additional information in the response. Accepted values: description, issueTypes,
            lead, projectKeys, url.'
        - name: recent
          in: query
          type: integer
          description: Returns projects the user has accessed in the last given number of projects, up to 20.
        - name: properties
          in: query
          type: array
          description: A list of project properties to return for each project.
    - name: project-search
      path: /project/search
      operations:
      - name: searchprojects
        method: GET
        description: Jira Get Projects Paginated
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: startAt
          in: query
          type: integer
          description: The index of the first item to return in a page of results (page offset).
        - name: maxResults
          in: query
          type: integer
          description: The maximum number of items to return per page.
        - name: orderBy
          in: query
          type: string
          description: 'Order the results by a field. Accepted values: category, key, name, owner, issueCount, lastIssueUpdatedTime,
            archivedDate. Prefix with + or - for ascending/desc'
        - name: query
          in: query
          type: string
          description: Filter results using a literal string match on project name or key.
        - name: typeKey
          in: query
          type: string
          description: 'The type key of the project. Accepted values: business, service_desk, software.'
        - name: categoryId
          in: query
          type: integer
          description: The ID of the project category to filter by.
        - name: action
          in: query
          type: string
          description: 'Filter results by what the user has permission to do. Accepted values: view, browse, edit, create.'
        - name: expand
          in: query
          type: string
          description: 'Use expand to include additional information in the response. Accepted values: description, projectKeys,
            lead, issueTypes, url, insight.'
        - name: status
          in: query
          type: array
          description: 'The status of the project. Accepted values: live, archived, deleted.'
    - name: project-projectIdOrKey
      path: /project/{projectIdOrKey}
      operations:
      - name: getproject
        method: GET
        description: Jira Get Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: expand
          in: query
          type: string
          description: 'Use expand to include additional information in the response. Accepted values: description, issueTypes,
            lead, projectKeys, url, insight.'
        - name: properties
          in: query
          type: array
          description: A list of project properties to return for the project.
    - name: project-projectIdOrKey-statuses
      path: /project/{projectIdOrKey}/statuses
      operations:
      - name: getallstatuses
        method: GET
        description: Jira Get All Statuses for Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.JIRA_API_KEY}}'
  exposes:
  - type: rest
    namespace: cloud-platform-rest-projects-rest
    port: 8080
    description: REST adapter for Jira Cloud Platform REST API — Projects. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/project
      name: project
      description: REST surface for project.
      operations:
      - method: GET
        name: getallprojects
        description: Jira Get All Projects
        call: cloud-platform-rest-projects.getallprojects
        with:
          expand: rest.expand
          recent: rest.recent
          properties: rest.properties
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/project/search
      name: project-search
      description: REST surface for project-search.
      operations:
      - method: GET
        name: searchprojects
        description: Jira Get Projects Paginated
        call: cloud-platform-rest-projects.searchprojects
        with:
          startAt: rest.startAt
          maxResults: rest.maxResults
          orderBy: rest.orderBy
          query: rest.query
          typeKey: rest.typeKey
          categoryId: rest.categoryId
          action: rest.action
          expand: rest.expand
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/project/{projectidorkey}
      name: project-projectidorkey
      description: REST surface for project-projectIdOrKey.
      operations:
      - method: GET
        name: getproject
        description: Jira Get Project
        call: cloud-platform-rest-projects.getproject
        with:
          expand: rest.expand
          properties: rest.properties
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/project/{projectidorkey}/statuses
      name: project-projectidorkey-statuses
      description: REST surface for project-projectIdOrKey-statuses.
      operations:
      - method: GET
        name: getallstatuses
        description: Jira Get All Statuses for Project
        call: cloud-platform-rest-projects.getallstatuses
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: cloud-platform-rest-projects-mcp
    port: 9090
    transport: http
    description: MCP adapter for Jira Cloud Platform REST API — Projects. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: jira-get-all-projects
      description: Jira Get All Projects
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-platform-rest-projects.getallprojects
      with:
        expand: tools.expand
        recent: tools.recent
        properties: tools.properties
      outputParameters:
      - type: object
        mapping: $.
    - name: jira-get-projects-paginated
      description: Jira Get Projects Paginated
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-platform-rest-projects.searchprojects
      with:
        startAt: tools.startAt
        maxResults: tools.maxResults
        orderBy: tools.orderBy
        query: tools.query
        typeKey: tools.typeKey
        categoryId: tools.categoryId
        action: tools.action
        expand: tools.expand
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: jira-get-project
      description: Jira Get Project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-platform-rest-projects.getproject
      with:
        expand: tools.expand
        properties: tools.properties
      outputParameters:
      - type: object
        mapping: $.
    - name: jira-get-all-statuses-project
      description: Jira Get All Statuses for Project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-platform-rest-projects.getallstatuses
      outputParameters:
      - type: object
        mapping: $.