Skip to content
PenuelCounseling
Developer & AI Agent Documentation

Penuel Counseling Developer Documentation & REST API

Welcome to the official developer portal and agent integration documentation for Penuel Counseling. This service allows AI assistants, legal referral systems, and directory platforms to programmatically discover telehealth therapy services and USCIS-admissible psychological evaluations.

1. Penuel Counseling Developer Portal & Base URL

All endpoints are accessible over HTTPS with TLS 1.3 using standard HTTP methods.

Base URL: https://www.penuelcounseling.com

Protocol: HTTP/2, HTTPS with TLS 1.3

Formats: application/json, application/problem+json (RFC 9457), text/markdown

CORS: Enabled globally (Access-Control-Allow-Origin: *)

Markdown Content Negotiation (acceptmarkdown.com compliant)

All HTML pages on this site support the Accept: text/markdown header. When requested, our server returns structured, token-optimized Markdown with the required Vary: Accept, Accept-Encoding header:

curl -s -H "Accept: text/markdown" https://www.penuelcounseling.com/

2. Penuel Counseling OpenAPI 3.1 Specification

The full API surface is formally defined using OpenAPI 3.1.0 and published in both JSON and YAML formats for automated tool consumption and code generation:

OpenAPI 3.1 (JSON)

Canonical JSON specification with full schema models.

https://www.penuelcounseling.com/openapi.json

OpenAPI 3.1 (YAML)

Human and parser-friendly YAML format.

https://www.penuelcounseling.com/api/openapi.yaml

3. Penuel Counseling Authentication & Security Guidelines

To ensure maximum availability for public discovery and AI agent routing, read operations on practice information and service catalogs require no authentication tokens.

Public Discovery Endpoints: GET /api/v1/practice, GET /api/v1/services, and GET /api/v1/evaluations are publicly accessible without API keys.

Inquiry Submissions: POST /api/v1/inquiries validates input formats, rejects malformed payloads with RFC 9457 typed error responses, and rate-limits abusive clients to protect clinical staff.

HIPAA & Privacy: No protected health information (PHI) should be transmitted over public inquiry forms. Direct patient clinical records are handled exclusively through secure, HIPAA-compliant SimplePractice patient portals.

4. Rate Limiting & Self-Throttling (IETF RateLimit)

To protect clinical infrastructure and allow automated agents to self-throttle in real time, all API endpoints return standard IETF RateLimit headers:

  • RateLimit-Limit: Maximum requests allowed within a rolling window (default: 120).
  • RateLimit-Remaining: Number of remaining requests permitted before throttling.
  • RateLimit-Reset: Seconds remaining until the quota resets to full allocation (window: 60s).
  • RateLimit-Policy: Quota definition string (e.g. 120;w=60).
  • Retry-After: Provided when HTTP 429 Too Many Requests is returned, stating seconds to wait.
HTTP/2 200 OK
Content-Type: application/json; charset=utf-8
RateLimit-Limit: 120
RateLimit-Remaining: 119
RateLimit-Reset: 60
RateLimit-Policy: 120;w=60
API-Version: 1.0.0
Deprecation: false
Vary: Accept, Accept-Encoding

5. API Versioning & Deprecation Policy (RFC 8594)

We guarantee API stability so agents can reliably integrate without breaking unexpected changes:

URL Path Versioning: All core resources are prefixed with /api/v1/. Backwards-compatible additions (such as new optional parameters or additional schema fields) do not trigger a major version bump.

Deprecation Signal: When an endpoint or version is scheduled for deprecation, responses will include the RFC 8594 Deprecation: true header and a Sunset: <date> header with a minimum of 180 days advance notice before retirement.

Status: v1 is currently ACTIVE and fully supported.

6. REST Endpoints

GET/api/v1/practice

Returns clinical practice credentials, therapist licensing across Florida, Missouri, Kansas, and Virginia, contact details, and direct booking links.

Example Request:
curl -s https://www.penuelcounseling.com/api/v1/practice
GET/api/v1/services

Returns the full service catalog including EMDR, trauma therapy, couples counseling, play therapy, and immigration psychological evaluations. Supports optional category and language query filters.

Example Request:
curl -s "https://www.penuelcounseling.com/api/v1/services?category=therapy"
GET/api/v1/evaluations

Returns detailed court admissibility standards, turnaround timelines (standard 15 days vs express 5 days), and clinical evaluation components for Asylum, VAWA, U-Visa, and Extreme Hardship Waivers.

