TrieOH
Univents

Problems

Every RFC 9457 problem Univents can answer, by status.

Every Univents error is an application/problem+json body: type, status, title, detail and instance are always present, plus errors: [{ field, message }] when request fields are at fault. A problem's type is {API_URL}/problems/{slug}, which the API itself serves as documentation. Branch on the slug at the end of type, not on title or detail. The members listed below a problem are its own, on top of the standard ones.

400

Attendee Email Unknown

attendee-email-unknown — Attendee email does not match an account.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/attendee-email-unknown",
  "status": 400,
  "title": "Attendee Email Unknown",
  "detail": "…",
  "instance": "/…"
}

Attendee User Mismatch

attendee-user-mismatch — Attendee user_id does not match the email.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/attendee-user-mismatch",
  "status": 400,
  "title": "Attendee User Mismatch",
  "detail": "…",
  "instance": "/…"
}

Batch Failed

batch-failed — Some items of a batch failed; each is answered as its own problem.

MemberTypeDescription
itemsobject[]
application/problem+json
{
  "type": "https://api.univents.com.br/problems/batch-failed",
  "status": 400,
  "title": "Batch Failed",
  "detail": "…",
  "instance": "/…",
  "items": []
}

Card Token Required

card-token-required — Card_token is required for card payments.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/card-token-required",
  "status": 400,
  "title": "Card Token Required",
  "detail": "…",
  "instance": "/…"
}

Check In Not Checkpoint

check-in-not-checkpoint — Check-in is only for checkpoint occurrences.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/check-in-not-checkpoint",
  "status": 400,
  "title": "Check In Not Checkpoint",
  "detail": "…",
  "instance": "/…"
}

Duplicate Product Line

duplicate-product-line — Duplicate product line.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/duplicate-product-line",
  "status": 400,
  "title": "Duplicate Product Line",
  "detail": "…",
  "instance": "/…"
}

Duplicate Program Line

duplicate-program-line — Duplicate program line.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/duplicate-program-line",
  "status": 400,
  "title": "Duplicate Program Line",
  "detail": "…",
  "instance": "/…"
}

Edition Already Published

edition-already-published — Edition is already published.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/edition-already-published",
  "status": 400,
  "title": "Edition Already Published",
  "detail": "…",
  "instance": "/…"
}

Edition Not Published

edition-not-published — Edition is not published.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/edition-not-published",
  "status": 400,
  "title": "Edition Not Published",
  "detail": "…",
  "instance": "/…"
}

Event Not Active

event-not-active — Cannot discontinue non active event.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/event-not-active",
  "status": 400,
  "title": "Event Not Active",
  "detail": "…",
  "instance": "/…"
}

Event Not Draft

event-not-draft — Cannot publish non draft event.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/event-not-draft",
  "status": 400,
  "title": "Event Not Draft",
  "detail": "…",
  "instance": "/…"
}

Free Order Refund

free-order-refund — Purchase has no payment intent (free order) and cannot be refunded.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/free-order-refund",
  "status": 400,
  "title": "Free Order Refund",
  "detail": "…",
  "instance": "/…"
}

Installments Below One

installments-below-one — Installments must be at least 1.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/installments-below-one",
  "status": 400,
  "title": "Installments Below One",
  "detail": "…",
  "instance": "/…"
}

Invalid Badge Origin

invalid-badge-origin — Origin must be null or "staff".

application/problem+json
{
  "type": "https://api.univents.com.br/problems/invalid-badge-origin",
  "status": 400,
  "title": "Invalid Badge Origin",
  "detail": "…",
  "instance": "/…"
}

Invalid Design Data

invalid-design-data — Invalid design_data.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/invalid-design-data",
  "status": 400,
  "title": "Invalid Design Data",
  "detail": "…",
  "instance": "/…"
}

invalid-gallery-urls — Invalid gallery_urls.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/invalid-gallery-urls",
  "status": 400,
  "title": "Invalid Gallery URLs",
  "detail": "…",
  "instance": "/…"
}

Invalid Item Type

invalid-item-type — Invalid item_type.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/invalid-item-type",
  "status": 400,
  "title": "Invalid Item Type",
  "detail": "…",
  "instance": "/…"
}

Invalid Payment Method

invalid-payment-method — Invalid payment_method.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/invalid-payment-method",
  "status": 400,
  "title": "Invalid Payment Method",
  "detail": "…",
  "instance": "/…"
}

Invalid Payssage Webhook Signature

invalid-payssage-webhook-signature — Invalid webhook signature.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/invalid-payssage-webhook-signature",
  "status": 400,
  "title": "Invalid Payssage Webhook Signature",
  "detail": "…",
  "instance": "/…"
}

