Rressivo
HomeTermsPrivacyAPI

Ressivo API reference

Every action the Ressivo dashboard performs is available over a JSON HTTP API, authenticated with a key you issue yourself. This page documents 77 operations across 14 resource groups, generated from the same OpenAPI description the server validates incoming requests against.

Download the OpenAPI spec (JSON)

Getting started

Base URL

Every path below is relative to:

https://ressivo.com/api

Authentication

Create a key in the dashboard under /dashboard/ressivo?tab=settings&subtab=apikeys, then send it in the apikey header on every request:

curl 'https://ressivo.com/api/users/apikeys' \
  -H 'apikey: YOUR_API_KEY'

Three properties of a key matter before you build against it:

  • A key belongs to one organization. Every request is scoped to that organization's data. There is no cross-organization or account-wide key.
  • A key belongs to one product. A Ressivo key is refused with app_not_allowed on another product's endpoints, and with app_not_enabled if the organization has not enabled Ressivo.
  • A key can be read-only. A read-only key answers GET, HEAD and OPTIONS and returns read_only_key on anything that writes — the safer key to hand to a script or an assistant.

The dashboard authenticates with a session cookie instead, which is why operations below list both schemes. For an integration, the API key is the one you want.

Errors

Errors come back as JSON, with the HTTP status repeated in the body:

{ "statusCode": 403, "code": "read_only_key", "message": "Read-only API key" }
StatusCodeMeaning
400validationThe request body or query does not match the schema.
401unauthorizedNo API key or session, or the key does not exist.
403forbiddenThe key is valid but not allowed to perform this operation.
403read_only_keyA read-only key attempted a write.
403app_not_enabledThe organization does not have this product enabled.
403app_not_allowedThe key belongs to a different product.
404not_foundNo such route, or no such record in this organization.
500internalUnexpected server error.

Model Context Protocol

The same key authenticates an MCP endpoint, so an assistant can drive Ressivo directly instead of composing HTTP calls. It speaks Streamable HTTP and offers the operations below as tools, filtered to what the key is allowed to do:

https://ressivo.com/mcp
Authorization: Bearer YOUR_API_KEY

Reference

77 operations

Ressivo

  • Availability7
  • Bookings4
  • Items4
  • Listings7
  • Onboarding4
  • Public11
  • Reports1
  • Settings6
  • Stripe connect3

Account and platform

  • Auth6
  • Generic1
  • Organizations8
  • Subscriptions7
  • Users8

Ressivo

Availability

get/ressivo/availability

List availability rules

Parameters
NameInTypeRequired
listingIdquerynumberyes
Responses
StatusDescriptionBody
200List of availability rulesRessivoAvailabilityRule[]
Example
curl -X GET 'https://ressivo.com/api/ressivo/availability' \
  -H 'apikey: YOUR_API_KEY'

post/ressivo/availability

Create availability rule

Request body
  • application/json — RessivoAvailabilityInput
Responses
StatusDescriptionBody
201Created availability ruleRessivoAvailabilityRule
Example
curl -X POST 'https://ressivo.com/api/ressivo/availability' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/ressivo/availability

Update availability rule

Request body
  • application/json — RessivoAvailabilityUpdate
Responses
StatusDescriptionBody
200Updated availability ruleRessivoAvailabilityRule
Example
curl -X PUT 'https://ressivo.com/api/ressivo/availability' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

get/ressivo/availability/exceptions

List availability exceptions for a date range

Parameters
NameInTypeRequired
listingIdquerynumberyes
dateFromquerystringyes
dateToquerystringyes
itemIdqueryintegerno
Responses
StatusDescriptionBody
200List of availability exceptionsRessivoAvailabilityException[]
Example
curl -X GET 'https://ressivo.com/api/ressivo/availability/exceptions' \
  -H 'apikey: YOUR_API_KEY'

post/ressivo/availability/exceptions

Toggle a slot exception (disable/re-enable)

Request body
  • application/json — { listingId, exceptionDate, slotTime, reason, itemId }
