Error envelope
{"error":{"code":"VALIDATION_ERROR","message":"…","request_id":"…"}}Validation errors return 400 for invalid values and 422 for missing required fields. X-Request-Id correlates requests.
Costa Rica personal finance comparison platform.
The private FastAPI service exposes versioned routes under /api/v1/. Requests and responses use JSON unless a media type below says otherwise. Download the generated OpenAPI 3.1 contract.
{"error":{"code":"VALIDATION_ERROR","message":"…","request_id":"…"}}Validation errors return 400 for invalid values and 422 for missing required fields. X-Request-Id correlates requests.
FastAPI applies a per-process, per-client-IP sliding window of 60 requests per 60 seconds. Responses carry X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset. Excess requests return 429. Separate user/admin tiers and Redis counters are deferred.
Browsers call Next.js route handlers at relative /api/… paths. The handlers and server components call the private API using INTERNAL_API_URL. Public web pages never expose that internal hostname to client components.
/api/v1/admin/** requires HTTP Basic authentication with ADMIN_USERNAME and ADMIN_PASSWORD. Missing configuration returns 503; absent or incorrect credentials return 401 with a Basic challenge. The web middleware independently protects editor pages and proxies.
Draft Users, Alerts, Saved Comparisons and Documents are deferred. Account mutations return 401 stubs. Document routes describe the intended surface, but the production product repository does not implement document reads. These routes do not imply a working document service.
/api/v1/admin/articles/{article_id}Update Article| Name (* required) | Location | Type | Description |
|---|---|---|---|
article_id * | path | string |
ArticleUpdateBody: object
| Field (* required) | Type | Description |
|---|---|---|
title | string | null | |
slug | string | null | |
body_md | string | null | |
excerpt | string | null | |
summary | string | null | |
image_url | string | null | |
author | string | null | |
published_at | string | null | |
tags | array<string> | null | |
related_product_ids | array<string> | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/articles/{article_id}/statusUpdate Article Status| Name (* required) | Location | Type | Description |
|---|---|---|---|
article_id * | path | string |
ArticleStatusBody: object
| Field (* required) | Type | Description |
|---|---|---|
status * | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/articlesList Articles Adminunknown
/api/v1/admin/articlesCreate ArticleArticleCreateBody: object
| Field (* required) | Type | Description |
|---|---|---|
title * | string | |
slug | string | null | |
vertical | string | |
body_md | string | null | |
excerpt | string | null | |
summary | string | null | |
image_url | string | null | |
author | string | |
published_at | string | null | |
status | string | |
tags | array<string> | |
related_product_ids | array<string> |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/guides/{guide_id}Update Guide| Name (* required) | Location | Type | Description |
|---|---|---|---|
guide_id * | path | string |
GuideUpdateBody: object
| Field (* required) | Type | Description |
|---|---|---|
title | string | null | |
cluster_id | string | null | |
slug | string | null | |
summary | string | null | |
body_md | string | null | |
author | string | null | |
published_at | string | null | |
order_in_cluster | integer | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/guides/{guide_id}/statusUpdate Guide Status| Name (* required) | Location | Type | Description |
|---|---|---|---|
guide_id * | path | string |
GuideStatusBody: object
| Field (* required) | Type | Description |
|---|---|---|
status * | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/guides/clusters/{cluster_id}/deactivateDeactivate Cluster Not Implementedguide_clusters has no is_active column — deactivation is not implementable.
| Name (* required) | Location | Type | Description |
|---|---|---|---|
cluster_id * | path | string |
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
unknown
/api/v1/admin/guides/clusters/{cluster_id}Update Cluster| Name (* required) | Location | Type | Description |
|---|---|---|---|
cluster_id * | path | string |
ClusterUpdateBody: object
| Field (* required) | Type | Description |
|---|---|---|
title | string | null | |
description | string | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/guides/clustersList Clusters Adminunknown
/api/v1/admin/guides/clustersCreate Cluster Not ImplementedCreating clusters requires a DDL migration — not available at runtime.
unknown
/api/v1/admin/guidesList Guides Adminunknown
/api/v1/admin/guides/journeys/{journey_id}Delete Journey| Name (* required) | Location | Type | Description |
|---|---|---|---|
journey_id * | path | string |
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/guides/journeys/{journey_id}Get Journey Admin| Name (* required) | Location | Type | Description |
|---|---|---|---|
journey_id * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/guides/journeys/{journey_id}Update Journey| Name (* required) | Location | Type | Description |
|---|---|---|---|
journey_id * | path | string |
JourneyUpdateBody: object
| Field (* required) | Type | Description |
|---|---|---|
title | string | null | |
description | string | null | |
end_cta_kind | string | null | |
end_cta_label | string | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/guides/journeys/{journey_id}/stepsReplace Journey Steps| Name (* required) | Location | Type | Description |
|---|---|---|---|
journey_id * | path | string |
array<JourneyStepEntry: object>
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/guides/journeysList Journeys Adminunknown
/api/v1/admin/guides/journeysCreate JourneyJourneyCreateBody: object
| Field (* required) | Type | Description |
|---|---|---|
title * | string | |
slug * | string | |
end_cta_kind * | string | |
end_cta_label * | string | |
description | string | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/guidesCreate GuideGuideCreateBody: object
| Field (* required) | Type | Description |
|---|---|---|
title * | string | |
cluster_id * | string | |
slug | string | null | |
summary | string | null | |
body_md | string | null | |
author | string | |
status | string | |
published_at | string | null | |
order_in_cluster | integer |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/issuers/{issuer_id}/deactivateDeactivate Issuer| Name (* required) | Location | Type | Description |
|---|---|---|---|
issuer_id * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/issuers/{issuer_id}Get Issuer| Name (* required) | Location | Type | Description |
|---|---|---|---|
issuer_id * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/issuers/{issuer_id}Update Issuer| Name (* required) | Location | Type | Description |
|---|---|---|---|
issuer_id * | path | string |
IssuerUpdateBody: object
| Field (* required) | Type | Description |
|---|---|---|
name | string | null | |
short_name | string | null | |
vertical | string | null | |
logo_url | string | null | |
website_url | string | null | |
is_active | boolean | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/issuersList Issuersunknown
/api/v1/admin/issuersCreate IssuerIssuerCreateBody: object
| Field (* required) | Type | Description |
|---|---|---|
id * | string | |
name * | string | |
short_name * | string | |
vertical | string | null | |
logo_url | string | null | |
website_url | string | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/offers/{offer_id}/deactivateDeactivate Offer| Name (* required) | Location | Type | Description |
|---|---|---|---|
offer_id * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/offers/{offer_id}Update Offer| Name (* required) | Location | Type | Description |
|---|---|---|---|
offer_id * | path | string |
OfferUpdateBody: object
| Field (* required) | Type | Description |
|---|---|---|
headline | string | null | |
terms_snippet | string | null | |
bonus_crc | number | null | |
intro_apr_pct | number | null | |
intro_period_months | integer | null | |
active_from | string | null | |
active_until | string | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/offersList Offers Adminunknown
/api/v1/admin/offersCreate OfferOfferCreateBody: object
| Field (* required) | Type | Description |
|---|---|---|
product_id * | string | |
headline * | string | |
terms_snippet | string | null | |
bonus_crc | number | null | |
intro_apr_pct | number | null | |
intro_period_months | integer | null | |
active_from | string | null | |
active_until | string | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/products/tarjetas/{product_id}Get Credit Card| Name (* required) | Location | Type | Description |
|---|---|---|---|
product_id * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/products/tarjetas/{product_id}Update Credit Card| Name (* required) | Location | Type | Description |
|---|---|---|---|
product_id * | path | string |
CreditCardUpdateBody: object
| Field (* required) | Type | Description |
|---|---|---|
product_name | string | null | |
issuer_id | string | null | |
network | string | null | |
annual_fee_crc | number | null | |
annual_fee_waivable | boolean | null | |
interest_rate_annual_pct | number | null | |
min_income_crc | number | null | |
reward_type | string | null | |
cashback_rate_pct | number | null | |
currency | string | null | |
benefits_summary | string | null | |
editorial_score | integer | null | |
editorial_summary | string | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/products/tarjetas/{product_id}/statusUpdate Product Status| Name (* required) | Location | Type | Description |
|---|---|---|---|
product_id * | path | string |
StatusUpdateBody: object
| Field (* required) | Type | Description |
|---|---|---|
status * | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/products/tarjetasList Credit Cardsunknown
/api/v1/admin/products/tarjetasCreate Credit CardCreditCardCreateBody: object
| Field (* required) | Type | Description |
|---|---|---|
product_name * | string | |
issuer_id * | string | |
network * | string | |
status | string | null | |
annual_fee_crc | number | null | |
annual_fee_waivable | boolean | |
interest_rate_annual_pct | number | null | |
min_income_crc | number | null | |
reward_type | string | |
cashback_rate_pct | number | null | |
currency | string | |
benefits_summary | string | null | |
editorial_score | integer | null | |
editorial_summary | string | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/products/tarjetas/{product_id}/reviewGet Review For Admin| Name (* required) | Location | Type | Description |
|---|---|---|---|
product_id * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/products/tarjetas/{product_id}/reviewUpdate Review| Name (* required) | Location | Type | Description |
|---|---|---|---|
product_id * | path | string |
ReviewUpdateBody: object
| Field (* required) | Type | Description |
|---|---|---|
pros | array<string> | null | |
cons | array<string> | null | |
best_use_case | string | null | |
review_body_md | string | null | |
author | string | null | |
published_at | string | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/products/tarjetas/{product_id}/reviewUpsert Review| Name (* required) | Location | Type | Description |
|---|---|---|---|
product_id * | path | string |
ReviewUpsertBody: object
| Field (* required) | Type | Description |
|---|---|---|
pros | array<string> | null | |
cons | array<string> | null | |
best_use_case | string | null | |
review_body_md | string | null | |
author | string | null | |
published_at | string | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/products/tarjetas/{product_id}/review/statusUpdate Review Status| Name (* required) | Location | Type | Description |
|---|---|---|---|
product_id * | path | string |
ReviewStatusBody: object
| Field (* required) | Type | Description |
|---|---|---|
status * | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/alerts/{alert_id}Delete Alert| Name (* required) | Location | Type | Description |
|---|---|---|---|
alert_id * | path | string |
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/alertsList Alertsunknown
/api/v1/alertsCreate Alertunknown
/api/v1/articles/{vertical}/{slug}Get Article By Slug| Name (* required) | Location | Type | Description |
|---|---|---|---|
vertical * | path | VerticalSlug: "tarjetas" | "fondos-pension" | "credito-hipotecario" | |
slug * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/articles/for-product/{product_id}List Articles For Product| Name (* required) | Location | Type | Description |
|---|---|---|---|
product_id * | path | string | |
limit | query | integer |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/articlesList Articles| Name (* required) | Location | Type | Description |
|---|---|---|---|
vertical * | query | VerticalSlug: "tarjetas" | "fondos-pension" | "credito-hipotecario" | |
tag | query | ArticleTag: "promociones" | "guias" | "noticias" | "comparativas" | "tips" | null | |
page | query | integer | |
page_size | query | integer |
ArticleListResponse: object
| Field (* required) | Type | Description |
|---|---|---|
data * | array<Article: object> | |
meta * | ArticleListMeta: object |
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/articles/latestList Latest Articles| Name (* required) | Location | Type | Description |
|---|---|---|---|
vertical * | query | VerticalSlug: "tarjetas" | "fondos-pension" | "credito-hipotecario" | |
limit | query | integer |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/compareCompare ProductsCompareBody: object
| Field (* required) | Type | Description |
|---|---|---|
vertical * | VerticalSlug: "tarjetas" | "fondos-pension" | "credito-hipotecario" | |
ids * | array<string> |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/documents/{document_id}/downloadDownload Document| Name (* required) | Location | Type | Description |
|---|---|---|---|
document_id * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/documents/{document_id}Get Document| Name (* required) | Location | Type | Description |
|---|---|---|---|
document_id * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/documentsList Documents| Name (* required) | Location | Type | Description |
|---|---|---|---|
vertical | query | string | null | |
issuer_id | query | string | null | |
document_type | query | string | null | |
access_level | query | string | null | |
is_current_version | query | boolean | null | |
page | query | integer | |
page_size | query | integer |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/documentsCreate DocumentUpload a new document. Requires editor role (Clerk auth — stubbed 401).
unknown
/api/v1/fx/bcrGet Bcr RateReturn the platform BCR reference exchange rate (CRC per USD). Used by the FEAT-007 calculator's cross-currency annotation only. Sourced from BCR (Banco Central de Costa Rica). For v1 the rate is a static constant; a daily rate-sync job replaces it in a follow-up.
BcrRateOut: object
| Field (* required) | Type | Description |
|---|---|---|
rate_crc_per_usd * | number | |
effective_date * | string |
/api/v1/guides/{slug}Get Guide By Slug| Name (* required) | Location | Type | Description |
|---|---|---|---|
slug * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/guides/clustersList Clustersunknown
/api/v1/guidesList Guides| Name (* required) | Location | Type | Description |
|---|---|---|---|
cluster | query | GuideClusterId: "empezando" | "eligiendo" | "usando" | "resolviendo-problemas" | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/guides/journeys/{slug}Get Journey By Slug| Name (* required) | Location | Type | Description |
|---|---|---|---|
slug * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/guides/journeysList Journeysunknown
/api/v1/health Health Handlerunknown
/health Health Handlerunknown
/api/v1/admin/deletion-requests/{request_id}/processAdmin Process Deletion Request| Name (* required) | Location | Type | Description |
|---|---|---|---|
request_id * | path | string |
object
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/deletion-requestsAdmin List Deletion Requestsunknown
/api/v1/admin/leads/{lead_id}/anonymizeAdmin Anonymize Lead| Name (* required) | Location | Type | Description |
|---|---|---|---|
lead_id * | path | string |
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/leads/{lead_id}Admin Get Lead| Name (* required) | Location | Type | Description |
|---|---|---|---|
lead_id * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/leads/{lead_id}Admin Patch Lead| Name (* required) | Location | Type | Description |
|---|---|---|---|
lead_id * | path | string |
LeadPatchPayload: object
| Field (* required) | Type | Description |
|---|---|---|
status | LeadStatus: "new" | "contacted" | "converted" | "discarded" | null | |
notes | string | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/admin/leadsAdmin List Leads| Name (* required) | Location | Type | Description |
|---|---|---|---|
status | query | LeadStatus: "new" | "contacted" | "converted" | "discarded" | null | |
vertical | query | string | null | |
page | query | integer | |
page_size | query | integer |
LeadListResponse: object
| Field (* required) | Type | Description |
|---|---|---|
data * | array<Lead: object> | |
meta * | LeadListMeta: object |
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/leads/deletion-requestSubmit Deletion RequestAnti-enumeration: response is always 202 with the same generic message regardless of whether the email matches any lead. Email shape validation (the 400/422 path) is handled by Pydantic — only a syntactically-bad email returns an error to the submitter.
DeletionRequestPayload: object
| Field (* required) | Type | Description |
|---|---|---|
email * | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/leadsSubmit LeadPersist the lead + consent record. PII safety: nothing about payload.name / payload.email is ever logged.
| Name (* required) | Location | Type | Description |
|---|---|---|---|
urza_session_id | cookie | string | null |
LeadSubmissionPayload: object
| Field (* required) | Type | Description |
|---|---|---|
name * | string | |
email * | string | |
vertical * | "tarjetas" | "fondos-pension" | "credito-hipotecario" | |
product_id * | string | |
product_name * | string | |
source_surface * | "dashboard" | "catalogo" | "comparacion" | "detalle" | "finder" | "wizard" | "articulo" | "guia" | |
consent_granted * | boolean | |
policy_version * | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/cta-eventsPost Cta Event| Name (* required) | Location | Type | Description |
|---|---|---|---|
urza_session_id | cookie | string | null |
CtaEventSubmitPayload: object
| Field (* required) | Type | Description |
|---|---|---|
product_id * | string | |
vertical * | string | |
source_surface * | CtaSourceSurface: "dashboard" | "catalogo" | "comparacion" | "detalle" | "finder" | "wizard" | "articulo" | "guia" | |
event_type * | CtaEventType: "impression" | "click" | "form_open" | "form_open_failed" | |
metadata | object | null |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/offers/{product_id}Get Offer For Product| Name (* required) | Location | Type | Description |
|---|---|---|---|
product_id * | path | string |
unknown
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/products/{vertical}/{id}Get Product| Name (* required) | Location | Type | Description |
|---|---|---|---|
vertical * | path | string | |
id * | path | string |
object
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/products/{vertical}List Products| Name (* required) | Location | Type | Description |
|---|---|---|---|
vertical * | path | string | |
cursor | query | string | null | |
limit | query | integer | |
issuer | query | array<string> | null | |
status | query | string | null | |
currency | query | string | null | |
max_fee_crc | query | number | null | |
network | query | array<string> | null | |
reward_type | query | array<string> | null | |
has_travel_benefits | query | boolean | null | |
q | query | string | null | |
fund_type | query | string | null | |
rate_type | query | string | null | |
sort | query | string | null | |
sort_dir | query | string | null |
ProductListResponse: object
| Field (* required) | Type | Description |
|---|---|---|
data * | array<unknown> | |
meta * | ProductListMeta: object |
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/products/{vertical}/issuersList Issuers| Name (* required) | Location | Type | Description |
|---|---|---|---|
vertical * | path | string |
IssuerListResponse: object
| Field (* required) | Type | Description |
|---|---|---|
data * | array<Issuer: object> |
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/comparisons/{comparison_id}Delete Saved Comparison| Name (* required) | Location | Type | Description |
|---|---|---|---|
comparison_id * | path | string |
HTTPValidationError: object
| Field (* required) | Type | Description |
|---|---|---|
detail | array<ValidationError: object> |
/api/v1/comparisonsList Saved Comparisonsunknown
/api/v1/comparisonsSave Comparisonunknown
/api/v1/users/accountDelete Accountunknown
/api/v1/users/exportExport Dataunknown
/api/v1/users/profileGet Profileunknown
/api/v1/users/profilePatch Profileunknown