Cello Events API
The Events API from Cello — 1 operation(s) for events.
The Events API from Cello — 1 operation(s) for events.
openapi: 3.1.0
info:
title: Cello Events API
description: API for Cello referral platform
license:
name: MIT
version: 1.0.0
servers:
- url: https://api.cello.so
- url: https://api.sandbox.cello.so
security:
- bearerAuth: []
tags:
- name: Events
paths:
/events:
post:
description: Report referral-related events such as signups, purchases, and refunds.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EventEnvelope'
examples:
new-signup:
value:
eventName: ReferralUpdated
payload:
ucc: cello-ucc
newUserId: new-user-product-id
price: 0
currency: ''
context:
newUser:
id: new-user-id
email: new_user@gmail.com
name: New user name
organizationId: org-123
event:
trigger: new-signup
timestamp: '2022-10-05T14:14:34Z'
invoice-paid:
value:
eventName: ReferralUpdated
payload:
ucc: cello-ucc
newUserId: new-user-id
price: 100
currency: EUR
context:
newUser:
id: new-user-id
email: new_user@gmail.com
organizationId: org-123
event:
trigger: invoice-paid
timestamp: '2022-10-05T14:14:34Z'
subscription:
id: sub-xyz
invoiceId: inv-abc
interval: monthly
seatsUsed: 1
productKey: Pro Plan
charge-refunded:
value:
eventName: ReferralUpdated
payload:
ucc: cello-ucc
newUserId: new-user-product-user-id
price: 1000
currency: EUR
context:
newUser:
id: new-user-product-user-id
email: new-user@gmail.com
organizationId: new-user-organization-id
event:
trigger: charge-refunded
timestamp: '2022-10-05 14:14:34'
subscription:
id: 845739hjsd8342i34
invoiceId: 34hsjdh34jfksd
demo-call-attended:
value:
eventName: ReferralUpdated
payload:
ucc: cello-ucc
newUserId: product-user-id
context:
newUser:
id: new-user-product-user-id
email: new_user@gmail.com
name: New user name
organizationId: new-user-organization-id
event:
trigger: demo-call-attended
timestamp: '2022-10-05 14:14:34'
responses:
'200':
description: Event accepted
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example:
success: true
'400':
description: Malformed or invalid data
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- bearerAuth: []
tags:
- Events
components:
schemas:
EventContext:
type: object
properties:
event:
type: object
properties:
trigger:
type: string
enum:
- new-signup
- demo-call-attended
- invoice-paid
- charge-refunded
timestamp:
type: string
format: date-time
required:
- trigger
- timestamp
newUser:
type: object
properties:
id:
type: string
email:
type: string
format: email
name:
type: string
organizationId:
type: string
subscription:
type: object
properties:
id:
type: string
invoiceId:
type: string
interval:
type: string
enum:
- one-time
- weekly
- bi-weekly
- monthly
- quarterly
- semi-annual
- yearly
- biennial
- triennial
- lifetime
seatsUsed:
type: integer
productKey:
type: string
EventEnvelope:
type: object
required:
- eventName
- payload
- context
properties:
eventName:
type: string
enum:
- ReferralUpdated
payload:
$ref: '#/components/schemas/EventPayload'
context:
$ref: '#/components/schemas/EventContext'
Error:
type: object
required:
- message
properties:
message:
type: string
EventPayload:
type: object
required:
- ucc
- newUserId
properties:
ucc:
type: string
newUserId:
type: string
price:
type: number
currency:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
x-mint.mcp.enabled: true