Responses
StatusDescriptionBody
200Toggled exceptionRessivoAvailabilityException
Example
curl -X POST 'https://ressivo.com/api/ressivo/availability/exceptions' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/ressivo/availability/exceptions

Update exception reason

Request body
  • application/json — { id, reason }
Responses
StatusDescriptionBody
200Updated exceptionRessivoAvailabilityException
Example
curl -X PUT 'https://ressivo.com/api/ressivo/availability/exceptions' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

delete/ressivo/availability/id/{id}

Delete availability rule

Parameters
NameInTypeRequired
idpathnumberyes
Responses
StatusDescriptionBody
204Deleted availability rule
Example
curl -X DELETE 'https://ressivo.com/api/ressivo/availability/id/{id}' \
  -H 'apikey: YOUR_API_KEY'

Bookings

get/ressivo/bookings

List bookings

Parameters
NameInTypeRequired
listingIdquerynumberno
Responses
StatusDescriptionBody
200List of bookingsRessivoBooking[]
403Forbidden{ statusCode, code, message }
Example
curl -X GET 'https://ressivo.com/api/ressivo/bookings' \
  -H 'apikey: YOUR_API_KEY'

post/ressivo/bookings

Create a booking as an admin (bypasses payment)

Request body
  • application/json — RessivoAdminBookingInput
Responses
StatusDescriptionBody
201Booking createdRessivoBooking
400Validation error{ statusCode, code, message }
403Forbidden{ statusCode, code, message }
Example
curl -X POST 'https://ressivo.com/api/ressivo/bookings' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/ressivo/bookings

Update booking status

Request body
  • application/json — RessivoBookingUpdate
Responses
StatusDescriptionBody
200Updated bookingRessivoBooking
403Forbidden{ statusCode, code, message }
Example
curl -X PUT 'https://ressivo.com/api/ressivo/bookings' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

get/ressivo/bookings/{id}

Get booking

Parameters
NameInTypeRequired
listingIdquerynumberno
idpathnumberyes
Responses
StatusDescriptionBody
200BookingRessivoBooking
403Forbidden{ statusCode, code, message }
Example
curl -X GET 'https://ressivo.com/api/ressivo/bookings/{id}' \
  -H 'apikey: YOUR_API_KEY'

Items

get/ressivo/items

List listing items

Parameters
NameInTypeRequired
listingIdquerynumberyes
Responses
StatusDescriptionBody
200List of itemsRessivoItem[]
403Forbidden{ statusCode, code, message }
Example
curl -X GET 'https://ressivo.com/api/ressivo/items' \
  -H 'apikey: YOUR_API_KEY'

post/ressivo/items

Create listing item

Request body
  • application/json — RessivoItemInput
  • multipart/form-data — { listingId, name, description, bookingType, capacityMin, capacityMax, sharedCapacity, pricingMode, pricePerSlot, active, file }
Responses
StatusDescriptionBody
201Created itemRessivoItem
403Forbidden{ statusCode, code, message }
Example
curl -X POST 'https://ressivo.com/api/ressivo/items' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/ressivo/items

Update listing item

Request body
  • application/json — RessivoItemUpdate
  • multipart/form-data — { id, listingId, name, description, bookingType, capacityMin, capacityMax, sharedCapacity, pricingMode, pricePerSlot, active, imageUrl, file }
Responses
StatusDescriptionBody
200Updated itemRessivoItem
403Forbidden{ statusCode, code, message }
Example
curl -X PUT 'https://ressivo.com/api/ressivo/items' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

delete/ressivo/items/id/{id}

Delete listing item

Parameters
NameInTypeRequired
idpathnumberyes
Responses
StatusDescriptionBody
204Deleted item
403Forbidden{ statusCode, code, message }
Example
curl -X DELETE 'https://ressivo.com/api/ressivo/items/id/{id}' \
  -H 'apikey: YOUR_API_KEY'

Listings

get/ressivo/listings

List listings

Responses
StatusDescriptionBody
200List of listingsRessivoListing[]
Example
curl -X GET 'https://ressivo.com/api/ressivo/listings' \
  -H 'apikey: YOUR_API_KEY'

post/ressivo/listings

Create listing

