Skip to content

API keys

Unblock an API key

Makes a blocked key work again and returns it with status: "active". Only for false alarms: if the key may really have leaked, rotate it instead. Recorded in the audit log as api_key.unblocked. For 7 days after, the behaviour rules (unusual use) do not block the key again.

POST/api/v1/keys/{id}/unblock
  • Console only: owner or admin
  • Workspace: X-Tenant-ID

Path parameters

  • iduuidrequired

    Key id (not the key itself).

    Example
    8192a3b4-c5d6-4e7f-8091-a2b3c4d5e6f7

Headers

  • Cookiestringrequired

    The whatsappx_session cookie the app sets when you sign in. Browsers send it automatically; API keys are not accepted on this endpoint.

    Example
    whatsappx_session=…
  • X-Tenant-IDuuidrequired

    Workspace id. Required for session requests. You can pass ?tenant=<id> instead.

    Example
    8d0f6c2e-3b1a-4c55-9a7e-2f4b6d1e9c30

Body

application/json
  • confirmbooleanrequired

    Must be true, to confirm you checked that the key was not leaked.

    Example
    true

Response

200 OKapplication/json

  • iduuid

    Key id. Use it to delete the key.

  • namestring

    Name you gave the key.

  • prefixstring

    First 16 characters of the key (for example pk_live_3f9a1c0b), so you can recognise it.

  • scopeenum

    read (GET requests only), write (every request an API key may make) or admin (write plus the security and audit endpoints).

  • created_atinteger

    Creation time in Unix seconds.

  • expires_atinteger

    Expiry time in Unix seconds (30, 90 or 365 days after creation, as chosen); 0 when the key never expires.

  • revokedinteger

    1 once the key has been deleted (revoked), otherwise 0.

  • statusenum

    active, blocked_leaked (blocked because it may have been leaked), revoked or expired. A blocked key that was also revoked shows blocked_leaked.

  • blocked_atinteger

    When the key was blocked, in Unix seconds; 0 if it is not blocked.

  • blocked_reasonstring

    Why it was blocked, for example found in a public GitHub location https://github.com/…, reported as leaked or used from 3 countries within an hour (SI, US, BR); "" if it is not blocked.

  • blocked_byenum

    What blocked it: github (GitHub secret scanning), report (a public report), behaviour (unusual use) or admin; "" if it is not blocked.

  • replaced_byuuid

    Id of the key that replaced this one; "" if it was not replaced.

  • revoke_atinteger

    For a rotated key: when it stops working and is revoked automatically, in Unix seconds; 0 if nothing is scheduled.

  • allowed_ipsarray<string>

    IP addresses and CIDR ranges the key may be used from. An empty array means any address.

  • last_used_atinteger

    When the key was last used, in Unix seconds; 0 if it was never used. Updated at most once a minute, or sooner when the address changes.

  • last_used_ipstring

    IP address of the last request made with the key; "" if it was never used.

Status codes

  • 200OK. The key, active again. The secret is not included.
  • 400Bad request. confirm is missing or not true, or the id is not a valid UUID.
  • 401Unauthorized. No signed-in session (unauthorized).
  • 403Forbidden. API keys can never call this endpoint (API keys cannot administer workspaces). A signed-in user who is not an owner or admin gets admin required; a user who is not a member of the workspace gets forbidden.
  • 404Not found. No key with this id in the workspace.
  • 409Conflict. The key is not blocked.