{
  "protocolVersion": "0.3.0",
  "name": "Blue Reacher",
  "description": "Blue Reacher is an iMessage business platform that sends blue-bubble texts from your CRM across the entire funnel, increasing your conversions at every step, with no A2P registration required.",
  "url": "https://api.bluereacher.com/v1/a2a",
  "preferredTransport": "JSONRPC",
  "supportedInterfaces": [
    {
      "url": "https://api.bluereacher.com/v1/a2a",
      "transport": "JSONRPC"
    },
    {
      "url": "https://api.bluereacher.com/v1/mcp",
      "transport": "HTTP+JSON"
    }
  ],
  "additionalInterfaces": [
    {
      "url": "https://api.bluereacher.com/v1/a2a",
      "transport": "JSONRPC"
    }
  ],
  "version": "1.0.0",
  "provider": {
    "organization": "Blue Reacher",
    "url": "https://bluereacher.com"
  },
  "documentationUrl": "https://docs.bluereacher.com",
  "capabilities": {
    "streaming": true,
    "pushNotifications": true,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "description": "Per-customer API key generated in the Blue Reacher dashboard. Live keys are prefixed brk_live_, test keys brk_test_. Sent as: Authorization: Bearer brk_live_your_key",
      "documentation": "https://docs.bluereacher.com/authentication"
    }
  },
  "security": [
    {
      "bearer": []
    }
  ],
  "skills": [
    {
      "id": "send_message",
      "name": "send message",
      "description": "Sends a message over iMessage with automatic SMS fallback. Drip (default) inserts into the paced pipeline; instant dispatches immediately from an online line. One recipient per call, with media attached by URL. Group sends, message effects and scheduled sends are not available yet.",
      "tags": [
        "messaging",
        "imessage",
        "sales",
        "outbound"
      ]
    },
    {
      "id": "get_message_status",
      "name": "get message status",
      "description": "Returns the current delivery state of one message: pending, sent or failed, plus further lifecycle states as they occur. Covers paced and instant sends.",
      "tags": [
        "messaging",
        "imessage",
        "sales",
        "outbound"
      ]
    },
    {
      "id": "get_conversation",
      "name": "get conversation",
      "description": "Chronological message history with per-message delivery channel (iMessage or SMS), tapback reactions and AI attribution. Cursor-paginated.",
      "tags": [
        "messaging",
        "imessage",
        "sales",
        "outbound"
      ]
    },
    {
      "id": "list_lines",
      "name": "list lines",
      "description": "Every line in the workspace with online state, today's cold-outreach usage against its effective daily cap (warm-up aware), and queue depth. Use it to pick a line or check available capacity before a batch.",
      "tags": [
        "messaging",
        "imessage",
        "sales",
        "outbound"
      ]
    },
    {
      "id": "list_contacts",
      "name": "list contacts",
      "description": "Filter by exact phone, email, tag, created-after, or a free-text search across name and phone.",
      "tags": [
        "messaging",
        "imessage",
        "sales",
        "outbound"
      ]
    },
    {
      "id": "create_contact",
      "name": "create contact",
      "description": "Creates the contact, or updates the existing one with the same phone number. The response says which happened.",
      "tags": [
        "messaging",
        "imessage",
        "sales",
        "outbound"
      ]
    },
    {
      "id": "update_contact",
      "name": "update contact",
      "description": "Partial update; custom fields merge with the existing map, and setting opted_out suppresses future platform sends to the contact.",
      "tags": [
        "messaging",
        "imessage",
        "sales",
        "outbound"
      ]
    },
    {
      "id": "get_contact",
      "name": "get contact",
      "description": "One contact by id, with its tags and custom fields.",
      "tags": [
        "messaging",
        "imessage",
        "sales",
        "outbound"
      ]
    }
  ]
}