Request body
  • application/json — RessivoListingInput
  • multipart/form-data — { name, tagline, primaryColor, secondaryColor, currency, timezone, contactEmail, cancellationPolicyUrl, refundPolicyUrl, daysOfWeek, startTime, endTime, slotDuration, active, logo, hero }
Responses
StatusDescriptionBody
201Created listingRessivoListing
Example
curl -X POST 'https://ressivo.com/api/ressivo/listings' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/ressivo/listings

Update listing

Request body
  • application/json — RessivoListingUpdate
  • multipart/form-data — { id, name, tagline, primaryColor, secondaryColor, currency, timezone, contactEmail, cancellationPolicyUrl, refundPolicyUrl, daysOfWeek, startTime, endTime, slotDuration, active, logoFilename, logo, hero }
Responses
StatusDescriptionBody
200Updated listingRessivoListing
Example
curl -X PUT 'https://ressivo.com/api/ressivo/listings' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/ressivo/listings/custom-domain

Set or update custom domain on a listing

Request body
  • application/json — { listingId, customDomain }
Responses
StatusDescriptionBody
200Domain set
Example
curl -X PUT 'https://ressivo.com/api/ressivo/listings/custom-domain' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

post/ressivo/listings/custom-domain/verify

Verify DNS for custom domain

Request body
  • application/json — { listingId }
Responses
StatusDescriptionBody
200Verification result
Example
curl -X POST 'https://ressivo.com/api/ressivo/listings/custom-domain/verify' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

delete/ressivo/listings/custom-domain/{id}

Remove custom domain from listing

Parameters
NameInTypeRequired
idpathnumberyes
Responses
StatusDescriptionBody
200Domain removed
Example
curl -X DELETE 'https://ressivo.com/api/ressivo/listings/custom-domain/{id}' \
  -H 'apikey: YOUR_API_KEY'

delete/ressivo/listings/id/{id}

Delete listing

Parameters
NameInTypeRequired
idpathnumberyes
Responses
StatusDescriptionBody
204Deleted
Example
curl -X DELETE 'https://ressivo.com/api/ressivo/listings/id/{id}' \
  -H 'apikey: YOUR_API_KEY'

Onboarding

get/ressivo/onboarding

Get first-run onboarding status

Responses
StatusDescriptionBody
200Onboarding statusRessivoOnboardingStatus
403Forbidden{ statusCode, code, message }
Example
curl -X GET 'https://ressivo.com/api/ressivo/onboarding' \
  -H 'apikey: YOUR_API_KEY'

post/ressivo/onboarding/seed

Apply the sample-data seed for a use case

Request body
  • application/json — RessivoOnboardingSeedInput
Responses
StatusDescriptionBody
200Seed result (idempotent — repeats report alreadySeeded)RessivoOnboardingSeedResult
403Forbidden{ statusCode, code, message }
Example
curl -X POST 'https://ressivo.com/api/ressivo/onboarding/seed' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

delete/ressivo/onboarding/seed

Remove the organization's sample data

Responses
StatusDescriptionBody
200Removal resultRessivoOnboardingRemoveResult
403Forbidden{ statusCode, code, message }
Example
curl -X DELETE 'https://ressivo.com/api/ressivo/onboarding/seed' \
  -H 'apikey: YOUR_API_KEY'

post/ressivo/onboarding/skip

Skip first-run onboarding

Responses
StatusDescriptionBody
200Onboarding status after skippingRessivoOnboardingStatus
403Forbidden{ statusCode, code, message }
Example
curl -X POST 'https://ressivo.com/api/ressivo/onboarding/skip' \
  -H 'apikey: YOUR_API_KEY'

Public

get/ressivo/public/calendar/{token}.ics

iCal feed of a listing's confirmed bookings

Parameters
NameInTypeRequired
tokenpathstringyes
Responses
StatusDescriptionBody
200iCalendar documentstring
Example
curl -X GET 'https://ressivo.com/api/ressivo/public/calendar/{token}.ics' \
  -H 'apikey: YOUR_API_KEY'

get/ressivo/public/resolve-domain

Resolve a custom domain hostname to a listing slug

