Trefle Families API

Retrieve plant family classification and taxonomy data.

OpenAPI Specification

trefle-families-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Trefle Distributions Families API
  description: Trefle is an open, freely accessible botanical data source and REST API for plant information. The API provides access to data on kingdoms, subkingdoms, divisions, plant families, genus, plant species, and geographic distributions. Over 400,000 plant species are available. Authentication uses a personal access token passed as a query parameter or Authorization header.
  version: 1.0.0
  contact:
    name: Trefle Support
    url: https://trefle.io
  license:
    name: MIT
    url: https://github.com/treflehq/trefle-api/blob/master/LICENSE
servers:
- url: https://trefle.io/api/v1
  description: Trefle Production API
security:
- tokenAuth: []
tags:
- name: Families
  description: Retrieve plant family classification and taxonomy data.
paths:
  /families:
    get:
      operationId: listFamilies
      summary: List Families
      description: Returns a paginated list of plant families with taxonomy hierarchy data.
      tags:
      - Families
      parameters:
      - name: page
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Families returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Family'
                  links:
                    $ref: '#/components/schemas/PaginationLinks'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /families/{id}:
    get:
      operationId: getFamily
      summary: Get Family
      description: Retrieves details of a specific plant family.
      tags:
      - Families
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Family returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Family'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Authentication failed. Access token missing, invalid, or expired.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
              message:
                type: string
  schemas:
    Family:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        common_name:
          type: string
        slug:
          type: string
        division_order:
          type: object
        links:
          type: object
    PaginationLinks:
      type: object
      properties:
        self:
          type: string
        first:
          type: string
        next:
          type: string
        prev:
          type: string
        last:
          type: string
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: query
      name: token
      description: 'Trefle personal access token obtained by registering at trefle.io. Can be passed as a query parameter (?token=YOUR_TOKEN) or in the Authorization header (Authorization: Bearer YOUR_TOKEN).'