---
title: "Show a Protocol"
method: GET
path: "/api/protocols/{slug}"
tags: ["protocols"]
---

# Show a Protocol

`GET /api/protocols/{slug}`

## Request

- Base URL: `https://api.supp.co`
- URL: `https://api.supp.co/api/protocols/{slug}`
- Auth: none required

Returns a protocol only when it is public.

## Path parameters

- `slug` string, required

## Response `200`

Successful operation

- CachedProtocol: Protocol as served from ProtocolCache (ProtocolSerializer.find_all + ProtocolDto). Decimal columns serialize as strings.
  - `id` string, uuid, required
  - `article` string, nullable, required
  - `article_html` string, nullable, required
  - `created_at` string, required
  - `demographics` ProtocolDemographics, required
    - `ages` string, required
    - `breastfeeding` boolean, nullable, required
    - `gender` string, required
    - `pregnant` boolean, nullable, required
    - `prenatal` boolean, nullable, required
  - `description` string, nullable, required
  - `description_html` string, nullable, required
  - `editor` object, required
    - `id` string, uuid, required
    - `name` string, nullable, required
    - `slug` string, nullable, required
    - `avatar_url` string, nullable, required
    - `is_expert` boolean, nullable, required
    - `credentials` string, nullable, required
    - `expertise` string, nullable, required
    - `byline` string, nullable, required
  - `health_goal` string, required
  - `image_url` string, nullable, required
  - `intended_for` string, nullable, required
  - `intended_for_html` string, nullable, required
  - `name` string, required
  - `other_items` string[], required
  - `position` integer, nullable, required
  - `public` boolean, nullable, required
  - `slug` string, required
  - `updated_at` string, required
  - `version` integer, nullable, required
  - `versions` CachedProtocolVersion[], required
    - `id` string, uuid, required
    - `version` integer, required
    - `notes` string, nullable, required
    - `created_at` string, required
    - `updated_at` string, required
    - `citations` ProtocolVersionCitation[], required
      - `id` string, uuid, required
      - `author` string, required
      - `description` string, required
      - `source` string, required
    - `prescriptions` CachedProtocolPrescription[], required
      - `id` string, uuid, required
      - `any_amount` boolean, nullable, required
      - `dosage_form` string, nullable, required
      - `dosage_max` string, nullable, required
      - `dosage_max_per_day` number, nullable, required
      - `dosage_min` string, nullable, required
      - `dosage_min_per_day` number, nullable, required
      - `dosage_prefix` string, nullable, required
      - `dosage_suffix` string, nullable, required
      - `dosage_target` string, nullable, required
      - `dosage_target_per_day` number, nullable, required
      - `dosage_times_per_day` number, required
      - `dosage_unit` string, nullable, required
      - `notes` string, nullable, required
      - `citation_apa` string, nullable, required
      - `position` integer, required
      - `supplement_name` string, required
      - `supplement_slug` string, required
      - `nutrient_id` string, required
      - `nutrient_name` string, required
      - `order` integer, required
      - `recommended_products` CachedProtocolProduct[], required
        - `id` string, uuid, required
        - `position` integer, required
        - `category` string, nullable, required
        - `notes` string, nullable, required
        - `product` object, required: Decimal columns serialize as strings.
          - `id` string, uuid, required
          - `name` string, required
          - `slug` string, nullable, required
          - `brand` string, required
          - `brand_id` string, required
          - `brand_trust_score` string, nullable, required
          - `brand_trust_score_state` string, nullable, required
          - `brand_trust_score_updated_at` string, nullable, required
          - `brand_supple100` boolean, nullable, required
          - `category` string, nullable, required
          - `category_name` string, nullable, required
          - `format` string, nullable, required
          - `goal_tags` string[], required
          - `health_goals` string[], required
          - `image_url` string, nullable, required
          - `label_url` string, nullable, required
          - `msrp` string, nullable, required
          - `price` string, nullable, required
          - `price_per_serving` string, nullable, required
          - `product_trust_score` string, nullable, required
          - `product_trust_score_complete` boolean, nullable, required
          - `off_market` boolean, nullable, required
          - `product_line` string, nullable, required
          - `save_count` integer, nullable, required
          - `serving_size` string, nullable, required
          - `servings_per_container` string, nullable, required
          - `suggested_use` string, nullable, required
          - `upc` string, nullable, required
          - `validated` boolean, nullable, required
          - `purchase_links` object[], required
            - `id` string, uuid, required
            - `url` string, required
            - `price` string, nullable, required
            - `state` string, nullable, required
            - `currency` string, nullable, required
            - `clicks` integer, nullable, required
            - `updated_at` string, required
      - `supplement` CachedProtocolSupplement, required: jsonb distribution columns are returned as raw JSON strings.
        - `id` string, uuid, required
        - `name` string, required
        - `slug` string, required
        - `category` string, nullable, required
        - `community_age_distribution` string, nullable, required
        - `community_gender_distribution` string, nullable, required
        - `community_goals_distribution` string, nullable, required
        - `description` string, nullable, required
        - `do_not_exceed_amount` number, nullable, required
        - `do_not_exceed_not_known` boolean, required
        - `dosage_guide` string, nullable, required
        - `dosage_summary` string, nullable, required
        - `featured` boolean, nullable, required
        - `group` string, nullable, required
        - `health_goals` string[], required
        - `health_subgoals` string[], required
        - `keywords` string[], required
        - `primary` boolean, nullable, required
        - `recommended_lower_end_daily_dose_amount` number, nullable, required
        - `recommended_upper_end_daily_dose_amount` number, nullable, required
        - `short_name` string, nullable, required
        - `short_summary` string, nullable, required
        - `units` string, required
        - `product_category_id` string, nullable, required
        - `product_category_name` string, nullable, required
        - `goal_tags` string[], required
        - `nutrient_id` string, required
      - `nutrient` CachedProtocolSupplement, required: jsonb distribution columns are returned as raw JSON strings.
        - `id` string, uuid, required
        - `name` string, required
        - `slug` string, required
        - `category` string, nullable, required
        - `community_age_distribution` string, nullable, required
        - `community_gender_distribution` string, nullable, required
        - `community_goals_distribution` string, nullable, required
        - `description` string, nullable, required
        - `do_not_exceed_amount` number, nullable, required
        - `do_not_exceed_not_known` boolean, required
        - `dosage_guide` string, nullable, required
        - `dosage_summary` string, nullable, required
        - `featured` boolean, nullable, required
        - `group` string, nullable, required
        - `health_goals` string[], required
        - `health_subgoals` string[], required
        - `keywords` string[], required
        - `primary` boolean, nullable, required
        - `recommended_lower_end_daily_dose_amount` number, nullable, required
        - `recommended_upper_end_daily_dose_amount` number, nullable, required
        - `short_name` string, nullable, required
        - `short_summary` string, nullable, required
        - `units` string, required
        - `product_category_id` string, nullable, required
        - `product_category_name` string, nullable, required
        - `goal_tags` string[], required
        - `nutrient_id` string, required
  - `warnings` string, nullable, required
  - `warnings_html` string, nullable, required

## Other responses

- `404`: Protocol not found or not public

---

[API](https://skmtc.dev/supp/apis/suppco-public-api.md) · [All operations](https://skmtc.dev/supp/apis/suppco-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/supp/apis/suppco-public-api/revisions/e088e6cdcb6b?raw)
