FurniOpsDocs
API referenceMatching

List merges

The organisation's merges, newest first, whoever decided them: matching's rules, its scores, the AI judge or a person. Filter by status or by a product group on either side, to find a merge to undo.

  • Scopesproducts:read
  • Rate classread
GET/v1/merges

The organisation's merges, newest first, whoever decided them: matching's rules, its scores, the AI judge or a person. Filter by status or by a product group on either side, to find a merge to undo.

Authorization

apiKey
AuthorizationBearer <token>

An API key (fo_live_… / fo_test_…) as a bearer token

In: header

Query Parameters

limit?integer

Page size

Range1 <= value <= 100
Default20
starting_after?string

Opaque position returned by a previous page

Match^[A-Za-z0-9_-]{1,512}$
ending_before?string

Opaque position returned by a previous page

Match^[A-Za-z0-9_-]{1,512}$
status?string

Only merges still in force, or only undone ones; both when absent

Value in

  • "active"
  • "undone"
product?string

Only merges that joined this product group, either side

Match^prod_[0-9A-Za-z]{22}$

Header Parameters

FurniOps-Version?string

Dated API version; pinned per organisation on first use and overridable per request

Value in

  • "2026-10-01"
  • "2026-10-04"
FurniOps-Mode?string

The data the request acts on: test is the organisation's sandbox. An OAuth token picks it (live by default); an API key's mode is fixed, and naming the other one is refused

Value in

  • "live"
  • "test"
If-None-Match?string

ETag of a cached representation; a match returns 304

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://example.com/v1/merges"
{  "object": "list",  "data": [    {      "object": "merge",      "id": "string",      "survivor": "string",      "merged": "string",      "variants": [        {          "merged": "string",          "into": "string"        }      ],      "decided_by": {        "method": "deterministic",        "rule": "string",        "actor": "string",        "score": 0,        "confidence": 0      },      "created_at": "2019-08-24T14:15:22Z",      "undone_at": "2019-08-24T14:15:22Z",      "undone_by": {        "method": "deterministic",        "rule": "string",        "actor": "string",        "score": 0,        "confidence": 0      }    }  ],  "has_more": true,  "next_cursor": "string"}