---
title: "Tool profile: plans, capabilities, evidence, risks, workflows"
method: GET
path: "/api/v1/tools/{slug}"
tags: ["Knowledge"]
---

# Tool profile: plans, capabilities, evidence, risks, workflows

`GET /api/v1/tools/{slug}`

## Request

- Base URL: `https://onelesstool.com`
- URL: `https://onelesstool.com/api/v1/tools/{slug}`
- Auth: none declared

## Path parameters

- `slug` string, required

## Response `200`

Tool detail

- object
  - `data` Tool, required
    - `slug` string, required
    - `name` string, required
    - `vendor` string, required
    - `url` string, uri, required
    - `category` 'ai_assistant' | 'ai_coding' | 'design' | 'creative_suite' | 'website_builder' | 'hosting' | 'crm' | 'prospecting' | 'automation' | 'knowledge' | 'productivity_suite' | 'writing' | 'analytics' | 'video' | 'presentation' | 'documents_esign' | 'meetings' | 'database' | 'forms' | 'email_marketing', required
    - `aliases` string[]
    - `tags` string[]
    - `summary` string, required
    - `description` string, required
    - `editorial` object
      - `verdict` string
      - `keepIf` string[]
      - `dropIf` string[]
      - `updatedAt` string
    - `whyPeoplePay` string[]
    - `hardToReplace` string[], required
    - `pricing` object, required
      - `model` 'free' | 'freemium' | 'subscription' | 'usage' | 'open_source' | 'source_available' | 'quote', required
      - `freeTier` boolean, required
      - `pricingUrl` string, uri
      - `plans` object[]
        - `id` string, required
        - `name` string, required
        - `price` object, required
          - `amount` number, nullable, required
          - `currency` 'USD'
          - `period` 'month' | 'year' | 'one_time', required
          - `unit` 'seat' | 'account' | 'usage', required
          - `billedAnnually` boolean
          - `minSeats` integer
          - `monthlyBillingUSD` number
          - `oneTimeFeeUSD` number
          - `originalPrice` object
            - `amount` number, required
            - `currency` string, required
          - `note` string
        - `monthlyUSD` number, nullable, required
        - `highlights` string[]
        - `evidence` object, required
          - `status` 'verified' | 'editorial' | 'estimate' | 'illustrative' | 'ai_suggested' | 'unverified', required
          - `sources` object[]
            - `url` string, uri, required
            - `title` string, required
            - `accessedAt` string, required
            - `note` string
          - `verifiedAt` string
          - `verifiedBy` string
          - `notes` string
      - `notes` string
    - `capabilities` object[]
      - `capability` string, required
      - `plans` string[]
      - `fit` 'native' | 'strong' | 'partial' | 'workaround', required
      - `scores` object
        - `quality` integer
        - `ease` integer
        - `precision` integer
        - `batch` integer
        - `collaboration` integer
        - `brandConsistency` integer
        - `reliability` integer
        - `privacy` integer
      - `skill` 'none' | 'basic' | 'technical', required
      - `notes` string
      - `limitations` string[]
      - `evidence` object, required
        - `status` 'verified' | 'editorial' | 'estimate' | 'illustrative' | 'ai_suggested' | 'unverified', required
        - `sources` object[]
          - `url` string, uri, required
          - `title` string, required
          - `accessedAt` string, required
          - `note` string
        - `verifiedAt` string
        - `verifiedBy` string
        - `notes` string
    - `dataPortability` object, required
      - `rating` 'easy' | 'moderate' | 'hard', required
      - `notes` string, required
    - `risks` object[]
      - `type` 'sensitive_data' | 'security' | 'compliance' | 'functionality_loss' | 'vendor_lock_in' | 'reliability' | 'migration_complexity' | 'collaboration' | 'data_portability' | 'ip_licensing', required
      - `severity` 'low' | 'medium' | 'high', required
      - `note` string, required
    - `lastReviewed` string, required
    - `sources` object[]
      - `url` string, uri, required
      - `title` string, required
      - `accessedAt` string, required
      - `note` string
  - `meta` Meta, required
    - `apiVersion` string
    - `dataVersion` string: Hash of the content bundle; changes when data changes
    - `dataGeneratedAt` string, date-time
    - `docs` string
    - `disclaimer` string

## Other responses

- `400`: Invalid request
- `404`: Not found
- `429`: Rate limited (120 requests/minute per IP)

---

[API](https://skmtc.dev/onelesstool/apis/onelesstool-api.md) · [All operations](https://skmtc.dev/onelesstool/apis/onelesstool-api/llms.txt) · [OpenAPI document](https://skmtc.dev/onelesstool/apis/onelesstool-api/revisions/78e4df4459dd?raw)