Invalid Request

invalid-request — Invalid request.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/invalid-request",
  "status": 400,
  "title": "Invalid Request",
  "detail": "…",
  "instance": "/…"
}

Item Not In Edition

item-not-in-edition — Item does not belong to this edition.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/item-not-in-edition",
  "status": 400,
  "title": "Item Not In Edition",
  "detail": "…",
  "instance": "/…"
}

No Items

no-items — Checkout requires at least one item.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/no-items",
  "status": 400,
  "title": "No Items",
  "detail": "…",
  "instance": "/…"
}

No Payment Config

no-payment-config — Event has no payment config.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/no-payment-config",
  "status": 400,
  "title": "No Payment Config",
  "detail": "…",
  "instance": "/…"
}

One Ticket Per Person

one-ticket-per-person — Only one ticket per person.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/one-ticket-per-person",
  "status": 400,
  "title": "One Ticket Per Person",
  "detail": "…",
  "instance": "/…"
}

Payment Method ID Required

payment-method-id-required — Payment_method_id is required for card payments.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/payment-method-id-required",
  "status": 400,
  "title": "Payment Method ID Required",
  "detail": "…",
  "instance": "/…"
}

Payment Rejected

payment-rejected — The payment provider refused the payment.

MemberTypeDescription
messagestringThe provider's reason.
application/problem+json
{
  "type": "https://api.univents.com.br/problems/payment-rejected",
  "status": 400,
  "title": "Payment Rejected",
  "detail": "…",
  "instance": "/…",
  "message": "…"
}

Program Needs Ticket

program-needs-ticket — Program items require a ticket item.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/program-needs-ticket",
  "status": 400,
  "title": "Program Needs Ticket",
  "detail": "…",
  "instance": "/…"
}

Program Needs Ticket In Cart

program-needs-ticket-in-cart — Program items require a ticket item in the same cart.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/program-needs-ticket-in-cart",
  "status": 400,
  "title": "Program Needs Ticket In Cart",
  "detail": "…",
  "instance": "/…"
}

Program Quantity

program-quantity — Program lines are one session per purchase (quantity must be 1).

application/problem+json
{
  "type": "https://api.univents.com.br/problems/program-quantity",
  "status": 400,
  "title": "Program Quantity",
  "detail": "…",
  "instance": "/…"
}

Quantity Below One

quantity-below-one — Item quantity must be at least 1.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/quantity-below-one",
  "status": 400,
  "title": "Quantity Below One",
  "detail": "…",
  "instance": "/…"
}

Seller Not In Platform Wallet

seller-not-in-platform-wallet — Seller does not belong to the platform payssage wallet.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/seller-not-in-platform-wallet",
  "status": 400,
  "title": "Seller Not In Platform Wallet",
  "detail": "…",
  "instance": "/…"
}

Staff Template With Ticket Type

staff-template-with-ticket-type — A staff badge template cannot target a ticket type.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/staff-template-with-ticket-type",
  "status": 400,
  "title": "Staff Template With Ticket Type",
  "detail": "…",
  "instance": "/…"
}

Ticket Needs Attendee

ticket-needs-attendee — Ticket lines require an attendee.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/ticket-needs-attendee",
  "status": 400,
  "title": "Ticket Needs Attendee",
  "detail": "…",
  "instance": "/…"
}

Ticket Needs Attendee Email

ticket-needs-attendee-email — Ticket lines require an attendee email.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/ticket-needs-attendee-email",
  "status": 400,
  "title": "Ticket Needs Attendee Email",
  "detail": "…",
  "instance": "/…"
}

Ticket Quantity

ticket-quantity — Ticket lines are one per person (quantity must be 1).

application/problem+json
{
  "type": "https://api.univents.com.br/problems/ticket-quantity",
  "status": 400,
  "title": "Ticket Quantity",
  "detail": "…",
  "instance": "/…"
}

Unknown Item

unknown-item — Unknown item.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/unknown-item",
  "status": 400,
  "title": "Unknown Item",
  "detail": "…",
  "instance": "/…"
}

Validation Failed

validation — The request is malformed or breaks a rule; `errors` names the offending fields.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/validation",
  "status": 400,
  "title": "Validation Failed",
  "detail": "…",
  "instance": "/…"
}

401

API Keys Not Accepted

api-keys-not-accepted — This API takes bearer tokens only, not API keys.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/api-keys-not-accepted",
  "status": 401,
  "title": "API Keys Not Accepted",
  "detail": "…",
  "instance": "/…"
}

Email Not Verified

email-not-verified — The caller must verify their email address first.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/email-not-verified",
  "status": 401,
  "title": "Email Not Verified",
  "detail": "…",
  "instance": "/…"
}