Parameters
NameInTypeRequired
hostnamequerystringyes
Responses
StatusDescriptionBody
200Resolved slug{ slug }
Example
curl -X GET 'https://ressivo.com/api/ressivo/public/resolve-domain' \
  -H 'apikey: YOUR_API_KEY'

get/ressivo/public/{slug}/availability

List public availability rules

Parameters
NameInTypeRequired
slugpathstringyes
Responses
StatusDescriptionBody
200List of availability rulesRessivoAvailabilityRule[]
Example
curl -X GET 'https://ressivo.com/api/ressivo/public/{slug}/availability' \
  -H 'apikey: YOUR_API_KEY'

get/ressivo/public/{slug}/availability/exceptions

List disabled slot times for a date

Parameters
NameInTypeRequired
slugpathstringyes
datequerystringyes
itemIdqueryintegerno
Responses
StatusDescriptionBody
200Array of disabled slot timesstring[]
Example
curl -X GET 'https://ressivo.com/api/ressivo/public/{slug}/availability/exceptions' \
  -H 'apikey: YOUR_API_KEY'

get/ressivo/public/{slug}/availability/slot-counts

Per-date count of remaining available slots for a listing

Parameters
NameInTypeRequired
slugpathstringyes
dateFromquerystringyes
dateToquerystringyes
itemIdqueryintegerno
Responses
StatusDescriptionBody
200Map of date (YYYY-MM-DD) to remaining-slot countobject
Example
curl -X GET 'https://ressivo.com/api/ressivo/public/{slug}/availability/slot-counts' \
  -H 'apikey: YOUR_API_KEY'

get/ressivo/public/{slug}/availability/slot-occupancy

Summed guest count per slot for an item on one date

Parameters
NameInTypeRequired
slugpathstringyes
datequerystringyes
itemIdqueryintegeryes
Responses
StatusDescriptionBody
200Map of slot time (HH:MM) to summed guest countobject
Example
curl -X GET 'https://ressivo.com/api/ressivo/public/{slug}/availability/slot-occupancy' \
  -H 'apikey: YOUR_API_KEY'

post/ressivo/public/{slug}/bookings

Create a booking and return Stripe checkout

Parameters
NameInTypeRequired
slugpathstringyes
Request body
  • application/json — RessivoPublicBookingInput
Responses
StatusDescriptionBody
201Booking createdRessivoPublicBookingResponse
400Validation error{ statusCode, code, message }
403Forbidden{ statusCode, code, message }
Example
curl -X POST 'https://ressivo.com/api/ressivo/public/{slug}/bookings' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

get/ressivo/public/{slug}/bookings/{id}

Get booking status

Parameters
NameInTypeRequired
slugpathstringyes
idpathnumberyes
Responses
StatusDescriptionBody
200Booking statusRessivoBooking
Example
curl -X GET 'https://ressivo.com/api/ressivo/public/{slug}/bookings/{id}' \
  -H 'apikey: YOUR_API_KEY'

post/ressivo/public/{slug}/bookings/{id}/cancel

Cancel an unpaid booking and release its slots

Parameters
NameInTypeRequired
slugpathstringyes
idpathnumberyes
Responses
StatusDescriptionBody
200Booking cancelled{ id, status }
Example
curl -X POST 'https://ressivo.com/api/ressivo/public/{slug}/bookings/{id}/cancel' \
  -H 'apikey: YOUR_API_KEY'

get/ressivo/public/{slug}/items

List public listing items

Parameters
NameInTypeRequired
slugpathstringyes
Responses
StatusDescriptionBody
200List of itemsRessivoItem[]
Example
curl -X GET 'https://ressivo.com/api/ressivo/public/{slug}/items' \
  -H 'apikey: YOUR_API_KEY'

get/ressivo/public/{slug}/settings

Get public settings

Parameters
NameInTypeRequired
slugpathstringyes
Responses
StatusDescriptionBody
200Public settingsRessivoSettings
Example
curl -X GET 'https://ressivo.com/api/ressivo/public/{slug}/settings' \
  -H 'apikey: YOUR_API_KEY'

Reports

