API

API for decisions around payment and access disputes

Xavionis receives events about payment, retries, access, and support. The API returns a clear action for the situation: APPROVE, REVIEW, ESCALATE, or REJECT.

The API does not process payments, change access by itself, or replace your business logic. It adds a signal that your process can use.

Core idea

Send an event - receive an action for the situation

Your system sends an event: payment, retry, access change, support request, or manual action. Xavionis updates the context and returns the current decision.

one user or case can have several connected events;
the current event matters together with what happened before;
the API response should be clear for product, support, and engineering.

Example request

POST /decision
X-API-Key: your_api_key
Content-Type: application/json

{
  "user_id": "user_1842",
  "case_id": "case_1842",
  "event_type": "retry_attempted",
  "event_status": "succeeded",
  "amount": 1900,
  "currency": "USD",
  "access_state": "inactive"
}
Event flow

The API works with an event chain, not a single status line

A disputed situation often becomes clear only after several events are connected: what happened with payment, what happened with access, whether support was involved, and whether the chain repeated before.

01

Payment

Payment succeeded, failed, repeated, or recovered after retry.

02

Access

Access is active, inactive, not restored, or conflicting with payment.

03

Support

Customer asked, case repeated, or manual review appeared.

04

Decision

The API returns an action that your process can use.

Example response

{
  "case_id": "case_1842",
  "user_id": "user_1842",
  "recommendation": "ESCALATE",
  "suggested_action": "priority_support_review",
  "review_priority": "high",
  "case_severity": "critical",
  "reason_codes": [
    "paid_user_without_access",
    "retry_success_access_not_restored",
    "repeated_support_request"
  ],
  "case_memory": {
    "case_total_events": 4,
    "access_conflicts": 1,
    "support_requests": 2
  }
}
Response

The response should explain what to do next

The numeric value is not the main thing. The team needs to understand which action should happen and why the situation received this status.

recommendationmain action for the situation
suggested_actionwhat should happen in the process
review_priorityhow urgent the review is
reason_codeswhy the API returned this decision
case_memorywhat is already known about this event chain
Decisions

Four actions that can fit into your process

APPROVE

The situation can continue without manual intervention.

REVIEW

Standard review or confirmation is needed.

ESCALATE

Urgent attention from support or an owner is required.

REJECT

Do not treat the situation as normal.

Boundaries

What Xavionis API does not do

Boundaries matter. Xavionis should not interfere where your system or your team should make the final decision.

does not create or process payments;
does not open or close access by itself;
does not replace Stripe, PayPal, or another payment provider;
does not make the final business decision for the customer;
does not require full implementation for Free Replay Check.
Start

Do not start with full integration

First, test Xavionis on 20-50 real disputed situations. If the signal exists, the API can be connected for a clear working scope.