Perenual · Capability

Perenual API — Species

Perenual API — Species. 2 operations. Lead operation: List plant species. Self-contained Naftiko capability covering one Perenual business surface.

Run with Naftiko PerenualSpecies

What You Can Do

GET
Getspecieslist — List plant species
/v1/species-list
GET
Getspeciesdetails — Get plant species details
/v1/species/details/{id}

MCP Tools

list-plant-species

List plant species

read-only idempotent
get-plant-species-details

Get plant species details

read-only idempotent

Capability Spec

perenual-species.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Perenual API — Species
  description: 'Perenual API — Species. 2 operations. Lead operation: List plant species. Self-contained Naftiko capability
    covering one Perenual business surface.'
  tags:
  - Perenual
  - Species
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PERENUAL_API_KEY: PERENUAL_API_KEY
capability:
  consumes:
  - type: http
    namespace: perenual-species
    baseUri: https://perenual.com/api/v2
    description: Perenual API — Species business capability. Self-contained, no shared references.
    resources:
    - name: species-list
      path: /species-list
      operations:
      - name: getspecieslist
        method: GET
        description: List plant species
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: integer
        - name: q
          in: query
          type: string
        - name: order
          in: query
          type: string
        - name: edible
          in: query
          type: boolean
        - name: poisonous
          in: query
          type: boolean
        - name: cycle
          in: query
          type: string
        - name: watering
          in: query
          type: string
        - name: sunlight
          in: query
          type: string
        - name: indoor
          in: query
          type: boolean
        - name: hardiness
          in: query
          type: integer
    - name: species-details-id
      path: /species/details/{id}
      operations:
      - name: getspeciesdetails
        method: GET
        description: Get plant species details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          required: true
    authentication:
      type: apikey
      key: key
      value: '{{env.PERENUAL_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: perenual-species-rest
    port: 8080
    description: REST adapter for Perenual API — Species. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/species-list
      name: species-list
      description: REST surface for species-list.
      operations:
      - method: GET
        name: getspecieslist
        description: List plant species
        call: perenual-species.getspecieslist
        with:
          page: rest.page
          q: rest.q
          order: rest.order
          edible: rest.edible
          poisonous: rest.poisonous
          cycle: rest.cycle
          watering: rest.watering
          sunlight: rest.sunlight
          indoor: rest.indoor
          hardiness: rest.hardiness
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/species/details/{id}
      name: species-details-id
      description: REST surface for species-details-id.
      operations:
      - method: GET
        name: getspeciesdetails
        description: Get plant species details
        call: perenual-species.getspeciesdetails
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: perenual-species-mcp
    port: 9090
    transport: http
    description: MCP adapter for Perenual API — Species. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-plant-species
      description: List plant species
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: perenual-species.getspecieslist
      with:
        page: tools.page
        q: tools.q
        order: tools.order
        edible: tools.edible
        poisonous: tools.poisonous
        cycle: tools.cycle
        watering: tools.watering
        sunlight: tools.sunlight
        indoor: tools.indoor
        hardiness: tools.hardiness
      outputParameters:
      - type: object
        mapping: $.
    - name: get-plant-species-details
      description: Get plant species details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: perenual-species.getspeciesdetails
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.