Example Request:
curl -s https://www.penuelcounseling.com/api/v1/evaluations
POST/api/v1/inquiries

Submit a programmatic patient inquiry or attorney referral. Validates required fields and returns confirmation, next steps, and booking links.

Example Request:
curl -X POST https://www.penuelcounseling.com/api/v1/inquiries \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Maria Hernandez",
    "contact": "maria@example.com",
    "service_type": "emdr-therapy",
    "state": "FL",
    "preferred_language": "es",
    "notes": "Seeking telehealth EMDR for past trauma."
  }'

7. Typed Error Handling (RFC 9457 problem+json)

All error responses conform to RFC 9457 with typed problem details, error codes, and resolution hints:

{
  "type": "https://www.penuelcounseling.com/docs/errors#invalid-request",
  "title": "Invalid Request",
  "status": 400,
  "detail": "Validation failed for inquiry submission.",
  "instance": "/api/v1/inquiries",
  "code": "INVALID_REQUEST",
  "message": "Validation failed for inquiry submission.",
  "hint": "Ensure required fields (name, contact, service_type, state) are supplied.",
  "documentation_url": "https://www.penuelcounseling.com/docs",
  "invalid_params": [
    { "field": "state", "issue": "Must provide client location state (e.g., FL, MO, KS, VA)." }
  ],
  "error": {
    "code": "INVALID_REQUEST",
    "message": "Validation failed for inquiry submission.",
    "status": 400,
    "hint": "Ensure required fields (name, contact, service_type, state) are supplied.",
    "documentation_url": "https://www.penuelcounseling.com/docs",
    "details": [
      { "field": "state", "issue": "Must provide client location state (e.g., FL, MO, KS, VA)." }
    ]
  }
}

8. Penuel Counseling CLI Tool (`npx penuel`)

Developers and automated agents can query Penuel Counseling directly using our official command-line tool via npx or by downloading cli.mjs:

# Run directly via npx without local installation:
npx penuel status
npx penuel practice
npx penuel services
npx penuel evaluations

# Or download and execute locally with Node:
curl -O https://www.penuelcounseling.com/cli.mjs
node cli.mjs practice --json

9. Penuel Counseling MCP Server & LLM Function Calling

Below are pre-configured, 100% typed function-calling tool schemas compatible with Model Context Protocol (MCP), OpenAI Assistants, Anthropic Claude tools, and Gemini function calling:

[
  {
    "type": "function",
    "function": {
      "name": "getPracticeInfo",
      "description": "Get general practice information, therapist credentials, licensed telehealth states (FL, MO, KS, VA), languages, and booking links for Penuel Counseling.",
      "parameters": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "listServices",
      "description": "List therapy and immigration psychological evaluation services offered by Penuel Counseling, including target concerns, language support, and URLs.",
      "parameters": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "enum": [
              "therapy",
              "immigration_evaluation"
            ],
            "description": "Optional filter for service category."
          },
          "language": {
            "type": "string",
            "enum": [
              "en",
              "es"
            ],
            "description": "Optional filter for service language."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getEvaluationDetails",
      "description": "Get comprehensive specifications for court-ready and USCIS psychological evaluations (Asylum, VAWA, U-Visa, Hardship Waivers), timelines, and attorney collaboration.",
      "parameters": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "submitInquiry",
      "description": "Submit a patient intake inquiry or attorney case referral to Penuel Counseling.",
      "parameters": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Full name of patient or contact."
          },
          "contact": {
            "type": "string",
            "description": "Email address or phone number."
          },
          "service_type": {
            "type": "string",
            "enum": [
              "emdr-therapy",
              "trauma-therapy",
              "individual-therapy",
              "couples-counseling",
              "play-therapy",
              "esa-letter",
              "asylum-evaluation",
              "vawa-evaluation",
              "u-visa-evaluation",
              "hardship-waiver-evaluation",
              "general-inquiry"
            ]
          },
          "state": {
            "type": "string",
            "description": "US state where patient resides (e.g., FL, MO, KS, VA)."
          },
          "preferred_language": {
            "type": "string",
            "enum": [
              "en",
              "es"
            ]
          },
          "notes": {
            "type": "string",
            "description": "Background details, symptoms, or court deadlines."
          }
        },
        "required": [
          "name",
          "contact",
          "service_type",
          "state"
        ],
        "additionalProperties": false
      }
    }
  }
]

Need Direct Scheduling or Legal Consultation?

Clients and attorneys can book directly online without API interaction.