CouponsLookupResult coupons.lookup-result@1

Generated at from openvibe-contracts v0.53.0 and openvibe-sdk v0.11.0.

Version
1.0.0
Owner
coupons
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/coupons/lookup-result.v1.json

coupons.lookup-result@1: answers of coupons.coupon.lookup on OpenVibe.Coupons (public, anonymous allowed, cacheable: the same bytes for every caller). GET /api/v1/merchants/:id/coupons → { merchant, coupons } (the active codes); GET /api/v1/merchants/:id → { merchant }; GET /api/v1/coupons/:id → { coupon, merchant }. Inactive merchants and unpublished or disabled codes are 404.

Fields

FieldTypeRequiredDescriptionConstraints
merchantcoupons.merchantyes
couponscoupons.coupon
  • maxItems 200
couponcoupons.coupon

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: merchant-codes
{
  "merchant": {
    "id": "mer_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "slug": "example-shoes",
    "name": "Example Shoes",
    "homepage_url": "https://shoes.example.com/",
    "url": "https://openvibe.coupons/m/example-shoes",
    "domains": [
      {
        "host": "shoes.example.com",
        "include_subdomains": true,
        "path_prefix": null
      }
    ],
    "active_codes": 2,
    "hints": [
      "Enter the code in the Promo field at checkout."
    ]
  },
  "coupons": [
    {
      "id": "cpn_01JAB2C3D4E5F6G7H8J9K0MNPR",
      "merchant_id": "mer_01JAB2C3D4E5F6G7H8J9K0MNPQ",
      "code": "FALL15",
      "title": "15% off sneakers",
      "description": null,
      "status": "reported_working",
      "active": true,
      "confidence": 0.82,
      "reports": {
        "worked": 9,
        "failed": 1,
        "window_days": 30,
        "last_report_at": "2026-09-25T17:00:00.000Z",
        "last_worked_at": "2026-09-25T17:00:00.000Z",
        "last_failed_at": "2026-09-20T09:00:00.000Z"
      },
      "expiry": {
        "known": true,
        "expires_at": "2026-10-31T23:59:59.999Z",
        "precision": "date",
        "basis": "evidence"
      },
      "restrictions": [
        {
          "kind": "min_spend",
          "amount": "$50.00",
          "amount_minor": 5000,
          "currency": "USD"
        },
        {
          "kind": "new_customers_only"
        }
      ],
      "hints": [],
      "evidence": [
        {
          "kind": "page",
          "url": "https://shoes.example.com/fall-sale",
          "merchant_page": true
        }
      ],
      "origin": "member",
      "created_at": "2026-09-20T09:00:00.000Z",
      "updated_at": "2026-09-25T17:03:00.000Z",
      "expired_at": null,
      "url": "https://openvibe.coupons/c/cpn_01JAB2C3D4E5F6G7H8J9K0MNPR"
    }
  ]
}
Rejected: no-merchant
{
  "coupons": []
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('coupons.lookup-result@1', value);   // { valid, errors: [{ path, message }] }