---
title: "Get Event Match Quality"
method: GET
path: "/v1/messaging/ads/conversions/quality"
tags: ["Conversions"]
---

# Get Event Match Quality

`GET /v1/messaging/ads/conversions/quality`

## Request

- Base URL: `https://apihub.co.il`
- URL: `https://apihub.co.il/v1/messaging/ads/conversions/quality`
- Auth: HTTP bearer

Shows how well your server-side conversion events match users, with event match quality and coverage for Meta or Pinterest.

Reads Meta Event Match Quality (EMQ) and pixel↔CAPI event coverage for a
pixel/dataset, live from Meta's Dataset Quality API. Web events only (a
Meta limitation). Other platforms return 405, except Pinterest. Requires the Ads add-on.

Pinterest (`pinterestads`): `destinationId` is the numeric ad account id. Rows come from
Pinterest's Event Quality Score for Conversions API web events over the last 14 days,
one per event name, with each identifier's coverage in `matchKeys` and
`eventCoveragePercentage` set to the tag/API `event_id` overlap. No `compositeScore`.


**Billing:** Read (free unless it says otherwise) · **Rate limit:** 120/min

## Query parameters

- `accountId` string, required: SocialAccount _id (a metaads or pinterestads account).
- `destinationId` string, required: Meta pixel/dataset ID, or the numeric Pinterest ad account id.

## Headers

- `Idempotency-Key` string
- `X-Tag` string

## Response `200`

Completed

- object
  - `id` string: Execution id — stable across internal retries; use it with GET /v1/executions/{id}
  - `status` 'pending' | 'processing' | 'completed' | 'partial' | 'failed' | 'cancelled' | 'timeout'
  - `operation` string
  - `tag` string, nullable: Your X-Tag, if sent
  - `created_at` string, date-time
  - `completed_at` string, date-time, nullable
  - `output` object: Operation result (see each operation). While a Studio render is processing: `stage` (queued · transcribing · downloading · preparing · cleaning_voice · mixing_audio · rendering · finishing), `phase` (the engine's: download · prepare · voice · audio · encode · qa · upload, or null), `progress` (a percent, 0–100) and `progress_fraction` (0–1), `eta_seconds` (seconds left, never below 0) and `estimate_seconds`
    - `rows` object[]
      - `eventName` string
      - `matchKeys` object[]
        - `identifier` string
        - `coveragePercentage` number
      - `compositeScore` number: Composite EMQ score, 0-10.
      - `eventCoveragePercentage` number: Pixel↔CAPI coverage rate for this event.
    - `platform` string
  - `error` string, nullable
  - `usage` object
    - `credits_charged` number, nullable
    - `credits_reserved` number
    - `estimated_credits` number
    - `cost_source` 'provider_reported' | 'calculated' | 'estimated' | 'null', nullable
    - `provider_usage` object, nullable: Normalised consumption, e.g. { VIDEO_SECOND: 22.4 }
  - `balance` object
    - `available` number
    - `reserved` number

## Other responses

- `400`: Invalid input
- `402`: Insufficient credits / project budget
- `404`: Resource not found (or not yours)
- `429`: Rate limited
- `503`: Service temporarily paused

---

[API](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai.md) · [All operations](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/revisions/a8caa42835ce?raw)
