{
  "info": {
    "name": "Blooio — mcp.ai",
    "description": "REST API for the Blooio MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/blooio",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "blooio_add_contact_tags",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/add/contact/tags",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "add",
            "contact",
            "tags"
          ]
        },
        "description": "Add or reactivate one or more free-form tags on a contact.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"tags\": \"\",\n  \"contact_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_create_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "contact"
          ]
        },
        "description": "Create a contact from an E.164 phone number or email address, optionally assigning a name.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"identifier\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_create_group",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/group",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "group"
          ]
        },
        "description": "Create a messaging group, optionally linking an existing iMessage chat and recording its members; new contacts may be created for unknown members.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"members\": \"\",\n  \"chat_guid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_delete_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "contact"
          ]
        },
        "description": "Soft-delete one contact identified by E.164 phone number or email.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"contact_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_delete_group",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/group",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "group"
          ]
        },
        "description": "Soft-delete a group, remove its members, and exit its linked iMessage chat when one exists.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_get_account",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/account",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "account"
          ]
        },
        "description": "Return the authenticated organization, assigned devices, and message usage without exposing the API-key identifier.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_get_chat",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/chat",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "chat"
          ]
        },
        "description": "Return detailed counts, participant context, and latest-message metadata for one conversation.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_get_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "contact"
          ]
        },
        "description": "Return one contact by E.164 phone number or email, including its current tags.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"contact_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_get_contact_capabilities",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/contact/capabilities",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "contact",
            "capabilities"
          ]
        },
        "description": "Check whether a contact can receive iMessage, SMS, or FaceTime before choosing a communication path.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"contact_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_get_group",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/group",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "group"
          ]
        },
        "description": "Return one messaging group by its grp_ identifier.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_get_message",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/message",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "message"
          ]
        },
        "description": "Return one message with content, reactions, delivery status, protocol, errors, and inline-reply context.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\",\n  \"message_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_get_poll_results",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/poll/results",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "poll",
            "results"
          ]
        },
        "description": "Return a poll's definition, option vote counts, and total votes.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\",\n  \"poll_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_get_risk_summary",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/risk/summary",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "risk",
            "summary"
          ]
        },
        "description": "Return the cached fleet risk rollup. A null computed_at means no report has been computed and must not be interpreted as low risk.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_list_chats",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/chats",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "chats"
          ]
        },
        "description": "Search and page through conversations, ordered by recent activity or oldest activity.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"sort\": \"\",\n  \"limit\": 0,\n  \"query\": \"\",\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_list_contacts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/contacts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "contacts"
          ]
        },
        "description": "Search and page through organization contacts by identifier or name.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"sort\": \"\",\n  \"limit\": 0,\n  \"query\": \"\",\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_list_group_members",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/group/members",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "group",
            "members"
          ]
        },
        "description": "Page through the members recorded for a messaging group.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"group_id\": \"\",\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_list_groups",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/groups",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "groups"
          ]
        },
        "description": "Search and page through messaging groups by name.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"sort\": \"\",\n  \"limit\": 0,\n  \"query\": \"\",\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_list_messages",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/messages",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "messages"
          ]
        },
        "description": "Page through messages in one chat with direction, time-window, and ordering filters.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"sort\": \"\",\n  \"limit\": 0,\n  \"since\": 0,\n  \"until\": 0,\n  \"chat_id\": \"\",\n  \"direction\": \"\",\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_list_numbers",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/numbers",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "numbers"
          ]
        },
        "description": "List sender phone numbers assigned to the connected API key and their availability state.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_mark_chat_read",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/mark/chat/read",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "mark",
            "chat",
            "read"
          ]
        },
        "description": "Mark every message in a chat as read and irreversibly send an externally visible read receipt to the sender; the receipt cannot be unsent.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_remove_contact_tags",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/remove/contact/tags",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "remove",
            "contact",
            "tags"
          ]
        },
        "description": "Soft-delete one or more exact tags from a contact sequentially; if a later removal fails, earlier removals remain applied.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"tags\": \"\",\n  \"contact_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_send_message",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/message",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "message"
          ]
        },
        "description": "Irreversibly send one or multiple text, attachment, multipart, or inline-reply messages; multi-recipient sends may create or reuse an unnamed group and may incur messaging charges.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_id\": \"\",\n  \"content\": {},\n  \"reply_to\": {},\n  \"from_number\": \"\",\n  \"idempotency_key\": \"\",\n  \"use_typing_indicator\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_send_poll",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/poll",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "poll"
          ]
        },
        "description": "Irreversibly send an interactive native iMessage poll to a chat.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"title\": \"\",\n  \"chat_id\": \"\",\n  \"options\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_set_message_reaction",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/set/message/reaction",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "set",
            "message",
            "reaction"
          ]
        },
        "description": "Add or remove a classic tapback or emoji reaction on a specific or relative message in a chat.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"action\": \"\",\n  \"chat_id\": \"\",\n  \"reaction\": \"\",\n  \"direction\": \"\",\n  \"message_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_update_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "contact"
          ]
        },
        "description": "Set or clear the display name of an existing contact.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"contact_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "blooio_update_group",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/group",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "group"
          ]
        },
        "description": "Rename a group and, when linked, synchronize the new name to its iMessage chat.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"group_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}