get/ressivo/reports

Booking statistics for a listing and date range

Parameters
NameInTypeRequired
listingIdquerynumberyes
dateFromquerystringyes
dateToquerystringyes
Responses
StatusDescriptionBody
200Aggregated booking statistics{ dateFrom, dateTo, availableSlots, occupancy, totals, byItem, heatmap }
400Validation error{ statusCode, code, message }
Example
curl -X GET 'https://ressivo.com/api/ressivo/reports' \
  -H 'apikey: YOUR_API_KEY'

Settings

get/ressivo/settings

Get Ressivo settings

Parameters
NameInTypeRequired
listingIdquerynumberyes
Responses
StatusDescriptionBody
200Ressivo settingsRessivoSettings
Example
curl -X GET 'https://ressivo.com/api/ressivo/settings' \
  -H 'apikey: YOUR_API_KEY'

put/ressivo/settings/branding

Update branding settings

Request body
  • application/json — ResissvoBrandingInput
  • multipart/form-data — { listingId, tagline, primaryColor, secondaryColor, heroImage, brandingHtml, file }
Responses
StatusDescriptionBody
200Updated settingsRessivoSettings
Example
curl -X PUT 'https://ressivo.com/api/ressivo/settings/branding' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/ressivo/settings/business

Update business details

Request body
  • application/json — RessivoBusinessInput
Responses
StatusDescriptionBody
200Updated settingsRessivoSettings
Example
curl -X PUT 'https://ressivo.com/api/ressivo/settings/business' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

post/ressivo/settings/calendar-token

Regenerate the listing's calendar feed token

Request body
  • application/json — { listingId }
Responses
StatusDescriptionBody
200New calendar token{ calendarToken }
Example
curl -X POST 'https://ressivo.com/api/ressivo/settings/calendar-token' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/ressivo/settings/payment

Update payment settings

Request body
  • application/json — RessivoPaymentInput
Responses
StatusDescriptionBody
200Updated settingsRessivoSettings
Example
curl -X PUT 'https://ressivo.com/api/ressivo/settings/payment' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/ressivo/settings/policies

Update policy settings

Request body
  • application/json — ResissvoPolicyInput
Responses
StatusDescriptionBody
200Updated settingsRessivoSettings
Example
curl -X PUT 'https://ressivo.com/api/ressivo/settings/policies' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Stripe connect

post/ressivo/stripe-connect/create-account

Create a Stripe Connect account for a listing

Request body
  • application/json — { listingId, email }
Responses
StatusDescriptionBody
201Connected account created{ accountId }
Example
curl -X POST 'https://ressivo.com/api/ressivo/stripe-connect/create-account' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

post/ressivo/stripe-connect/onboarding-link

Create an onboarding link for Stripe Connect

Request body
  • application/json — { listingId }
Responses
StatusDescriptionBody
200Onboarding link{ url, expiresAt }
Example
curl -X POST 'https://ressivo.com/api/ressivo/stripe-connect/onboarding-link' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

get/ressivo/stripe-connect/status

Get Stripe Connect account status for a listing

Parameters
NameInTypeRequired
listingIdquerynumberyes
Responses
StatusDescriptionBody
200Stripe Connect status{ connected, accountId, chargesEnabled, detailsSubmitted }
Example
curl -X GET 'https://ressivo.com/api/ressivo/stripe-connect/status' \
  -H 'apikey: YOUR_API_KEY'

Account and platform

Auth

post/auth

Authenticate

Request body
  • application/json — object
Responses
StatusDescriptionBody
204Success.
defaultError{ statusCode, code, message }
Example
curl -X POST 'https://ressivo.com/api/auth' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

post/auth/logout

Logout

Responses
StatusDescriptionBody
204Success.
Example
curl -X POST 'https://ressivo.com/api/auth/logout' \
  -H 'apikey: YOUR_API_KEY'

put/auth/password

Change Password

Request body
  • application/json — { password, newpassword }
Responses
StatusDescriptionBody
204Success.
defaultError{ statusCode, code, message }
Example
curl -X PUT 'https://ressivo.com/api/auth/password' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

post/auth/recover

