# OpenAI CAPI is not Meta with a new host

> Source: <https://dev.to/aleksuix/openai-capi-is-not-meta-with-a-new-host-39nj>
> Published: 2026-08-26 04:55:53+00:00

The ads conversion POST looks familiar until you count the digits and read the field names. OpenAI Ads uses a different path, a different clock, and a different id than Meta CAPI. A shared worker that only knows `event_time`

will 200 and still miss.

Meta CAPI posts to the Graph API events edge. The body is `data[]`

of events, each with `event_name`

, `event_time`

, `action_source`

, `user_data`

. OpenAI Ads Conversions API posts to `bzr.openai.com/v1/events`

. The body is `events[]`

, each with `id`

, `type`

, and `timestamp_ms`

. The image pixel is yet another path: `/v1/sdk/events`

with `pid`

.

Pixellint pack `vendor/openai-conversions-api`

is the server hop. `vendor/openai`

is the image tag. They are not aliases.

OpenAI `timestamp_ms`

is Unix milliseconds. `Date.now()`

is already 13 digits. Meta `event_time`

is Unix seconds, 10 digits, so the Meta helper is `Math.floor(Date.now() / 1000)`

. Sending that 10-digit value as `timestamp_ms`

is too short. Pixellint flags `vendor.openai-conversions-api.body.timestamp_ms.invalid`

.

```
{
  "events": [
    {
      "type": "order_created",
      "timestamp_ms": 1770000000
    }
  ]
}
```

OpenAI `events[].id`

is required. Meta `event_id`

is how you dedup the pixel against CAPI. Same idea, different key. `type`

is an OpenAI event type such as `order_created`

. Meta `event_name`

is `Purchase`

. Web events also need `source_url`

.

Store one UTC instant. Convert at the edge: floor(ms/1000) for Meta, `Date.now()`

for OpenAI. Run `pixellint validate json --rulepack vendor/openai-conversions-api`

on the body you POST to bzr.openai.com. One fixture cannot serve both.

Pixellint is not affiliated with OpenAI or Meta. Playground: [pixellint.org](https://pixellint.org/). Pack: [OpenAI Conversions API](https://pixellint.org/packs/openai-conversions-api/).

Original: [OpenAI CAPI is not Meta with a new host](https://pixellint.org/docs/openai-capi-is-not-meta/)
