{
 "openapi": "3.1.0",
 "info": {
  "title": "Foundations Counseling agent API",
  "version": "1.0.0",
  "summary": "Counselors, services, offices, fees, and intake at Foundations Counseling, Northern Colorado.",
  "description": "Read-only facts published by Foundations Counseling LLC, a private-pay, talk-therapy practice in Northern Colorado. Mirrors the MCP server at https://mcp.foundationscounselingllc.com/mcp. No authentication, no personal data. Availability is practice-level only. Not clinical advice or a crisis service: in an emergency call 911, or call or text 988.",
  "contact": {
   "name": "Foundations Counseling LLC",
   "url": "https://www.foundationscounselingllc.com"
  }
 },
 "servers": [
  {
   "url": "https://mcp.foundationscounselingllc.com/v1"
  }
 ],
 "externalDocs": {
  "url": "https://mcp.foundationscounselingllc.com/",
  "description": "Developer page"
 },
 "paths": {
  "/practice": {
   "get": {
    "operationId": "getPracticeInfo",
    "summary": "Practice overview",
    "responses": {
     "200": {
      "description": "Practice facts",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Practice"
        }
       }
      }
     }
    }
   }
  },
  "/counselors": {
   "get": {
    "operationId": "findCounselors",
    "summary": "Find counselors (neutral rotating order, never ranked by fit)",
    "parameters": [
     {
      "name": "service",
      "in": "query",
      "required": false,
      "description": "Service id from /services.",
      "schema": {
       "type": "string",
       "enum": [
        "art-therapy",
        "grief-therapy",
        "child-teen-therapy",
        "sports-performance-therapy",
        "sex-therapist",
        "solution-focused-brief-therapy",
        "anger-management-therapy",
        "rational-emotive-behavior-therapy-rebt",
        "life-coaching",
        "music-in-therapy",
        "add-adhd-therapy",
        "drug-alcohol-abuse-therapy",
        "individual-therapy",
        "chronic-pain-illness-counseling",
        "autism-counseling",
        "inner-child-work",
        "career-coaching",
        "stress-management-therapy",
        "internal-family-systems-therapy-ifs",
        "trust-based-relational-intervention-tbri",
        "personality-disorders-treatment",
        "spanish-therapy",
        "emotionally-focused-therapy-eft",
        "abuse-therapy",
        "virtual-online-therapy",
        "obsessive-compulsive-disorder-ocd",
        "sleep-disorders-therapy-treatment",
        "strength-based-therapy",
        "ptsd-treatment-therapy",
        "dialectical-behavior-therapy-dbt",
        "parenting-counseling",
        "christian-therapy",
        "play-therapy",
        "corporate-counseling-workplace-therapy",
        "biofeedback",
        "couples-intimacy-therapy",
        "eating-disorder-therapy",
        "premarital-therapy",
        "postpartum-depression-treatment",
        "cognitive-behavioral-therapy-cbt",
        "health-wellness-counseling",
        "family-therapy",
        "self-esteem-therapy",
        "traumatic-brain-injury-tbi-counseling",
        "psychodynamic-therapy",
        "relinquishment-adoption-counseling",
        "existential-therapy",
        "mindfulness-based-therapy",
        "avoidant-personality-disorder-therapy",
        "relationship-issues-counseling",
        "bipolar-disorder-therapy",
        "infertility-counseling",
        "womens-therapy",
        "marriage-therapy",
        "anxiety-therapy",
        "court-ordered-therapy",
        "obesity-weight-loss-therapy",
        "older-adult-counseling",
        "narrative-therapy",
        "attachment-issues-therapy",
        "military-veteran-counseling",
        "consejeria-en-espanol",
        "somatic-therapy",
        "divorce-therapy",
        "first-responder-counseling",
        "porn-sex-addiction-counseling",
        "gestalt-therapy",
        "disability-counseling",
        "animal-assisted-therapy",
        "healthcare-worker-counseling",
        "dreamwork-therapy",
        "phobia-therapy",
        "weekend-therapy",
        "depression-therapy-treatment",
        "trauma-therapy",
        "mens-therapy",
        "emotional-regulation-therapy",
        "reunification-therapy",
        "eye-movement-desensitization-reprocessing-emdr-therapy",
        "lgbtq-therapy",
        "person-centered-therapy",
        "codependency-therapy",
        "couples-therapy",
        "affair-recovery-therapy",
        "spirituality-counseling",
        "gambling-addiction-disorder-therapy",
        "motivational-interviewing",
        "acceptance-commitment-therapy-act"
       ]
      }
     },
     {
      "name": "office",
      "in": "query",
      "required": false,
      "description": "Office id; fort-collins covers both Fort Collins offices.",
      "schema": {
       "type": "string",
       "enum": [
        "fort-collins-harmony",
        "windsor",
        "loveland",
        "fort-collins-horsetooth",
        "fort-collins"
       ]
      }
     },
     {
      "name": "spanish",
      "in": "query",
      "required": false,
      "schema": {
       "type": "boolean"
      }
     },
     {
      "name": "online",
      "in": "query",
      "required": false,
      "schema": {
       "type": "boolean"
      }
     },
     {
      "name": "age",
      "in": "query",
      "required": false,
      "description": "Client's age in years; returns counselors whose published Populations Served includes it. Used for filtering only, never logged or stored.",
      "schema": {
       "type": "integer",
       "minimum": 0,
       "maximum": 120
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 1,
       "maximum": 100,
       "default": 10
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Matching counselors",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/CounselorList"
        }
       }
      }
     },
     "400": {
      "$ref": "#/components/responses/BadRequest"
     }
    }
   }
  },
  "/counselors/{id}": {
   "get": {
    "operationId": "getCounselor",
    "summary": "Counselor profile (no per-counselor availability)",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "enum": [
        "kelsey-edwards-msw-swc",
        "chris-berger-ma-lpc-nc",
        "cindy-navarrete-msw-swc-cctp",
        "jamie-smiertelny-msw-swc",
        "lee-lester-ma-ncc-lpcc",
        "mariah-milne-msw-lsw",
        "jaycee-myrtle",
        "cierra-denton",
        "viki-pippin",
        "karen-ragland",
        "marie-zeledon",
        "gayla-joseph",
        "ryan-battaglia",
        "aubri-sherman",
        "delaney-adams",
        "sean-lawlor",
        "erik-peaslee",
        "katie-tiffany",
        "madi-nigro",
        "alyson-lowe",
        "kelly-vander-woude",
        "natalie-corbett",
        "mike-henderson",
        "rhys-cramer",
        "sam-sorensen",
        "barb-odwyer"
       ]
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Counselor profile",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Counselor"
        }
       }
      }
     },
     "404": {
      "$ref": "#/components/responses/NotFound"
     }
    }
   }
  },
  "/services": {
   "get": {
    "operationId": "listServices",
    "summary": "Services grouped by who, what, and how",
    "parameters": [
     {
      "name": "category",
      "in": "query",
      "required": false,
      "description": "who, what, how, or other",
      "schema": {
       "type": "string",
       "enum": [
        "who",
        "what",
        "how",
        "other"
       ]
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Services",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/ServiceList"
        }
       }
      }
     },
     "400": {
      "$ref": "#/components/responses/BadRequest"
     }
    }
   }
  },
  "/services/{id}": {
   "get": {
    "operationId": "getService",
    "summary": "Service detail",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "enum": [
        "art-therapy",
        "grief-therapy",
        "child-teen-therapy",
        "sports-performance-therapy",
        "sex-therapist",
        "solution-focused-brief-therapy",
        "anger-management-therapy",
        "rational-emotive-behavior-therapy-rebt",
        "life-coaching",
        "music-in-therapy",
        "add-adhd-therapy",
        "drug-alcohol-abuse-therapy",
        "individual-therapy",
        "chronic-pain-illness-counseling",
        "autism-counseling",
        "inner-child-work",
        "career-coaching",
        "stress-management-therapy",
        "internal-family-systems-therapy-ifs",
        "trust-based-relational-intervention-tbri",
        "personality-disorders-treatment",
        "spanish-therapy",
        "emotionally-focused-therapy-eft",
        "abuse-therapy",
        "virtual-online-therapy",
        "obsessive-compulsive-disorder-ocd",
        "sleep-disorders-therapy-treatment",
        "strength-based-therapy",
        "ptsd-treatment-therapy",
        "dialectical-behavior-therapy-dbt",
        "parenting-counseling",
        "christian-therapy",
        "play-therapy",
        "corporate-counseling-workplace-therapy",
        "biofeedback",
        "couples-intimacy-therapy",
        "eating-disorder-therapy",
        "premarital-therapy",
        "postpartum-depression-treatment",
        "cognitive-behavioral-therapy-cbt",
        "health-wellness-counseling",
        "family-therapy",
        "self-esteem-therapy",
        "traumatic-brain-injury-tbi-counseling",
        "psychodynamic-therapy",
        "relinquishment-adoption-counseling",
        "existential-therapy",
        "mindfulness-based-therapy",
        "avoidant-personality-disorder-therapy",
        "relationship-issues-counseling",
        "bipolar-disorder-therapy",
        "infertility-counseling",
        "womens-therapy",
        "marriage-therapy",
        "anxiety-therapy",
        "court-ordered-therapy",
        "obesity-weight-loss-therapy",
        "older-adult-counseling",
        "narrative-therapy",
        "attachment-issues-therapy",
        "military-veteran-counseling",
        "consejeria-en-espanol",
        "somatic-therapy",
        "divorce-therapy",
        "first-responder-counseling",
        "porn-sex-addiction-counseling",
        "gestalt-therapy",
        "disability-counseling",
        "animal-assisted-therapy",
        "healthcare-worker-counseling",
        "dreamwork-therapy",
        "phobia-therapy",
        "weekend-therapy",
        "depression-therapy-treatment",
        "trauma-therapy",
        "mens-therapy",
        "emotional-regulation-therapy",
        "reunification-therapy",
        "eye-movement-desensitization-reprocessing-emdr-therapy",
        "lgbtq-therapy",
        "person-centered-therapy",
        "codependency-therapy",
        "couples-therapy",
        "affair-recovery-therapy",
        "spirituality-counseling",
        "gambling-addiction-disorder-therapy",
        "motivational-interviewing",
        "acceptance-commitment-therapy-act"
       ]
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Service",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Service"
        }
       }
      }
     },
     "404": {
      "$ref": "#/components/responses/NotFound"
     }
    }
   }
  },
  "/locations": {
   "get": {
    "operationId": "getLocations",
    "summary": "Offices, hours, and counselors at each",
    "responses": {
     "200": {
      "description": "Offices",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Locations"
        }
       }
      }
     }
    }
   }
  },
  "/fees": {
   "get": {
    "operationId": "getFees",
    "summary": "Fees, insurance, payment methods, cancellation policy",
    "responses": {
     "200": {
      "description": "Fees",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Fees"
        }
       }
      }
     }
    }
   }
  },
  "/how-to-start": {
   "get": {
    "operationId": "howToStart",
    "summary": "Intake steps in order",
    "responses": {
     "200": {
      "description": "Steps",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Start"
        }
       }
      }
     }
    }
   }
  },
  "/availability": {
   "get": {
    "operationId": "checkAvailability",
    "summary": "Practice-level availability",
    "parameters": [
     {
      "name": "office",
      "in": "query",
      "required": false,
      "description": "Office id or online",
      "schema": {
       "type": "string",
       "enum": [
        "fort-collins-harmony",
        "windsor",
        "loveland",
        "fort-collins-horsetooth",
        "online"
       ]
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Availability",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Availability"
        }
       }
      }
     },
     "400": {
      "$ref": "#/components/responses/BadRequest"
     }
    }
   }
  },
  "/library": {
   "get": {
    "operationId": "searchLibrary",
    "summary": "Search the Healing Library",
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string",
       "minLength": 2,
       "maxLength": 120
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "minimum": 1,
       "maximum": 10,
       "default": 5
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Articles",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Library"
        }
       }
      }
     },
     "400": {
      "$ref": "#/components/responses/BadRequest"
     }
    }
   }
  }
 },
 "components": {
  "schemas": {
   "Practice": {
    "type": "object",
    "description": "Practice overview",
    "properties": {
     "name": {
      "type": "string"
     },
     "description": {
      "type": "string"
     },
     "offices": {
      "type": "array",
      "items": {
       "type": "object"
      }
     },
     "doesNotProvide": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "dataAsOf": {
      "type": "string",
      "format": "date-time",
      "description": "When the data was generated from the live website."
     },
     "sources": {
      "type": "array",
      "items": {
       "type": "string",
       "format": "uri"
      }
     },
     "booking": {
      "type": "object",
      "properties": {
       "phone": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      }
     },
     "crisis": {
      "type": "string",
      "description": "Crisis guidance. Foundations is not a crisis service."
     }
    },
    "additionalProperties": true
   },
   "CounselorList": {
    "type": "object",
    "description": "Counselors",
    "properties": {
     "totalMatches": {
      "type": "integer"
     },
     "results": {
      "type": "array",
      "items": {
       "$ref": "#/components/schemas/CounselorCard"
      }
     },
     "note": {
      "type": "string"
     },
     "dataAsOf": {
      "type": "string",
      "format": "date-time",
      "description": "When the data was generated from the live website."
     },
     "sources": {
      "type": "array",
      "items": {
       "type": "string",
       "format": "uri"
      }
     },
     "booking": {
      "type": "object",
      "properties": {
       "phone": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      }
     },
     "crisis": {
      "type": "string",
      "description": "Crisis guidance. Foundations is not a crisis service."
     }
    },
    "additionalProperties": true
   },
   "CounselorCard": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string"
     },
     "name": {
      "type": "string"
     },
     "credentials": {
      "type": "string"
     },
     "role": {
      "type": "string"
     },
     "offices": {
      "type": "array",
      "items": {
       "type": "object",
       "properties": {
        "id": {
         "type": "string"
        },
        "name": {
         "type": "string"
        }
       }
      }
     },
     "offersOnline": {
      "type": "boolean"
     },
     "offersSpanish": {
      "type": "boolean"
     },
     "agesServed": {
      "type": "string",
      "description": "Normalized from the profile, e.g. \"12+\", \"3-12 and 18+\", \"all ages\"."
     },
     "summary": {
      "type": "string"
     },
     "profileUrl": {
      "type": "string",
      "format": "uri"
     }
    }
   },
   "Counselor": {
    "type": "object",
    "description": "Counselor profile",
    "properties": {
     "id": {
      "type": "string"
     },
     "name": {
      "type": "string"
     },
     "services": {
      "type": "object"
     },
     "populationsServed": {
      "type": "string",
      "description": "Verbatim from the profile."
     },
     "ages": {
      "type": "object",
      "properties": {
       "summary": {
        "type": "string"
       },
       "basis": {
        "type": "string",
        "enum": [
         "numeric",
         "all-ages",
         "groups",
         "not-published"
        ]
       },
       "ranges": {
        "type": "array",
        "items": {
         "type": "object",
         "properties": {
          "min": {
           "type": [
            "integer",
            "null"
           ]
          },
          "max": {
           "type": [
            "integer",
            "null"
           ]
          }
         }
        }
       }
      }
     },
     "therapies": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "education": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "profileUrl": {
      "type": "string",
      "format": "uri"
     },
     "dataAsOf": {
      "type": "string",
      "format": "date-time",
      "description": "When the data was generated from the live website."
     },
     "sources": {
      "type": "array",
      "items": {
       "type": "string",
       "format": "uri"
      }
     },
     "booking": {
      "type": "object",
      "properties": {
       "phone": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      }
     },
     "crisis": {
      "type": "string",
      "description": "Crisis guidance. Foundations is not a crisis service."
     }
    },
    "additionalProperties": true
   },
   "ServiceList": {
    "type": "object",
    "description": "Services",
    "properties": {
     "categories": {
      "type": "object"
     },
     "total": {
      "type": "integer"
     },
     "dataAsOf": {
      "type": "string",
      "format": "date-time",
      "description": "When the data was generated from the live website."
     },
     "sources": {
      "type": "array",
      "items": {
       "type": "string",
       "format": "uri"
      }
     },
     "booking": {
      "type": "object",
      "properties": {
       "phone": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      }
     },
     "crisis": {
      "type": "string",
      "description": "Crisis guidance. Foundations is not a crisis service."
     }
    },
    "additionalProperties": true
   },
   "Service": {
    "type": "object",
    "description": "Service",
    "properties": {
     "id": {
      "type": "string"
     },
     "name": {
      "type": "string"
     },
     "category": {
      "type": "string"
     },
     "url": {
      "type": "string",
      "format": "uri"
     },
     "counselors": {
      "type": "array",
      "items": {
       "type": "object"
      }
     },
     "dataAsOf": {
      "type": "string",
      "format": "date-time",
      "description": "When the data was generated from the live website."
     },
     "sources": {
      "type": "array",
      "items": {
       "type": "string",
       "format": "uri"
      }
     },
     "booking": {
      "type": "object",
      "properties": {
       "phone": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      }
     },
     "crisis": {
      "type": "string",
      "description": "Crisis guidance. Foundations is not a crisis service."
     }
    },
    "additionalProperties": true
   },
   "Locations": {
    "type": "object",
    "description": "Offices",
    "properties": {
     "offices": {
      "type": "array",
      "items": {
       "type": "object"
      }
     },
     "dataAsOf": {
      "type": "string",
      "format": "date-time",
      "description": "When the data was generated from the live website."
     },
     "sources": {
      "type": "array",
      "items": {
       "type": "string",
       "format": "uri"
      }
     },
     "booking": {
      "type": "object",
      "properties": {
       "phone": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      }
     },
     "crisis": {
      "type": "string",
      "description": "Crisis guidance. Foundations is not a crisis service."
     }
    },
    "additionalProperties": true
   },
   "Fees": {
    "type": "object",
    "description": "Fees",
    "properties": {
     "sessionFeeUSD": {
      "type": "number"
     },
     "firstConsultation": {
      "type": "string"
     },
     "inNetworkWithInsurance": {
      "type": "boolean"
     },
     "dataAsOf": {
      "type": "string",
      "format": "date-time",
      "description": "When the data was generated from the live website."
     },
     "sources": {
      "type": "array",
      "items": {
       "type": "string",
       "format": "uri"
      }
     },
     "booking": {
      "type": "object",
      "properties": {
       "phone": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      }
     },
     "crisis": {
      "type": "string",
      "description": "Crisis guidance. Foundations is not a crisis service."
     }
    },
    "additionalProperties": true
   },
   "Start": {
    "type": "object",
    "description": "How to start",
    "properties": {
     "steps": {
      "type": "array",
      "items": {
       "type": "object"
      }
     },
     "dataAsOf": {
      "type": "string",
      "format": "date-time",
      "description": "When the data was generated from the live website."
     },
     "sources": {
      "type": "array",
      "items": {
       "type": "string",
       "format": "uri"
      }
     },
     "booking": {
      "type": "object",
      "properties": {
       "phone": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      }
     },
     "crisis": {
      "type": "string",
      "description": "Crisis guidance. Foundations is not a crisis service."
     }
    },
    "additionalProperties": true
   },
   "Availability": {
    "type": "object",
    "description": "Practice-level availability",
    "properties": {
     "level": {
      "const": "practice"
     },
     "status": {
      "type": "string"
     },
     "statement": {
      "type": "string"
     },
     "verifiedOn": {
      "type": [
       "string",
       "null"
      ]
     },
     "dataAsOf": {
      "type": "string",
      "format": "date-time",
      "description": "When the data was generated from the live website."
     },
     "sources": {
      "type": "array",
      "items": {
       "type": "string",
       "format": "uri"
      }
     },
     "booking": {
      "type": "object",
      "properties": {
       "phone": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      }
     },
     "crisis": {
      "type": "string",
      "description": "Crisis guidance. Foundations is not a crisis service."
     }
    },
    "additionalProperties": true
   },
   "Library": {
    "type": "object",
    "description": "Healing Library results",
    "properties": {
     "totalMatches": {
      "type": "integer"
     },
     "results": {
      "type": "array",
      "items": {
       "type": "object"
      }
     },
     "dataAsOf": {
      "type": "string",
      "format": "date-time",
      "description": "When the data was generated from the live website."
     },
     "sources": {
      "type": "array",
      "items": {
       "type": "string",
       "format": "uri"
      }
     },
     "booking": {
      "type": "object",
      "properties": {
       "phone": {
        "type": "string"
       },
       "url": {
        "type": "string",
        "format": "uri"
       }
      }
     },
     "crisis": {
      "type": "string",
      "description": "Crisis guidance. Foundations is not a crisis service."
     }
    },
    "additionalProperties": true
   },
   "Error": {
    "type": "object",
    "properties": {
     "error": {
      "type": "string"
     },
     "allowed": {
      "type": "array",
      "items": {
       "type": "string"
      }
     }
    }
   }
  },
  "responses": {
   "BadRequest": {
    "description": "Invalid parameter",
    "content": {
     "application/json": {
      "schema": {
       "$ref": "#/components/schemas/Error"
      }
     }
    }
   },
   "NotFound": {
    "description": "Unknown id",
    "content": {
     "application/json": {
      "schema": {
       "$ref": "#/components/schemas/Error"
      }
     }
    }
   }
  }
 }
}