Request password recovery

Request body
  • application/json — PasswordRecoverRequest
Responses
StatusDescriptionBody
204Success.
defaultError{ statusCode, code, message }
Example
curl -X POST 'https://ressivo.com/api/auth/recover' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

post/auth/recover/confirm

Confirm password recovery

Request body
  • application/json — PasswordRecoverConfirm
Responses
StatusDescriptionBody
204Success.
defaultError{ statusCode, code, message }
Example
curl -X POST 'https://ressivo.com/api/auth/recover/confirm' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

get/auth/user

Authentication

Responses
StatusDescriptionBody
200Auth data{ id, name, type, organizations, organizationId, apps }
defaultError{ statusCode, code, message }
Example
curl -X GET 'https://ressivo.com/api/auth/user' \
  -H 'apikey: YOUR_API_KEY'

Generic

get/generic/countries

Get countries

Responses
StatusDescriptionBody
200Countries information list.Country[]
defaultError{ statusCode, code, message }
Example
curl -X GET 'https://ressivo.com/api/generic/countries' \
  -H 'apikey: YOUR_API_KEY'

Organizations

get/organizations

Get organization

Responses
StatusDescriptionBody
200Organization information.Organization
defaultError{ statusCode, code, message }
Example
curl -X GET 'https://ressivo.com/api/organizations' \
  -H 'apikey: YOUR_API_KEY'

post/organizations

Create organization

Request body
  • application/json — { name, taxNumber, email, password, address, key, app }
Responses
StatusDescriptionBody
201Organization information.Organization
defaultError{ statusCode, code, message }
Example
curl -X POST 'https://ressivo.com/api/organizations' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/organizations

Update organization

Request body
  • application/json — { id, name, taxNumber, email, address }
Responses
StatusDescriptionBody
200Organization information.Organization
defaultError{ statusCode, code, message }
Example
curl -X PUT 'https://ressivo.com/api/organizations' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

get/organizations/all

Get all organizations (superadmin only)

Parameters
NameInTypeRequired
searchquerystringno
limitqueryintegerno
Responses
StatusDescriptionBody
200Organization list{ id, name, email, taxNumber }[]
Example
curl -X GET 'https://ressivo.com/api/organizations/all' \
  -H 'apikey: YOUR_API_KEY'

get/organizations/configuration

Get organization configuration

Responses
StatusDescriptionBody
200Organization configuration.{ organizationId, atUsername, atPassword }
defaultError{ statusCode, code, message }
Example
curl -X GET 'https://ressivo.com/api/organizations/configuration' \
  -H 'apikey: YOUR_API_KEY'

put/organizations/configuration

Update organization configuration

Request body
  • application/json — { atUsername, atPassword }
Responses
StatusDescriptionBody
200Organization configuration.{ organizationId, atUsername, atPassword }
defaultError{ statusCode, code, message }
Example
curl -X PUT 'https://ressivo.com/api/organizations/configuration' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/organizations/logo

Update organization logo

Request body
  • multipart/form-data — { file }
Responses
StatusDescriptionBody
200Organization information.Organization
defaultError{ statusCode, code, message }
Example
curl -X PUT 'https://ressivo.com/api/organizations/logo' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

delete/organizations/{id}

Delete organization

Parameters
NameInTypeRequired
idpathnumberyes
Responses
StatusDescriptionBody
204Success.
defaultError{ statusCode, code, message }
Example
curl -X DELETE 'https://ressivo.com/api/organizations/{id}' \
  -H 'apikey: YOUR_API_KEY'

Subscriptions

post/subscriptions

Create subscription

Request body
  • application/json — { app, name }
Responses
StatusDescriptionBody
201Subscription information.{ id, paymentStripeId, paymentURL }
defaultError{ statusCode, code, message }
Example
curl -X POST 'https://ressivo.com/api/subscriptions' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

get/subscriptions/app-plans

Get active app plans for organizations

Parameters
NameInTypeRequired
appquerystringyes
Responses
StatusDescriptionBody
200List of active plans for the appPlan[]
defaultError
Example
curl -X GET 'https://ressivo.com/api/subscriptions/app-plans' \
  -H 'apikey: YOUR_API_KEY'

