TipsInteractionListResult tips.interaction-list-result@1
Generated at from
openvibe-contracts v0.53.0 and
openvibe-sdk v0.11.0.
- Version
- 1.0.0
- Owner
- tips
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/tips/interaction-list-result.v1.json
tips.interaction-list-result@1: answers of tips.interaction.list on OpenVibe.Tips. GET /api/v1/interactions?creator=&supporter=&include_test=&cursor=&limit= → { interactions, next_cursor }: newest first, at most 200 a page (50 by default); a service names a creator or a supporter (422 tips.invalid_input otherwise); a person gets their own receipts, or with ?as=creator the tips they received. include_test=0 leaves simulations out. GET /api/v1/profiles/:creator/totals → { creator, totals }: derived from settled interactions; settled_via_billing is what must equal Billing's books (minus what Billing took back), external and simulations are reported apart.
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: page
{
"interactions": [
{
"id": "tint_01JAB2C3D4E5F6G7H8J9K0MNQ5",
"creator": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
},
"supporter": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPR"
},
"supporter_name": "moosefan",
"kind": "paid_message",
"amount": 500,
"currency": "vibes-bits",
"message": "Great stream tonight!",
"tts": null,
"media": null,
"goal_id": null,
"funding": "credit",
"settlement": "billing",
"origin": "tips",
"test": false,
"privacy": {
"anonymous": false,
"hide_amount": false,
"private_message": false
},
"public": {
"interaction_id": "tint_01JAB2C3D4E5F6G7H8J9K0MNQ5",
"kind": "paid_message",
"amount": 500,
"amount_hidden": false,
"currency": "vibes-bits",
"settlement": "billing",
"test": false,
"at": "2026-09-25T09:12:41.530Z",
"supporter_name": "moosefan",
"message": "Great stream tonight!",
"tts": null,
"media": null,
"hidden": false
},
"erased_at": null,
"moderation": {
"state": "visible",
"filtered": false,
"at": null
},
"payment": {
"state": "settled",
"billing_txn_id": "txn_01JAB2C3D4E5F6G7H8J9K0MNQ6",
"reversal_txn_ids": [],
"reversed_amount": 0,
"failure": null,
"settled_at": "2026-09-25T09:12:41.530Z",
"reversed_at": null
},
"delivery": {
"state": "delivered",
"delivered_at": "2026-09-25T09:12:43.004Z"
},
"created_at": "2026-09-25T09:12:40.118Z",
"updated_at": "2026-09-25T09:12:43.004Z",
"effects": [
{
"effect": "overlay_alert",
"adapter": "overlay",
"state": "delivered",
"attempts": 1,
"last_error": null,
"updated_at": "2026-09-25T09:12:41.530Z"
},
{
"effect": "paid_message",
"adapter": "live-chat",
"state": "delivered",
"attempts": 1,
"last_error": null,
"updated_at": "2026-09-25T09:12:43.004Z"
}
],
"provider": null,
"provider_ref": null,
"legacy_source": null
}
],
"next_cursor": "WyIyMDI2LTA5LTI1VDA5OjEyOjQwLjExOFoiLCJ0aW50XzAxSkFCMkMzRDRFNUY2RzdIOEo5SzBNTlE1Il0"
}Valid: totals
{
"creator": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
},
"totals": {
"currency": "vibes-bits",
"settled_via_billing": 73500,
"external": 1200,
"interactions": 88,
"simulations": 4,
"pending": 1
}
}Rejected: no-cursor
{
"interactions": []
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('tips.interaction-list-result@1', value); // { valid, errors: [{ path, message }] }