Skip to the page

API reference

Who am I?

The account and key a request acts as, the plan and whether the Mac is online.

GET/v1/me

The account and key a request acts as, the plan and whether the Mac is online. A quick way to check a key works.

Needs a key with the account:read scope. Keys and scopes

Example

GET/v1/meWho am I? →
curl "https://usebluebot.com/api/v1/me" \
  -H "Authorization: Bearer $BLUEBOT_API_KEY"

Response

200: The account and key.

  • object"me"required
  • accountobjectrequired
    Show its 5 fields
    • idstringrequired

      A acct_ id.

      Starts with acct_.

    • emailstringrequired
    • namestring or nullrequired
    • time_zonestringrequired
    • created_attimestamprequired

      When the account was made.

  • keyobject or nullrequired

    The key the request carried; null for other kinds of sign-in.

    Show its 6 fields
    • idstringrequired

      A key_ id.

      Starts with key_.

    • namestringrequired
    • prefixstringrequired

      The start of the key, to tell keys apart.

    • modestringrequired

      One of live, test.

    • scopesarray of stringsrequired

      One of messages:send, messages:read, contacts:write, contacts:read, webhooks:manage, account:read.

    • created_attimestamprequired

      When the key was made.

  • planobject or nullrequired
    Show its 4 fields
    • statusstringrequired

      One of trialing, active, past_due, canceled, unpaid, incomplete, incomplete_expired, paused.

    • activebooleanrequired

      Whether texts can go.

    • trial_endtimestamp or nullrequired

      When the trial ends.

    • current_period_endtimestamp or nullrequired

      When the current month ends.

  • deviceobjectrequired
    Show its 1 fields
    • statusstringrequired

      One of online, offline, never_connected.

Response200
{
  "object": "me",
  "account": {
    "id": "acct_1Hq2LxW9cVbN3mKpRtYs0a",
    "email": "dana@example.com",
    "name": "Dana Reyes",
    "time_zone": "America/Chicago",
    "created_at": "2026-11-01T15:00:00.000Z"
  },
  "key": {
    "id": "key_1Hq2LxW9cVbN3mKpRtYs0a",
    "name": "Zapier",
    "prefix": "bb_live_7Hq2Lx",
    "mode": "live",
    "scopes": [
      "messages:send",
      "messages:read",
      "contacts:write",
      "contacts:read",
      "webhooks:manage",
      "account:read"
    ],
    "created_at": "2026-11-01T15:10:00.000Z"
  },
  "plan": {
    "status": "active",
    "active": true,
    "trial_end": null,
    "current_period_end": "2026-12-01T15:00:00.000Z"
  },
  "device": {
    "status": "online"
  }
}

Errors

Every refusal has the same envelope and a page of its own. These are the ones this operation can give.

CodeStatusWhat it means
unauthorized401The request carried no key, or a key BlueBot doesn’t know: mistyped, revoked, or a test key sent to the live API.
insufficient_scope403The key doesn’t carry the scope the endpoint needs. Each endpoint’s reference names its scope.
rate_limited429Too many requests. A key may make 120 requests a minute. The RateLimit header says how many are left, and Retry-After how long to wait.
internal500Something went wrong on BlueBot’s side. It was reported. Send the request again; with an Idempotency-Key that is always safe.

Try it

Call this operation from the page with your own key. The key stays in this tab and is forgotten when you leave.