Skip to main content
POST
/
v0
/
raw_events
curl --request POST \
  --url https://events.formo.so/v0/raw_events \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
[
  {
    "type": "page",
    "channel": "web",
    "version": "1",
    "anonymous_id": "e397c4e7-5f0a-45d6-a06c-f34a809d8b82",
    "user_id": "",
    "address": "",
    "event": "",
    "context": {
      "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36",
      "locale": "en-US",
      "timezone": "America/Los_Angeles",
      "location": "US",
      "ref": "",
      "referrer": "",
      "utm_campaign": "",
      "utm_content": "",
      "utm_medium": "",
      "utm_source": "",
      "utm_term": "",
      "page_title": "Dashboard | MyApp",
      "page_url": "https://myapp.com/swap/ethereum#/swap",
      "page_path": "/swap/ethereum",
      "library_name": "Formo Web SDK",
      "library_version": "1.27.0",
      "browser": "chrome",
      "device": "desktop",
      "os": "Windows",
      "screen_width": 1280,
      "screen_height": 720,
      "screen_density": 1.5,
      "viewport_width": 1280,
      "viewport_height": 604
    },
    "properties": {
      "url": "https://myapp.com/swap/ethereum#/swap",
      "path": "/swap/ethereum",
      "hash": "#/swap",
      "query": ""
    },
    "original_timestamp": "2026-04-28T02:08:30.000Z",
    "sent_at": "2026-04-28T02:09:00.000Z",
    "message_id": "263434374239d12b797bf571c6045d6f9f9000a70f19f94d75ca485536606b27"
  }
]
'
{
  "successful_rows": 1,
  "quarantined_rows": 0
}
Send events to Formo from any source. Sending custom events? See the event specs.
This endpoint is hosted on events.formo.so, a separate service from the main API at api.formo.so.
Sending events from the backend? Use the server-side SDK.

Authorizations

Authorization
string
header
required

Workspace API key (e.g. formo_xxx). Create one in the Formo dashboard under Team Settings > API Keys.

Body

application/json
type
enum<string>
required
Available options:
page,
connect,
disconnect,
chain,
signature,
transaction,
track,
decoded_log,
detect,
identify
channel
enum<string>
required

Source of the event. The Formo Web SDK uses web; mobile SDK uses mobile; server SDK uses server. Use api for direct HTTP submissions and import for backfills.

Available options:
web,
mobile,
server,
api,
import
version
string
required

SDK schema version. Web SDK 1.x emits 1; legacy clients emit 0.

Example:

"1"

anonymous_id
string
required

Anonymous visitor identifier

message_id
string
required

Unique ID for deduplication

user_id
string | null

Identified user ID

address
string | null

Wallet address

event
string | null

Event name (for track events)

context
object

Contextual information about the event environment

properties
object

Event-specific properties. Can contain any key-value pairs relevant to the event.

original_timestamp
string<date-time>
sent_at
string<date-time>

Response

200 - application/json

Events ingested

successful_rows
integer
quarantined_rows
integer