post/subscriptions/organization/{id}/cancel

Cancel organization subscription at period end

Parameters
NameInTypeRequired
idpathintegeryes
Responses
StatusDescriptionBody
204Subscription cancellation scheduled
Example
curl -X POST 'https://ressivo.com/api/subscriptions/organization/{id}/cancel' \
  -H 'apikey: YOUR_API_KEY'

post/subscriptions/organization/{id}/change-plan

Change organization subscription plan

Parameters
NameInTypeRequired
idpathintegeryes
Request body
  • application/json — { planId }
Responses
StatusDescriptionBody
204Subscription updated
Example
curl -X POST 'https://ressivo.com/api/subscriptions/organization/{id}/change-plan' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

post/subscriptions/organization/{id}/resume

Resume organization subscription cancellation

Parameters
NameInTypeRequired
idpathintegeryes
Responses
StatusDescriptionBody
204Subscription resumed
Example
curl -X POST 'https://ressivo.com/api/subscriptions/organization/{id}/resume' \
  -H 'apikey: YOUR_API_KEY'

get/subscriptions/public/app-plans

Get public app plans

Parameters
NameInTypeRequired
appquerystringyes
Responses
StatusDescriptionBody
200List of active plans for the appPlan[]
defaultError
Example
curl -X GET 'https://ressivo.com/api/subscriptions/public/app-plans' \
  -H 'apikey: YOUR_API_KEY'

get/subscriptions/{app}

Get subscription

Parameters
NameInTypeRequired
apppathstringyes
Responses
StatusDescriptionBody
200Subscription meta information.Subscription
defaultError{ statusCode, code, message }
Example
curl -X GET 'https://ressivo.com/api/subscriptions/{app}' \
  -H 'apikey: YOUR_API_KEY'

Users

get/users

Get users

Responses
StatusDescriptionBody
200User information.User[]
defaultError{ statusCode, code, message }
Example
curl -X GET 'https://ressivo.com/api/users' \
  -H 'apikey: YOUR_API_KEY'

post/users

Create user

Request body
  • application/json — { name, username, password }
Responses
StatusDescriptionBody
201User information.User
defaultError{ statusCode, code, message }
Example
curl -X POST 'https://ressivo.com/api/users' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/users

Update user

Request body
  • application/json — { id, name, username, password }
Responses
StatusDescriptionBody
200User information.User
defaultError{ statusCode, code, message }
Example
curl -X PUT 'https://ressivo.com/api/users' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

get/users/apikeys

Get user api keys

Responses
StatusDescriptionBody
200The keys of the app the caller is authenticated for. A key belongs to one app and the other apps never see it. APIKey[]
defaultError{ statusCode, code, message }
Example
curl -X GET 'https://ressivo.com/api/users/apikeys' \
  -H 'apikey: YOUR_API_KEY'

post/users/apikeys

Create user api key

Request body
  • application/json — { name, readOnly }
Responses
StatusDescriptionBody
201User API Key information.APIKey
defaultError{ statusCode, code, message }
Example
curl -X POST 'https://ressivo.com/api/users/apikeys' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

put/users/apikeys

Update user api key

Request body
  • application/json — { id, name }
Responses
StatusDescriptionBody
200User API Key information.APIKey
defaultError{ statusCode, code, message }
Example
curl -X PUT 'https://ressivo.com/api/users/apikeys' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

delete/users/apikeys/{id}

Delete user api key

Parameters
NameInTypeRequired
idpathnumberyes
Responses
StatusDescriptionBody
204Success.
defaultError{ statusCode, code, message }
Example
curl -X DELETE 'https://ressivo.com/api/users/apikeys/{id}' \
  -H 'apikey: YOUR_API_KEY'

delete/users/{id}

Delete user

Parameters
NameInTypeRequired
idpathnumberyes
Responses
StatusDescriptionBody
204Success.
defaultError{ statusCode, code, message }
Example
curl -X DELETE 'https://ressivo.com/api/users/{id}' \
  -H 'apikey: YOUR_API_KEY'