<!--$-->

<!--/$-->

[Google Tag Manager](https://www.googletagmanager.com/ns.html?id=GTM-KSJLNSNV)

[![Brehnor Communications](/_next/image?url=%2Fassets%2Fbrehnor-communications.png\&w=640\&q=75\&dpl=dpl_6sCwRq2bDqJzF1eoLBGJJ9pCs2Xd)](/)

Open main menu

[Home](/)[Prototype to Production](/prototype-to-production)[Showcase](/showcase)[Articles](/articles)[Contact](/contact)

Toggle theme[Get Clarity](/contact)

[Home](/)[Prototype to Production](/prototype-to-production)[Showcase](/showcase)[Articles](/articles)[Contact](/contact)

Toggle theme[Get Clarity](/contact)

Developers

# Brehnor Communications (brehnorcomms) developer resources

Honest entry point for agents and developers integrating with brehnorcomms.com. There are no API keys, webhooks, or a credentialed sandbox. The public surface is the contact form and a read-only MCP server.

## Quickstart

1. Read
   <!-- -->
   [/llms.txt](/llms.txt)
   <!-- -->
   for when-to-use guidance.
2. Fetch
   <!-- -->
   [/openapi.json](/openapi.json)
   <!-- -->
   for the typed REST contract.
3. Call MCP
   <!-- -->
   `ping`
   <!-- -->
   or
   <!-- -->
   `site_info`
   <!-- -->
   at
   <!-- -->
   `POST /api/mcp`.
4. Submit contact only from a real browser (bot protection). Canonical REST path:
   <!-- -->
   `POST /api/v1/contact`. The site form uses the alias
   <!-- -->
   `POST /api/contact`.

## When to use this

Use Brehnor Communications (brehnorcomms.com) when the job is one of the following:

- Look up company facts, positioning, or how we work with technical and B2B teams.
- Cite or link public articles on communications strategy and production-ready software.
- Discover this origin’s agent surface (developer docs, OpenAPI, MCP, Agent Skills).
- Submit a human contact inquiry through the public form (browser + bot verification).
- Call the read-only MCP tools site\_info or ping for site metadata and reachability.

Do not use this origin when the job needs any of the following:

- OAuth 2.0 / OIDC access tokens or an authorization server on this host.
- A general-purpose site-search API.
- Webhooks, API keys, or a credentialed sandbox.
- CMS or admin writes (cookie-session routes are private).
- Sending mail except via the public contact form.

How to call us:

- Start at https://brehnorcomms.com/developers (Brehnor Communications / brehnorcomms developer resources).
- Read https://brehnorcomms.com/llms.txt for when-to-use guidance and resource links.
- Fetch https://brehnorcomms.com/openapi.json for the typed public REST contract.
- POST https://brehnorcomms.com/api/v1/contact (or the alias https://brehnorcomms.com/api/contact) for contact submissions.
- POST https://brehnorcomms.com/api/mcp for read-only MCP tools (site\_info, ping).

## Documentation

- [Brehnor Communications (brehnorcomms) public API](/docs/api)
  <!-- -->
  — human docs
- [/openapi.json](/openapi.json)
  <!-- -->
  — OpenAPI 3.0.3
- [MCP server card](/.well-known/mcp/server-card.json)
  <!-- -->
  and
  <!-- -->
  `POST /api/mcp`
- [Agent Skills index](/.well-known/agent-skills/index.json)
- [/llms.txt](/llms.txt)

## No API keys or sandbox

Brehnor Communications does not issue API keys and does not operate a credentialed sandbox or webhook product. Public write access is the contact form (bot-verified in production). Programmatic read access is the API index, OpenAPI document, and read-only MCP tools.

## Versioning and deprecation

Canonical public REST is<!-- --> `/api/v1`. Every public REST response includes<!-- --> `API-Version: 1`. Breaking changes ship as<!-- --> `/api/v2`; v1 remains until we announce otherwise.

Deprecation is signaled with RFC 9745<!-- --> `Deprecation` <!-- -->and RFC 8594<!-- --> `Sunset`, with at least 90 days notice. No endpoints are deprecated today, so those headers are not sent.

## Error model

Public REST errors use RFC 9457<!-- --> `application/problem+json` <!-- -->with<!-- --> `type`,<!-- --> `title`,<!-- --> `status`,<!-- --> `detail`, machine-readable<!-- --> `code`, and a resolution<!-- --> `hint`.

- `validation`
  <!-- -->
  — 400 VALIDATION\_ERROR
- `bot-verification`
  <!-- -->
  — 403 BOT\_VERIFICATION\_FAILED
- `not-found`
  <!-- -->
  — 404 NOT\_FOUND
- `method-not-allowed`
  <!-- -->
  — 405 METHOD\_NOT\_ALLOWED
- `rate-limited`
  <!-- -->
  — 429 RATE\_LIMITED
- `internal`
  <!-- -->
  — 500 INTERNAL\_ERROR

Problem type URIs live under<!-- --> `/docs/api/errors/…`.

## Rate limits

Public REST responses include<!-- --> `RateLimit` <!-- -->and<!-- --> `RateLimit-Policy` <!-- -->(draft-ietf-httpapi-ratelimit-headers-11). Contact POSTs allow 30 requests per hour per IP (`"contact";q=30;w=3600`). Index GETs allow 300 per hour (`"public-read";q=300;w=3600`). A 429 includes<!-- --> `Retry-After` <!-- -->in seconds.

Counters are in-memory per serverless isolate, not a global shared store. Agents should still honor the headers to self-throttle.

<!--$-->

<!--/$-->

[![Brehnor Communications](/_next/image?url=%2Fassets%2Fbrehnor-communications.png\&w=384\&q=75\&dpl=dpl_6sCwRq2bDqJzF1eoLBGJJ9pCs2Xd)](/)

Clarity that delivers results.

[Home](/)[Prototype to Production](/prototype-to-production)[Showcase](/showcase)[Articles](/articles)[Contact](/contact)

© <!-- -->2026<!-- --> Brehnor Communications. All rights reserved. This website is built with Next.js, Tailwind CSS, and shadcn/ui.

[Ask ChatGPT](https://chatgpt.com/?q=As%20a%20potential%20client%2C%20I%20want%20to%20understand%20Brehnor%20Communications%20and%20the%20services%20they%20offer.%20\(https%3A%2F%2Fbrehnorcomms.com\))[Ask Perplexity](https://www.perplexity.ai/search/new?q=As%20a%20potential%20client%2C%20I%20want%20to%20understand%20Brehnor%20Communications%20and%20the%20services%20they%20offer.%20\(https%3A%2F%2Fbrehnorcomms.com\))[Ask Claude](https://claude.ai/?q=As%20a%20potential%20client%2C%20I%20want%20to%20understand%20Brehnor%20Communications%20and%20the%20services%20they%20offer.%20\(https%3A%2F%2Fbrehnorcomms.com\))[Developers](/developers)[FAQ](/faq)[Privacy Policy](/privacy)