Invalid API Key

invalid-api-key — The API key is unknown, malformed or revoked.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/invalid-api-key",
  "status": 401,
  "title": "Invalid API Key",
  "detail": "…",
  "instance": "/…"
}

Invalid Token

invalid-token — The bearer token does not parse, its signature or issuer is wrong, or it is not valid yet.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/invalid-token",
  "status": 401,
  "title": "Invalid Token",
  "detail": "…",
  "instance": "/…"
}

Token Expired

token-expired — The bearer token has expired; refresh it and retry.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/token-expired",
  "status": 401,
  "title": "Token Expired",
  "detail": "…",
  "instance": "/…"
}

Unauthenticated

unauthenticated — The request carries no credentials: no bearer token and no API key where the operation needs one.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/unauthenticated",
  "status": 401,
  "title": "Unauthenticated",
  "detail": "…",
  "instance": "/…"
}

403

Access Level

access-level — The caller's ticket level does not grant access.

MemberTypeDescription
kindstringWhat was refused: activity or checkpoint.
application/problem+json
{
  "type": "https://api.univents.com.br/problems/access-level",
  "status": 403,
  "title": "Access Level",
  "detail": "…",
  "instance": "/…",
  "kind": "…"
}

Insufficient Role

insufficient-role — The caller's role does not allow the operation.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/insufficient-role",
  "status": 403,
  "title": "Insufficient Role",
  "detail": "…",
  "instance": "/…"
}

Invalid Signature Token

invalid-signature-token — Invalid or expired token.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/invalid-signature-token",
  "status": 403,
  "title": "Invalid Signature Token",
  "detail": "…",
  "instance": "/…"
}

Ticket Required For Activity

ticket-required-for-activity — A confirmed ticket is required to register for activities.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/ticket-required-for-activity",
  "status": 403,
  "title": "Ticket Required For Activity",
  "detail": "…",
  "instance": "/…"
}

Ticket Required For Checkpoint

ticket-required-for-checkpoint — A confirmed ticket is required to pass this checkpoint.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/ticket-required-for-checkpoint",
  "status": 403,
  "title": "Ticket Required For Checkpoint",
  "detail": "…",
  "instance": "/…"
}

Token Request Edition Mismatch

token-request-edition-mismatch — Token does not match request edition.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/token-request-edition-mismatch",
  "status": 403,
  "title": "Token Request Edition Mismatch",
  "detail": "…",
  "instance": "/…"
}

Token Signature Edition Mismatch

token-signature-edition-mismatch — Token does not match signature edition.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/token-signature-edition-mismatch",
  "status": 403,
  "title": "Token Signature Edition Mismatch",
  "detail": "…",
  "instance": "/…"
}

404

Not Found

not-found — The requested resource does not exist.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/not-found",
  "status": 404,
  "title": "Not Found",
  "detail": "…",
  "instance": "/…"
}

Not Registered

not-registered — You are not registered for this activity.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/not-registered",
  "status": 404,
  "title": "Not Registered",
  "detail": "…",
  "instance": "/…"
}

Signature Request Completed

signature-request-completed — Signature request not found or already completed.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/signature-request-completed",
  "status": 404,
  "title": "Signature Request Completed",
  "detail": "…",
  "instance": "/…"
}

Signature Request Handled

signature-request-handled — Signature request not found or already handled.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/signature-request-handled",
  "status": 404,
  "title": "Signature Request Handled",
  "detail": "…",
  "instance": "/…"
}

409

Already Refunded

already-refunded — Purchase already refunded.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/already-refunded",
  "status": 409,
  "title": "Already Refunded",
  "detail": "…",
  "instance": "/…"
}

Already Registered

already-registered — You are already registered for this activity.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/already-registered",
  "status": 409,
  "title": "Already Registered",
  "detail": "…",
  "instance": "/…"
}

Badge Emitted

badge-emitted — This person already has a badge for this edition and origin.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/badge-emitted",
  "status": 409,
  "title": "Badge Emitted",
  "detail": "…",
  "instance": "/…"
}

Badge Template Scope Taken

badge-template-scope-taken — This edition already has a template for this scope (default, ticket type, or staff).

application/problem+json
{
  "type": "https://api.univents.com.br/problems/badge-template-scope-taken",
  "status": 409,
  "title": "Badge Template Scope Taken",
  "detail": "…",
  "instance": "/…"
}

Edition Overlap

edition-overlap — This edition's dates overlap with another edition of the same event.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/edition-overlap",
  "status": 409,
  "title": "Edition Overlap",
  "detail": "…",
  "instance": "/…"
}

