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).'