workspace

Check send readiness

Find out whether this workspace can actually send yet, and what is standing in the way, as branchable data rather than a failed send.

Channels belong to a business, so readiness is answered per business. Pass ?business_id= to ask about one of your customers; a key already narrowed to a business answers for that business automatically. scope.business_id in the response says which. If it is null, the answer covers the whole organization and is not about any single customer.

Most integrations stall on provisioning, not code: a WhatsApp Business Account has to be connected and a wallet funded, and both need a human at the customer's business. This endpoint turns that from a support question into something your code can read.

There are two answers because the send gate has two floors. can_send is for a TRANSACTIONAL send (what you get when you do not set message_type) and can_send_marketing is for a marketing one, which is stricter: an empty wallet still lets transactional messages out on a small grace allowance while marketing is refused at zero. Read the field that matches the send you are about to make. WhatsApp is never wallet-blocked either way; it bills direct between the business and Meta.

Every blocker carries a stable code, the channels it blocks, the message types it blocks on those channels (blocks_message_types), and how it is resolved. resolve: dashboard means a person must act: surface it to your user rather than retrying. meta_review means wait and poll.

A blu_test_ key always reports ready with an empty blockers list: the sandbox simulates every provider, bills nothing, and needs no connected channel. What a live key would still be waiting on is returned as pending_for_live, so you can show your customer their remaining setup while you build.

Read-only and cheap, with no provider calls. Safe to poll while waiting on a human step.

get/api/v1/readiness

Request

  • Base URL: https://app.blueticked.com
  • URL: https://app.blueticked.com/api/v1/readiness
  • Auth: HTTP bearer

Response

Success

environment'test' | 'live' required
readyboolean required
request_idstring required

Example response

{
  "ready": true,
  "can_send": {
    "sms": true,
    "email": true
  },
  "blockers": [
    {
      "code": "no_whatsapp_channel",
      "message": "No WhatsApp channel is connected for this business, so WhatsApp sends will be refused. A person with dashboard access has to connect it once.",
      "url": "https://app.blueticked.com/whatsapp/setup"
    }
  ],
  "wallet": {
    "enforced": true
  },
  "channels": {
    "connected": [
      "email"
    ]
  },
  "scope": {
    "business_id": "22222222-2222-4222-9222-222222222222",
    "business_ids": [
      "22222222-2222-4222-9222-222222222222"
    ]
  },
  "request_id": "req_b2e3d610e10f1b07468721ee98f0e1d2",
  "pending_for_live": [
    {
      "code": "no_whatsapp_channel",
      "message": "No WhatsApp channel is connected for this business, so WhatsApp sends will be refused. A person with dashboard access has to connect it once.",
      "url": "https://app.blueticked.com/whatsapp/setup"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.