# Grove Consented Data Purchase

> Grove Consented Data Purchase is a paid API for AI agents from grove.g-datalabs.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-18).

Purchase a consented dataset offer from the Grove data marketplace by submitting an offer ID, license acceptance, and payment.

## Facts

- Endpoint: POST https://grove.g-datalabs.com/api/data-purchase
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/grove-consented-data-purchase-a9257fdc
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_UFtemw0_fRxWHj7a44Xg4

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability grove-consented-data-purchase-a9257fdc -d '<json body>'
```

Example prompt: I got an offer ID from a Grove data contributor — can you purchase that dataset for me? The offer ID is 'offer-abc-123', I accept the license, and the license hash is 'sha256-def456'.

## When to prefer this

Use this endpoint when you have a specific consented data offer ID obtained directly from a contributor or the Grove catalog and need to complete a licensed, payment-gated data purchase. It is purpose-built for the Grove marketplace's one-purchase-per-offer model with USDC micropayment settlement. Prefer this over generic data APIs when data provenance, consent, and licensing compliance are required.

## Known failure modes

- Invalid or expired offer ID returns an error indicating the offer is not found or no longer active
- Missing or incorrect licenseHash causes rejection of the purchase request
- acceptLicense not set to true results in a validation error blocking the transaction
- Insufficient funds or wrong buyer wallet causes payment failure
- Attempting to purchase the same offer twice is blocked as only one purchase per offer is allowed
- Offer not enabled by its owner/contributor returns an access denied or unavailable error

## How this service works

Grove consented-data pilot delivery. Requires an owner-enabled offer query parameter, the agreed license hash, and payment from its named buyer wallet. 25 data templates and 12 use types. One purchase per offer, 0.01 USDC to Grove Shared Fund. No personal records are exposed in discovery. Obtain an offer from its contributor before paying.

## Output

Returns a JSON object containing the dataset output, license details (terms, hash, acceptance record), payment confirmation metadata, and a service identifier ('grove-consented-data') confirming the transaction completed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "offer",
      "acceptLicense",
      "licenseHash"
     ],
     "properties": {
      "offer": {
       "type": "string",
       "description": "Offer ID from the public catalog at https://grove.g-datalabs.com/api/data-offers or directly from its contributor."
      },
      "licenseHash": {
       "type": "string"
      },
      "acceptLicense": {
       "type": "boolean",
       "const": true
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST",
      "PUT",
      "PATCH"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "service",
      "license",
      "output",
      "payment"
     ],
     "properties": {
      "output": {
       "type": "object"
      },
      "license": {
       "type": "object"
      },
      "payment": {
       "type": "object"
      },
      "service": {
       "const": "grove-consented-data"
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/grove-consented-data-purchase-a9257fdc/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from grove.g-datalabs.com](https://www.zero.xyz/host/grove.g-datalabs.com/llms.txt)
