{"openapi":"3.0.3","info":{"title":"Transferfix Public API","version":"1.0.0","description":"Public API for programmatic integrations based on API key. Create payment accounts, list active aliases, query payment status, inspect collector accounts, and retrieve payments or settlements. Internal webhooks are documented separately and are not part of the public reference."},"servers":[{"url":"https://transferfix.com.ar","description":"Canonical public base URL"}],"tags":[{"name":"Accounts","description":"Create and inspect collector payment accounts."},{"name":"Reporting","description":"Query payments and settlements."},{"name":"Alias usability","description":"Server-owned alias sequencing, usage lookup, idempotent creation and alias reuse. Additive endpoints so collectors do not keep their own counter."}],"security":[{"ApiKeyHeader":[]},{"BearerAuth":[]}],"paths":{"/api/v2/accounts":{"post":{"tags":["Accounts"],"summary":"Create payment account","operationId":"createPaymentAccount","description":"Creates a payment account using the configured credentials for the company associated with the API key. Returns account_id, alias and account number. The alias is resolved by priority: explicit `alias` → `alias_strategy:\"sequence\"` (server allocates the next number) → derived from `order_reference` (default). Send an `Idempotency-Key` header to make retries safe, and `metadata` is echoed back verbatim in the webhook.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Optional. Replays the prior create with the same key instead of creating a duplicate account."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccountRequest"},"examples":{"basic":{"value":{"customer_email":"comprador@ejemplo.com","customer_name":"Juan Perez","total_amount":12500,"currency":"ARS","order_reference":"ENTRADA-00142"}}}}}},"responses":{"200":{"description":"Payment account created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAccountSuccessResponse"},"examples":{"success":{"value":{"success":true,"message":"Payment account created successfully","data":{"account_id":42,"cucuru_account_number":"0000277800000000560490","cucuru_alias":"pianta.entrada-0014","customer_email":"comprador@ejemplo.com","total_amount":12500,"currency":"ARS","status":"pending"}}}}}}},"400":{"description":"Missing or invalid fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"missing_fields":{"value":{"success":false,"error":"Missing required fields","missing_fields":["customer_email","total_amount","currency"]}},"short_reference":{"value":{"success":false,"error":"Missing required fields","missing_fields":["customer_id too short (min 6 chars). Provide a longer order_reference."]}}}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"invalid_api_key":{"value":{"success":false,"error":"Invalid API key"}}}}}},"409":{"description":"Alias already registered for this collector.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictResponse"},"examples":{"alias_in_use":{"value":{"success":false,"error_code":"alias_in_use","error":"Alias \"pianta.vip.0042\" is already registered for this collector","existing_account":{"alias":"pianta.vip.0042","account_number":"0000277800000000560490","account_id":42,"status":"CREATED","amount_paid":0,"total_amount":12500,"currency":"ARS","in_use":false}}}}}}},"500":{"description":"Internal error while processing the payment or saving the account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"configuration_missing":{"value":{"success":false,"error":"Company configuration not found. Please set up your collection credentials in the admin portal."}}}}}}}}},"/api/v2/accounts/aliases":{"get":{"tags":["Accounts"],"summary":"List active aliases","operationId":"listActiveAliases","description":"Returns all collector accounts with active alias. The worker paginates internally until EOF and filters out deleted accounts or accounts without alias.","responses":{"200":{"description":"Active aliases list.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AliasListResponse"},"examples":{"success":{"value":{"success":true,"data":{"accounts":[{"account_number":"0000277800000000560470","customer_id":"pianta.demo.0002","alias":"pianta.demo.0002"},{"account_number":"0000277800000000560471","customer_id":"pianta.demo.0001","alias":"pianta.demo.0001"}]}}}}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal error while querying the bank network.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v2/accounts/status":{"get":{"tags":["Accounts"],"summary":"Get account status","operationId":"getAccountStatus","description":"Returns the operational payment state stored in PaymentAccounts. Send account_id or account_number. The modern API-key flow should confirm business actions when status reaches PAID.","parameters":[{"name":"account_id","in":"query","required":false,"schema":{"type":"integer","format":"int32"},"description":"Internal Transferfix account identifier. Recommended."},{"name":"account_number","in":"query","required":false,"schema":{"type":"string"},"description":"account number (CVU). Use when account_id is not available."}],"responses":{"200":{"description":"Current account state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountStatusResponse"},"examples":{"created":{"value":{"success":true,"data":{"id":42,"cucuru_customer_id":"pianta.entrada-0014","cucuru_account_number":"0000277800000000560490","cucuru_alias":"pianta.entrada-0014","customer_email":"comprador@ejemplo.com","currency":"ARS","total_amount":12500,"amount_paid":0,"status":"CREATED","created_at":"2026-03-09 18:40:01","updated_at":"2026-03-09 18:40:01"}}},"paid":{"value":{"success":true,"data":{"id":42,"cucuru_customer_id":"pianta.entrada-0014","cucuru_account_number":"0000277800000000560490","cucuru_alias":"pianta.entrada-0014","customer_email":"comprador@ejemplo.com","currency":"ARS","total_amount":12500,"amount_paid":12500,"status":"PAID","created_at":"2026-03-09 18:40:01","updated_at":"2026-03-09 18:48:10"}}}}}}},"400":{"description":"Neither account_id nor account_number was provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"missing_identifier":{"value":{"success":false,"error":"Missing required fields","missing_fields":["Either account_id or account_number is required"]}}}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Account was not found or another internal error happened.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"not_found":{"value":{"success":false,"error":"Account not found"}}}}}}}}},"/api/v2/accounts/{account_number}":{"get":{"tags":["Accounts"],"summary":"Get account detail","operationId":"getAccountDetail","description":"Queries the current account detail directly at the bank using the collector credentials associated with the API key.","parameters":[{"name":"account_number","in":"path","required":true,"schema":{"type":"string"},"description":"account number (CVU)."}],"responses":{"200":{"description":"Current account detail.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDetailResponse"},"examples":{"success":{"value":{"success":true,"data":{"account":{"account_number":"0000277800000000195553","customer_id":"pianta.demo.0001","alias":"pianta.demo.0001","email":null,"on_received":"accept"}}}}}}}},"400":{"description":"Missing account_number in path.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal error while querying the bank network.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Alias usability"],"summary":"Update account (amount/email/metadata)","operationId":"updateAccount","description":"Updates mutable fields of an existing account — typically the next order on a recycled alias. Send any subset of total_amount, customer_email, metadata. If customer_email changes, the bank is synced best-effort in the background.","parameters":[{"name":"account_number","in":"path","required":true,"schema":{"type":"string"},"description":"account number (CVU)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountUpdateRequest"},"examples":{"basic":{"value":{"total_amount":9000,"customer_email":"next@buyer.com"}}}}}},"responses":{"200":{"description":"Updated, usage-aware account view.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AliasUsageResponse"}}}},"400":{"description":"No updatable fields provided or invalid amount.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Account not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v2/payments":{"get":{"tags":["Reporting"],"summary":"List payments","operationId":"listPayments","description":"Queries collector payments for a date range. The worker paginates internally until EOF and returns the complete result set.","parameters":[{"name":"date_from","in":"query","required":true,"schema":{"type":"string","example":"2026-03-01T00:00:00"},"description":"Range start. Format: yyyy-MM-ddTHH:mm:ss."},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","example":"2026-03-09T23:59:59"},"description":"Range end. Format: yyyy-MM-ddTHH:mm:ss."},{"name":"customer_id","in":"query","required":false,"schema":{"type":"string"},"description":"Optional filter by alias/customer_id."}],"responses":{"200":{"description":"Payments list.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentsResponse"},"examples":{"success":{"value":{"success":true,"data":{"payments":[{"collection_id":"COL-2026-00142","collection_trace_id":"TR-00001","date_time":"2026-03-05T14:22:10","business_date":"2026-03-05","customer_id":"pianta.demo.0001","amount":12500,"currency_id":"ARS","status":"settlement","customer_name":"Juan Perez","customer_tax_id":"20123456780","customer_account":"0000012345678901234567","customer_bank_name":"Banco Galicia","collection_account":"0000277800000000195553"}],"total":1}}}}}}},"400":{"description":"Missing date range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal error while querying the bank network.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v2/settlements":{"get":{"tags":["Reporting"],"summary":"List settlements","operationId":"listSettlements","description":"Queries collector settlements for a date range. The worker paginates internally until EOF and returns the full result set.","parameters":[{"name":"date_from","in":"query","required":true,"schema":{"type":"string","example":"2026-03-01T00:00:00"},"description":"Range start. Format: yyyy-MM-ddTHH:mm:ss."},{"name":"date_to","in":"query","required":true,"schema":{"type":"string","example":"2026-03-09T23:59:59"},"description":"Range end. Format: yyyy-MM-ddTHH:mm:ss."}],"responses":{"200":{"description":"Settlements list.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementsResponse"},"examples":{"success":{"value":{"success":true,"data":{"settlements":[{"settlement_id":"SET-2026-00015","date_time":"2026-03-05T18:10:00","amount":112500,"currency_id":"ARS","sender_account":"0000277800000000195553","sender_name":"TRANSFERFIX","sender_tax_id":"30000000001","receiver_account":"0000277800000000088201","receiver_name":"COMERCIO DEMO S.A.","receiver_tax_id":"30000000002"}],"total":1}}}}}}},"400":{"description":"Missing date range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal error while querying the bank network.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v2/aliases/next":{"get":{"tags":["Alias usability"],"summary":"Peek next sequence number","operationId":"getNextAliasNumber","description":"Returns the next sequential alias number for a series WITHOUT consuming it. To actually allocate, call POST /api/v2/accounts with alias_strategy=\"sequence\". Server-owned — collectors no longer keep their own counter.","parameters":[{"name":"series","in":"query","required":false,"schema":{"type":"string"},"description":"Sequence bucket (e.g. per event). Omit for the default series."}],"responses":{"200":{"description":"Next number plus the preview alias.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AliasNextResponse"},"examples":{"success":{"value":{"success":true,"data":{"series":"vip","next_number":43,"preview_alias":"pianta.vip.0043"}}}}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v2/aliases/canonicalize":{"get":{"tags":["Alias usability"],"summary":"Preview canonical alias","operationId":"canonicalizeAlias","description":"Returns the exact alias POST /api/v2/accounts would produce for an order_reference (or validates an explicit alias), plus whether it is already in use. Lets you predict and check an alias before creating.","parameters":[{"name":"order_reference","in":"query","required":false,"schema":{"type":"string"},"description":"Reference to canonicalize. Provide this or alias."},{"name":"alias","in":"query","required":false,"schema":{"type":"string"},"description":"Explicit alias to validate. Provide this or order_reference."}],"responses":{"200":{"description":"Canonical alias and usage state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanonicalizeResponse"},"examples":{"success":{"value":{"success":true,"data":{"input":{"order_reference":"ENTRADA-ROCK-2024-00142"},"alias":"pianta.entrada-rock-","valid":true,"length":20,"in_use":false}}}}}}},"400":{"description":"Neither order_reference nor alias provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v2/accounts/aliases/{alias}":{"get":{"tags":["Alias usability"],"summary":"Look up account by alias (is it used?)","operationId":"getAccountByAlias","description":"Company-scoped lookup by the alias string. Answers \"has this alias already been paid/used?\" via in_use + status. Returns 404 if the collector has no account for that alias.","parameters":[{"name":"alias","in":"path","required":true,"schema":{"type":"string"},"description":"The alias to look up."}],"responses":{"200":{"description":"Usage-aware account view.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AliasUsageResponse"},"examples":{"success":{"value":{"success":true,"data":{"alias":"pianta.vip.0042","account_number":"0000277800000000560490","account_id":42,"status":"PAID","amount_paid":12500,"total_amount":12500,"currency":"ARS","in_use":true,"last_payment_at":"2026-06-19T18:40:01Z","order_reference":"ENTRADA-00142","created_at":"2026-06-19 18:39:00","updated_at":"2026-06-19 18:40:01"}}}}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No account for that alias under this collector.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v2/accounts/{account_number}/reset":{"post":{"tags":["Alias usability"],"summary":"Recycle alias for reuse","operationId":"resetAccount","description":"Frees a paid alias back to a CREATED state (amount_paid 0, email cleared) so it can be reused for a new order WITHOUT creating a new account. The account and alias persist; payment history is kept.","parameters":[{"name":"account_number","in":"path","required":true,"schema":{"type":"string"},"description":"account number (CVU)."}],"responses":{"200":{"description":"Account reset for reuse.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AliasUsageResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Account not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Preferred authentication method for Transferfix integrations."},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key","description":"Alternative authentication method. The bearer token is your Transferfix API key."}},"schemas":{"ErrorResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"},"missing_fields":{"type":"array","items":{"type":"string"}}},"required":["success","error"]},"CreateAccountRequest":{"type":"object","properties":{"customer_email":{"type":"string","format":"email"},"customer_name":{"type":"string"},"total_amount":{"type":"number"},"currency":{"type":"string","example":"ARS"},"order_reference":{"type":"string"},"alias":{"type":"string","description":"Explicit alias (overrides derivation from order_reference). 6-20 chars in [a-z0-9.-]."},"alias_strategy":{"type":"string","enum":["sequence"],"description":"Set to \"sequence\" to let the server atomically allocate the next alias number."},"series":{"type":"string","description":"Sequence bucket, used only with alias_strategy=\"sequence\". Omit for the default series."},"metadata":{"type":"object","additionalProperties":true}},"required":["customer_email","total_amount","currency"]},"CreateAccountSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"message":{"type":"string"},"data":{"type":"object","properties":{"account_id":{"type":"integer","format":"int32"},"cucuru_account_number":{"type":"string"},"cucuru_alias":{"type":"string"},"customer_email":{"type":"string","format":"email"},"total_amount":{"type":"number"},"currency":{"type":"string"},"status":{"type":"string","enum":["pending"]}},"required":["account_id","cucuru_account_number","cucuru_alias","customer_email","total_amount","currency","status"]}},"required":["success","message","data"]},"AliasListResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","properties":{"account_number":{"type":"string"},"customer_id":{"type":"string"},"alias":{"type":"string"},"account_id":{"type":"integer","format":"int32","nullable":true},"status":{"type":"string","nullable":true},"in_use":{"type":"boolean"},"amount_paid":{"type":"number","nullable":true},"total_amount":{"type":"number","nullable":true},"last_payment_at":{"type":"string","nullable":true}},"required":["account_number","customer_id","alias"]}}},"required":["accounts"]}},"required":["success","data"]},"AccountStatusResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"cucuru_customer_id":{"type":"string"},"cucuru_account_number":{"type":"string"},"cucuru_alias":{"type":"string"},"customer_email":{"type":"string","format":"email"},"currency":{"type":"string"},"total_amount":{"type":"number"},"amount_paid":{"type":"number"},"status":{"type":"string","enum":["CREATED","PARTIALLY_PAID","PAID","COMPLETED"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","cucuru_customer_id","cucuru_account_number","cucuru_alias","customer_email","currency","total_amount","amount_paid","status","created_at","updated_at"]}},"required":["success","data"]},"AccountDetailResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"account":{"type":"object","properties":{"account_number":{"type":"string"},"customer_id":{"type":"string"},"alias":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"on_received":{"type":"string","enum":["accept","reject"]}},"required":["account_number","customer_id","alias","email","on_received"]}},"required":["account"]}},"required":["success","data"]},"PaymentsResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"payments":{"type":"array","items":{"type":"object","properties":{"collection_id":{"type":"string"},"collection_trace_id":{"type":"string"},"date_time":{"type":"string"},"business_date":{"type":"string"},"customer_id":{"type":"string"},"amount":{"type":"number"},"currency_id":{"type":"string"},"status":{"type":"string"},"customer_name":{"type":"string","nullable":true},"customer_tax_id":{"type":"string","nullable":true},"customer_account":{"type":"string","nullable":true},"customer_bank_name":{"type":"string","nullable":true},"collection_account":{"type":"string","nullable":true}},"required":["collection_id","collection_trace_id","date_time","business_date","customer_id","amount","currency_id","status","customer_name","customer_tax_id","customer_account","customer_bank_name","collection_account"]}},"total":{"type":"integer","format":"int32"}},"required":["payments","total"]}},"required":["success","data"]},"SettlementsResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"settlements":{"type":"array","items":{"type":"object","properties":{"settlement_id":{"type":"string"},"date_time":{"type":"string"},"amount":{"type":"number"},"currency_id":{"type":"string"},"sender_account":{"type":"string"},"sender_name":{"type":"string"},"sender_tax_id":{"type":"string"},"receiver_account":{"type":"string"},"receiver_name":{"type":"string"},"receiver_tax_id":{"type":"string"}},"required":["settlement_id","date_time","amount","currency_id","sender_account","sender_name","sender_tax_id","receiver_account","receiver_name","receiver_tax_id"]}},"total":{"type":"integer","format":"int32"}},"required":["settlements","total"]}},"required":["success","data"]},"AliasUsageView":{"type":"object","properties":{"alias":{"type":"string","nullable":true},"account_number":{"type":"string","nullable":true},"account_id":{"type":"integer","format":"int32"},"status":{"type":"string","enum":["CREATED","PARTIALLY_PAID","PAID","OVERPAID","COMPLETED"]},"amount_paid":{"type":"number"},"total_amount":{"type":"number"},"currency":{"type":"string"},"in_use":{"type":"boolean"},"last_payment_at":{"type":"string","nullable":true},"order_reference":{"type":"string","nullable":true},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["alias","account_number","account_id","status","amount_paid","total_amount","currency","in_use"]},"AliasUsageResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AliasUsageView"}},"required":["success","data"]},"AliasNextResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"series":{"type":"string"},"next_number":{"type":"integer","format":"int32"},"preview_alias":{"type":"string"}},"required":["series","next_number","preview_alias"]}},"required":["success","data"]},"CanonicalizeResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"input":{"type":"object","additionalProperties":true},"alias":{"type":"string"},"valid":{"type":"boolean"},"length":{"type":"integer","format":"int32"},"in_use":{"type":"boolean"},"existing_account":{"$ref":"#/components/schemas/AliasUsageView"}},"required":["alias","valid","length","in_use"]}},"required":["success","data"]},"AccountUpdateRequest":{"type":"object","properties":{"total_amount":{"type":"number"},"customer_email":{"type":"string","format":"email"},"metadata":{"type":"object","additionalProperties":true}}},"ConflictResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error_code":{"type":"string","example":"alias_in_use"},"error":{"type":"string"},"existing_account":{"$ref":"#/components/schemas/AliasUsageView"}},"required":["success","error_code","error"]}}}}