Idempotency Key Used

idempotency-key-used — This idempotency key has already been used.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/idempotency-key-used",
  "status": 409,
  "title": "Idempotency Key Used",
  "detail": "…",
  "instance": "/…"
}

Items Unavailable

items-unavailable — Some items are no longer available.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/items-unavailable",
  "status": 409,
  "title": "Items Unavailable",
  "detail": "…",
  "instance": "/…"
}

Occurrence Full

occurrence-full — This activity occurrence is full.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/occurrence-full",
  "status": 409,
  "title": "Occurrence Full",
  "detail": "…",
  "instance": "/…"
}

Occurrence Registration Taken

occurrence-registration-taken — This person is already registered for this activity occurrence.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/occurrence-registration-taken",
  "status": 409,
  "title": "Occurrence Registration Taken",
  "detail": "…",
  "instance": "/…"
}

Participation Cancelled

participation-cancelled — Cannot mark attendance: participation was cancelled.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/participation-cancelled",
  "status": 409,
  "title": "Participation Cancelled",
  "detail": "…",
  "instance": "/…"
}

Pending Purchase Exists

pending-purchase-exists — This person already has a pending purchase for this edition.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/pending-purchase-exists",
  "status": 409,
  "title": "Pending Purchase Exists",
  "detail": "…",
  "instance": "/…"
}

Person Has Ticket

person-has-ticket — This person already has a ticket for this edition.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/person-has-ticket",
  "status": 409,
  "title": "Person Has Ticket",
  "detail": "…",
  "instance": "/…"
}

Product Code Taken

product-code-taken — A product with this vendor code already exists in this edition.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/product-code-taken",
  "status": 409,
  "title": "Product Code Taken",
  "detail": "…",
  "instance": "/…"
}

Product Line In Purchase

product-line-in-purchase — This product is already in this purchase.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/product-line-in-purchase",
  "status": 409,
  "title": "Product Line In Purchase",
  "detail": "…",
  "instance": "/…"
}

Program Line In Purchase

program-line-in-purchase — This program occurrence is already in this purchase.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/program-line-in-purchase",
  "status": 409,
  "title": "Program Line In Purchase",
  "detail": "…",
  "instance": "/…"
}

Purchase Status

purchase-status — The purchase's status does not allow a refund.

MemberTypeDescription
purchase_statusstringThe purchase's current status.
application/problem+json
{
  "type": "https://api.univents.com.br/problems/purchase-status",
  "status": 409,
  "title": "Purchase Status",
  "detail": "…",
  "instance": "/…",
  "purchase_status": "…"
}

Registration Locked

registration-locked — Registration is locked: attendance has been marked.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/registration-locked",
  "status": 409,
  "title": "Registration Locked",
  "detail": "…",
  "instance": "/…"
}

Signature Request Not Pending

signature-request-not-pending — Signature request is no longer pending.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/signature-request-not-pending",
  "status": 409,
  "title": "Signature Request Not Pending",
  "detail": "…",
  "instance": "/…"
}

Ticket Held

ticket-held — This person already has a ticket for this edition.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/ticket-held",
  "status": 409,
  "title": "Ticket Held",
  "detail": "…",
  "instance": "/…"
}

Ticket Unit In Purchase

ticket-unit-in-purchase — This ticket is already in this purchase for this person.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/ticket-unit-in-purchase",
  "status": 409,
  "title": "Ticket Unit In Purchase",
  "detail": "…",
  "instance": "/…"
}

Variant Code Taken

variant-code-taken — A product variant with this vendor code already exists in this edition.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/variant-code-taken",
  "status": 409,
  "title": "Variant Code Taken",
  "detail": "…",
  "instance": "/…"
}

WS Token Issued

ws-token-issued — This webhook token has already been issued.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/ws-token-issued",
  "status": 409,
  "title": "WS Token Issued",
  "detail": "…",
  "instance": "/…"
}

429

Too Many Requests

rate-limited — The caller exceeded the rate limit; retry later.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/rate-limited",
  "status": 429,
  "title": "Too Many Requests",
  "detail": "…",
  "instance": "/…"
}

500

Internal Server Error

internal-server-error — The server failed unexpectedly. The cause is logged, never returned.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/internal-server-error",
  "status": 500,
  "title": "Internal Server Error",
  "detail": "Internal Server Error",
  "instance": "/…"
}

503

Identity Unavailable

identity-unavailable — IdentityX could not be reached to check the API key; retry later.

application/problem+json
{
  "type": "https://api.univents.com.br/problems/identity-unavailable",
  "status": 503,
  "title": "Identity Unavailable",
  "detail": "…",
  "instance": "/…"
}