From 60799edcc219a9b9484a9852e83762645e2f8fd6 Mon Sep 17 00:00:00 2001 From: MMZaini Date: Wed, 30 Sep 2026 08:38:46 +0000 Subject: [PATCH] Update the Wise API specification --- openapi/source.json | 4 +- openapi/wise.json | 1261 ++++++++++++++++++++++--------------------- 2 files changed, 634 insertions(+), 631 deletions(-) diff --git a/openapi/source.json b/openapi/source.json index 72b9d42..bd16698 100644 --- a/openapi/source.json +++ b/openapi/source.json @@ -1,6 +1,6 @@ { "url": "https://docs.wise.com/_bundle/api-reference/@latest/index.json?download", - "retrievedAt": "2026-09-18T09:01:06.679Z", + "retrievedAt": "2026-09-30T08:38:31.491Z", "apiVersion": "2026Q3", - "sha256": "3d9b501a3c2e179c04be17ac875322b84dd1c52a6ec9d3ce7c239ea961efcffc" + "sha256": "9b80782a3937e55489481608780a001c3c56a7e36f03e694ca9998d92e4aeb08" } diff --git a/openapi/wise.json b/openapi/wise.json index 8cf6c18..9327e3a 100644 --- a/openapi/wise.json +++ b/openapi/wise.json @@ -3,7 +3,7 @@ "info": { "title": "Wise Platform API", "version": "", - "description": "The Wise Platform API is a REST-based interface that enables programmatic access to Wise's payment infrastructure. All endpoints return JSON-formatted responses and use standard HTTP methods and status codes.\n{% admonition type=\"success\" name=\"New to wise?\" %}\n We strongly recommend first reading our **[Getting Started Guide](/guides/developer/index.md)** to help you set up credentials and make your first call.\n{% /admonition %}\n\nBefore you begin {% .title-2 .m-t-5 %}\n\nTo use this API reference effectively, you should have:\n\n- Received Valid [API credentials from Wise](/guides/developer/auth-and-security/index.md) (Client ID and Client Secret)\n- Understand OAuth 2.0 authentication\n- Be familiar with RESTful API concepts\n\nCore API resources {% .title-2 .m-t-5 .m-b-0 %}\n\n| Resource | Purpose |\n|----------|---------|\n| **[Quote](/api-reference/quote)** | Exchange rate and fee calculations |\n| **[Recipient](/api-reference/recipient)** | Beneficiary account management |\n| **[Transfer](/api-reference/transfer)** | Payment creation and execution |\n| **[Balance](/api-reference/balance)** | Multi-currency account operations |\n| **[Profile](/api-reference/profile)** | Account ownership details |\n| **[Rate](/api-reference/rate)** | Current and historical exchange rates |\n\n**Not sure which workflow to build?**
\nStart with our [Integration Guides](/guides/product/send-money/use-cases/index.md) for step-by-step implementation examples.{% .m-t-3 .m-b-5 %}\n" + "description": "The Wise Platform API is a REST-based interface that enables programmatic access to Wise's payment infrastructure. All endpoints return JSON-formatted responses and use standard HTTP methods and status codes. \n{% admonition type=\"success\" name=\"New to wise?\" %}\n We strongly recommend first reading our **[Getting Started Guide](/guides/developer/index.md)** to help you set up credentials and make your first call.\n{% /admonition %}\n\nBefore you begin {% .title-2 .m-t-5 %}\n\nTo use this API reference effectively, you should have:\n\n- Received Valid [API credentials from Wise](/guides/developer/auth-and-security/index.md) (Client ID and Client Secret)\n- Understand OAuth 2.0 authentication\n- Be familiar with RESTful API concepts\n\nWe recommend connecting to our Docs MCP Server.\n{% connect-mcp /%}\n\nCore API resources {% .title-2 .m-t-5 .m-b-0 %}\n\n| Resource | Purpose |\n|----------|---------|\n| **[Quote](/api-reference/quote)** | Exchange rate and fee calculations |\n| **[Recipient](/api-reference/recipient)** | Beneficiary account management |\n| **[Transfer](/api-reference/transfer)** | Payment creation and execution |\n| **[Balance](/api-reference/balance)** | Multi-currency account operations |\n| **[Profile](/api-reference/profile)** | Account ownership details |\n| **[Rate](/api-reference/rate)** | Current and historical exchange rates |\n\n**Not sure which workflow to build?**
\nStart with our [Integration Guides](/guides/product/send-money/use-cases/index.md) for step-by-step implementation examples.{% .m-t-3 .m-b-5 %}\n" }, "servers": [ { @@ -29,7 +29,7 @@ { "name": "verification", "x-displayName": "Additional Verification", - "description": "{% admonition type=\"warning\" %}\n This endpoint is being deprecated. Use [KYC review endpoints](/guides/product/kyc/wise-kyc/api-hybrid-kyc) to verify your customers.\n {% /admonition %}\n\nIn certain situations, additional evidence is required to verify customers and ensure we’re compliant with the KYC regulations.\n\nAdditional Verification APIs support a list of evidences that can be found in the [Supported Evidences guide](/guides/product/kyc/partner-kyc/supported-evidences).\n\nIf you use the [Customer Account with Partner KYC](/guides/product/kyc/partner-kyc) model and your customers are primarily based in the EU,\nrefer to this [Onboarding EU customers](/guides/product/kyc/partner-kyc/additional-verification#onboarding-eu-customers) guide\nfor instructions on how to use these APIs.\n\n" + "description": "{% admonition type=\"warning\" %}\n This endpoint is being deprecated. Use [KYC review endpoints](/guides/product/account-setup/customer-onboarding/api-hybrid-kyc) to verify your customers.\n {% /admonition %}\n\nIn certain situations, additional evidence is required to verify customers and ensure we’re compliant with the KYC regulations.\n\nAdditional Verification APIs support a list of evidences that can be found in the [Supported Evidences guide](/guides/product/account-setup/customer-onboarding/supported-evidences).\n\nIf you perform your own KYC and your customers are primarily based in the EU,\nrefer to this [Onboarding EU-based customers guide](/guides/product/account-setup/customer-onboarding/region/eu-onboarding) for instructions on how to use these endpoints.\n\n" }, { "name": "address", @@ -94,7 +94,7 @@ { "name": "comparison", "x-displayName": "Comparison", - "description": "The comparison API can be used to request price and speed information about various money transfer providers. This includes not only Wise but other providers in the market.\n\nPrice Estimation {% #comparison-price-estimation .title-3 .m-t-5 %}\n\nThe quotes (price and speed) provided by this API are based off of real quotes collected from 3rd party websites. We collect both the advertised exchange rate and fee for each provider for various amounts. When a comparison is requested, we calculate the markup percentage of the collected exchange rate on the mid-market rate at the time of collection. We then apply this markup to the current mid-market rate to provide a realistic estimate of what each provider offers. We collect data for all providers around once per hour to ensure we provide as accurate and up-to-date information as possible.\n\nNote: Today, we only provide estimations for FX transactions with a Bank Transfer pay-in and pay-out option. This is important to stress as many providers offer significantly different fees and exchange rates when used debit/credit card, cash etc.\n\nFor more details on the data collection process please see the following page:\n[https://wise.com/gb/compare/disclaimer](https://wise.com/gb/compare/disclaimer)\n\nIf you have questions or suspect any data to be inaccurate or incomplete please contact us at: [comparison@wise.com](mailto:comparison@wise.com)\n\nDelivery Estimation {% #comparison-delivery-estimation .title-3 .m-t-5 %}\n\nSimilar to price, we collect speed data for most (if not all) providers which we have price information for. Many providers display speed estimates to their customers in a number of different ways.\n\nSome examples:\n\n- \"The transfer should be complete within 2-5 days\"\n- \"The money should arrive in your account within 48 hours\"\n- \"Should arrive by 26th Aug\"\n- \"Could take up to 4 working days\"\n\nThe below API intends to model these in a consistent format by providing a minimum and maximum range for all delivery estimations. An estimate that states \"up to X\" will have \"max\" set to a duration but \"min\" as null; \"from X\" will have \"min\" set to a duration and \"max\" as null. Finally, for those providers who offer a specific, point in time estimation (like Wise), the API will surface a duration where \"min\" and \"max\" are equal.\n\nQuotes structure {% #comparison-quotes-structure .title-3 .m-t-5 %}\n\nIn order to provide the most flexible and accurate data for clients, we surface a denormalized list of quotes per provider where each quote represents a unique collection of comparison \"dimensions\".\n\nA single given provider may expose multiple quotes for the same currency route. The most common example is where a provider offers different pricing for two different countries which use the same currency, e.g.:\n\nProvider X:\n\n- GBP EUR 1000 [GB -> ES] fee: 10, rate: 1.5\n- GBP EUR 1000 [GB -> DE] fee: 8, rate: 1.5\n- GBP EUR 1000 [GB -> FR] fee: 10, rate: 1.35\n\nThe same principle applies for speed, i.e. a provider may have different speed estimates for different target countries. Hence, we expose these as discrete quotes, where a quote is a unique combination of route, country, speed and price factors.\n\nA client may choose to reduce this set of quotes down to a single or several quotes in order to display a relevant quote to a given user. An example where we take the cheapest quote for a given currency route (and also surface the target country) can be seen at the below link:\n\n[https://wise.com/gb/compare/?sourceCurrency=GBP&targetCurrency=EUR&sendAmount=1000](https://wise.com/gb/compare/?sourceCurrency=GBP&targetCurrency=EUR&sendAmount=1000)\n" + "description": "The comparison API can be used to request price and speed information about various money transfer providers. This includes not only Wise but other providers in the market.\n\n{% admonition type=\"warning\" name=\"Important\" %}\nAll requests to the Comparison API require authentication. Comparison data is provided for informational purposes and must not be used for critical flows.\n{% /admonition %}\n\nPrice Estimation {% #comparison-price-estimation .title-3 .m-t-5 %}\n\nThe quotes (price and speed) provided by this API are based off of real quotes collected from 3rd party websites. We collect both the advertised exchange rate and fee for each provider for various amounts. When a comparison is requested, we calculate the markup percentage of the collected exchange rate on the mid-market rate at the time of collection. We then apply this markup to the current mid-market rate to provide a realistic estimate of what each provider offers. We collect data for all providers around once per hour to ensure we provide as accurate and up-to-date information as possible.\n\nNote: Today, we only provide estimations for FX transactions with a Bank Transfer pay-in and pay-out option. This is important to stress as many providers offer significantly different fees and exchange rates when used debit/credit card, cash etc.\n\nFor more details on the data collection process please see the following page:\n[https://wise.com/gb/compare/disclaimer](https://wise.com/gb/compare/disclaimer)\n\nIf you have questions or suspect any data to be inaccurate or incomplete please contact us at: [comparison@wise.com](mailto:comparison@wise.com)\n\nDelivery Estimation {% #comparison-delivery-estimation .title-3 .m-t-5 %}\n\nSimilar to price, we collect speed data for most (if not all) providers which we have price information for. Many providers display speed estimates to their customers in a number of different ways.\n\nSome examples:\n\n- \"The transfer should be complete within 2-5 days\"\n- \"The money should arrive in your account within 48 hours\"\n- \"Should arrive by 26th Aug\"\n- \"Could take up to 4 working days\"\n\nThe below API intends to model these in a consistent format by providing a minimum and maximum range for all delivery estimations. An estimate that states \"up to X\" will have \"max\" set to a duration but \"min\" as null; \"from X\" will have \"min\" set to a duration and \"max\" as null. Finally, for those providers who offer a specific, point in time estimation (like Wise), the API will surface a duration where \"min\" and \"max\" are equal.\n\nQuotes structure {% #comparison-quotes-structure .title-3 .m-t-5 %}\n\nIn order to provide the most flexible and accurate data for clients, we surface a denormalized list of quotes per provider where each quote represents a unique collection of comparison \"dimensions\".\n\nA single given provider may expose multiple quotes for the same currency route. The most common example is where a provider offers different pricing for two different countries which use the same currency, e.g.:\n\nProvider X:\n\n- GBP EUR 1000 [GB -> ES] fee: 10, rate: 1.5\n- GBP EUR 1000 [GB -> DE] fee: 8, rate: 1.5\n- GBP EUR 1000 [GB -> FR] fee: 10, rate: 1.35\n\nThe same principle applies for speed, i.e. a provider may have different speed estimates for different target countries. Hence, we expose these as discrete quotes, where a quote is a unique combination of route, country, speed and price factors.\n\nA client may choose to reduce this set of quotes down to a single or several quotes in order to display a relevant quote to a given user. An example where we take the cheapest quote for a given currency route (and also surface the target country) can be seen at the below link:\n\n[https://wise.com/gb/compare/?sourceCurrency=GBP&targetCurrency=EUR&sendAmount=1000](https://wise.com/gb/compare/?sourceCurrency=GBP&targetCurrency=EUR&sendAmount=1000)\n" }, { "name": "contact", @@ -252,9 +252,9 @@ "description": "{% admonition type=\"info\" %}\nIncoming transfers are not publicly available. To get access, contact your Wise implementation manager.\n{% /admonition %}\n\nAn incoming transfer represents a payment received into a Wise balance via a supported payment rail (SWIFT, SEPA, Faster Payments, ACH, or the Wise network)." }, { - "name": "gpi-tracking", - "x-displayName": "GPI Tracking", - "description": "Look up SWIFT gpi tracking data by UETR or Wise transfer ID. Each match returns the payment's current status and status reason, the timeline of gpi events reported by the banks in the chain, the agent BICs that handled each leg, the amounts and exchange rate applied at each step, and any charges those banks deducted.\n" + "name": "payment-instruments", + "x-displayName": "Payment Instruments", + "description": "This set of APIs allows you to create and utilize payment instruments for direct debits." }, { "name": "user", @@ -387,7 +387,8 @@ "payin-deposit-detail", "direct-debit-account", "bulk-settlement", - "payins" + "payins", + "payment-instruments" ] }, { @@ -408,12 +409,6 @@ "tags": [ "case" ] - }, - { - "name": "Tracking", - "tags": [ - "gpi-tracking" - ] } ], "paths": { @@ -7577,6 +7572,17 @@ "tags": [ "comparison" ], + "security": [ + { + "UserToken": [] + }, + { + "PersonalToken": [] + }, + { + "ClientCredentialsToken": [] + } + ], "parameters": [ { "name": "sourceCurrency", @@ -9932,8 +9938,111 @@ } }, "/auth/jose/playground/jwsjwe": { + "get": { + "operationId": "josePlaygroundJwsJweGet", + "summary": "Playground JWS+JWE for GET requests", + "description": "Send test signed and encrypted HTTP requests and receive signed and encrypted responses. Both signing and encryption are mandatory for this endpoint. The request must be a JSON Web Signature (JWS) wrapped in JSON Web Encryption (JWE) — any message that does not follow this format will be rejected.\n\nThe flow combines both JWS and JWE:\n1. **Request**: Send request to Wise, setting the correct jose method header and setting a valid Encryption Key ID in the relevant header.\n2. **Response**: Receive encrypted response → Decrypt (JWE) → Verify signature (JWS)\n\n{% admonition type=\"warning\" name=\"\" %}\nCurrently, the Wise API returns a generic 500 Internal Server Error for decryption failures across endpoints using JWE and JWS+JWE. For example, an invalid key can cause a decryption failure.\n\nOur team is currently planning improvements for these types of error messages to make them more specific and clear. Thank you for your patience.\n{% /admonition %}\n", + "tags": [ + "jose" + ], + "parameters": [ + { + "name": "Accept", + "in": "header", + "required": true, + "schema": { + "type": "string", + "enum": [ + "application/jose+json" + ] + }, + "example": "application/jose+json" + }, + { + "name": "x-tw-jose-method", + "in": "header", + "required": true, + "description": "JOSE method identifier.", + "schema": { + "type": "string", + "enum": [ + "jws+jwe" + ] + }, + "example": "jws+jwe" + }, + { + "name": "X-TW-JOSE-Encryption-kid", + "in": "header", + "required": true, + "description": "ID of the public JWE key uploaded to Wise for encrypting the response.", + "schema": { + "type": "string", + "format": "uuid" + }, + "example": "2333836d-2e1c-4acd-8b52-234d379260aa" + }, + { + "$ref": "#/components/parameters/X-External-Correlation-Id" + } + ], + "security": [ + { + "ClientCredentialsToken": [] + } + ], + "responses": { + "200": { + "description": "Signed and encrypted response.", + "content": { + "application/jose+json": { + "schema": { + "type": "string", + "description": "JWE-encoded string containing a signed JWS. After decryption (JWE) and signature verification (JWS), the response contains:\n\n- `message` — The original message prefixed with `jose-playground-response-`. Message length is limited to 100 characters.\n- `method` — Original HTTP request method name: `GET`.\n\nExample of decrypted and decoded response:\n```json\n{\n \"message\": \"jose-playground-response-This is an example from docs.wise.com\",\n \"method\": \"GET\"\n}\n```\n" + }, + "example": "eyJraWQiOiJiMzc0ODE1MC0xNGQ0LTRlMDAtYjM5NC03YWUwYzkzYmUyNDUiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.VGhpcyBpcyB0aGUgZW5jcnlwdGVkIENFSw.aXZfdmFsdWU.ZW5jcnlwdGVkX3BheWxvYWQ.YXV0aF90YWc" + } + }, + "headers": { + "X-External-Correlation-Id": { + "$ref": "#/components/headers/X-External-Correlation-Id" + }, + "x-trace-id": { + "$ref": "#/components/headers/x-trace-id" + } + } + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "examples": { + "unexpectedError": { + "summary": "Unexpected server error", + "value": { + "message": "An unexpected error occurred", + "request_id": "c29beb2374156c390c06fb583e99c999" + } + } + } + } + }, + "headers": { + "X-External-Correlation-Id": { + "$ref": "#/components/headers/X-External-Correlation-Id" + }, + "x-trace-id": { + "$ref": "#/components/headers/x-trace-id" + } + } + } + } + }, "post": { - "operationId": "josePlaygroundJwsJwe", + "operationId": "josePlaygroundJwsJwePost", "summary": "Playground JWS+JWE", "description": "Send test signed and encrypted HTTP requests and receive signed and encrypted responses. Both signing and encryption are mandatory for this endpoint. The request must be a JSON Web Signature (JWS) wrapped in JSON Web Encryption (JWE) — any message that does not follow this format will be rejected.\n\nThe flow combines both JWS and JWE:\n1. **Request**: Sign payload (JWS) → Encrypt signed JWT (JWE) → Send to Wise\n2. **Response**: Receive encrypted response → Decrypt (JWE) → Verify signature (JWS)\n\n{% admonition type=\"warning\" name=\"\" %}\nCurrently, the Wise API returns a generic 500 Internal Server Error for decryption failures across endpoints using JWE and JWS+JWE. For example, an invalid key can cause a decryption failure.\n\nOur team is currently planning improvements for these types of error messages to make them more specific and clear. Thank you for your patience.\n{% /admonition %}\n", "tags": [ @@ -10038,30 +10147,6 @@ } } }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "examples": { - "jwsError": { - "summary": "Unable to verify request signature", - "value": { - "error": "jws_error", - "error_description": "Unable to verify the request signature" - } - } - } - } - }, - "headers": { - "X-External-Correlation-Id": { - "$ref": "#/components/headers/X-External-Correlation-Id" - }, - "x-trace-id": { - "$ref": "#/components/headers/x-trace-id" - } - } - }, "429": { "$ref": "#/components/responses/429" }, @@ -14420,22 +14505,6 @@ ] } }, - "filesNotUploadedByYou": { - "summary": "Files were not uploaded by you", - "value": { - "type": "/errors/types/validation", - "title": "Validation Error", - "status": 400, - "instance": "/public/v2/cases/12345678/messages", - "errors": [ - { - "code": "invalid_value", - "ref": "fileIds", - "detail": "One or more files were not created by the Partner" - } - ] - } - }, "invalidSanctionHitStructure": { "summary": "Invalid sanction hit submission structure", "value": { @@ -14853,6 +14922,324 @@ } } }, + "/profiles/{profileId}/payment-instruments": { + "post": { + "operationId": "paymentInstrumentsCreate", + "description": "Creates a payment-instrument\n", + "security": [ + { + "UserToken": [] + } + ], + "tags": [ + "payment-instruments" + ], + "parameters": [ + { + "in": "path", + "name": "profileId", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "$ref": "#/components/parameters/X-External-Correlation-Id" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InitialiseInstrumentRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentInstrumentDetailsResource" + } + } + }, + "description": "OK", + "headers": { + "X-External-Correlation-Id": { + "$ref": "#/components/headers/X-External-Correlation-Id" + }, + "x-trace-id": { + "$ref": "#/components/headers/x-trace-id" + } + } + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Create instrument" + } + }, + "/profiles/{profileId}/payment-instruments/{paymentInstrumentId}": { + "get": { + "operationId": "paymentInstrumentsGet", + "description": "Retrieves a payment instrument.\n", + "security": [ + { + "UserToken": [] + } + ], + "tags": [ + "payment-instruments" + ], + "parameters": [ + { + "in": "path", + "name": "profileId", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "in": "path", + "name": "paymentInstrumentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/X-External-Correlation-Id" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentInstrumentDetailsResource" + } + } + }, + "description": "OK", + "headers": { + "X-External-Correlation-Id": { + "$ref": "#/components/headers/X-External-Correlation-Id" + }, + "x-trace-id": { + "$ref": "#/components/headers/x-trace-id" + } + } + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Get payment instrument" + } + }, + "/profiles/{profileId}/payment-instruments/{paymentInstrumentId}/manual-confirmation": { + "post": { + "operationId": "paymentInstrumentConfirm", + "description": "Manually confirms a payment instrument\n", + "security": [ + { + "UserToken": [] + } + ], + "tags": [ + "payment-instruments" + ], + "parameters": [ + { + "in": "path", + "name": "profileId", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "in": "path", + "name": "paymentInstrumentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/X-External-Correlation-Id" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentInstrumentDetailsResource" + } + } + }, + "description": "OK", + "headers": { + "X-External-Correlation-Id": { + "$ref": "#/components/headers/X-External-Correlation-Id" + }, + "x-trace-id": { + "$ref": "#/components/headers/x-trace-id" + } + } + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Confirm instrument" + } + }, + "/profiles/{profileId}/payment-instruments/{paymentInstrumentId}/payins": { + "get": { + "operationId": "paymentInstrumentGetAllPayins", + "description": "Get all payins for a given payment instrument\n", + "security": [ + { + "UserToken": [] + } + ], + "tags": [ + "payment-instruments" + ], + "parameters": [ + { + "in": "path", + "name": "profileId", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "in": "path", + "name": "paymentInstrumentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/X-External-Correlation-Id" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "payins": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PayinSessionPayinInitiationResource" + } + } + } + } + } + }, + "description": "OK", + "headers": { + "X-External-Correlation-Id": { + "$ref": "#/components/headers/X-External-Correlation-Id" + }, + "x-trace-id": { + "$ref": "#/components/headers/x-trace-id" + } + } + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Get all payins for a given payment instrument" + }, + "post": { + "operationId": "paymentInstrumentCreatePayin", + "description": "Create a payin for payment instrument\n", + "security": [ + { + "UserToken": [] + } + ], + "tags": [ + "payment-instruments" + ], + "parameters": [ + { + "in": "path", + "name": "profileId", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "in": "path", + "name": "paymentInstrumentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/X-External-Correlation-Id" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayinSessionPayinInitiationRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayinSessionPayinInitiationResource" + } + } + }, + "description": "OK", + "headers": { + "X-External-Correlation-Id": { + "$ref": "#/components/headers/X-External-Correlation-Id" + }, + "x-trace-id": { + "$ref": "#/components/headers/x-trace-id" + } + } + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "summary": "Create payin" + } + }, "/profiles/{profileId}/transfers/{transferId}/deposit-details/bank-transfer": { "get": { "operationId": "payinDepositDetailGet", @@ -19300,7 +19687,7 @@ "get": { "operationId": "rateGet", "summary": "Retrieve current rates", - "description": "{% admonition type=\"warning\" %}\nThe `from`, `to`, and `group` parameters are not testable in our Sandbox environment at this time.\n{% /admonition %}\n\n`GET /rates`
\nFetch latest exchange rates of all currencies.\n\n`GET /rates?source=EUR&target=USD`
\nFetch latest exchange rate of one currency pair.\n\n`GET /rates?source=EUR&target=USD&time=2019-02-13T14:53:01`
\nFetch exchange rate of specific historical timestamp.\n\n`GET /rates?source=EUR&target=USD&from=2019-02-13T14:53:01&to=2019-03-13T14:53:01&group=day`
\nFetch exchange rate history over period of time with daily interval.\n\n`GET /rates?source=EUR&target=USD&from=2019-02-13T14:53:01&to=2019-03-13T14:53:01&group=hour`
\nFetch exchange rate history over period of time with hourly interval.\n\n`GET /rates?source=EUR&target=USD&from=2019-02-13T14:53:01&to=2019-03-13T14:53:01&group=minute`
\nFetch exchange rate history over period of time with 1 minute interval.\n\n{% admonition type=\"warning\" %}\nThis endpoint only supports Bearer authentication for non-Affiliate partners.\n{% /admonition %}\n", + "description": "{% admonition type=\"warning\" %}\nThe `from`, `to`, and `group` parameters are not testable in our Sandbox environment at this time.\n{% /admonition %}\n\n`GET /rates`
\nFetch latest exchange rates of all currencies.\n\n`GET /rates?source=EUR&target=USD`
\nFetch latest exchange rate of one currency pair.\n\n`GET /rates?source=EUR&target=USD&time=2019-02-13T14:53:01`
\nFetch exchange rate of specific historical timestamp.\n\n`GET /rates?source=EUR&target=USD&from=2019-02-13T14:53:01&to=2019-03-13T14:53:01&group=day`
\nFetch exchange rate history over period of time with daily interval.\n\n`GET /rates?source=EUR&target=USD&from=2019-02-13T14:53:01&to=2019-03-13T14:53:01&group=hour`
\nFetch exchange rate history over period of time with hourly interval.\n\n`GET /rates?source=EUR&target=USD&from=2019-02-13T14:53:01&to=2019-03-13T14:53:01&group=minute`
\nFetch exchange rate history over period of time with 1 minute interval.\n", "tags": [ "rate" ], @@ -26978,109 +27365,6 @@ ] } }, - "/gpi-tracking": { - "post": { - "description": "Looks up GPI tracking data for a transfer identified by `identifierType` and `identifier`.", - "summary": "Look up GPI tracking", - "operationId": "LookupGpiTracking", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LookupGpiTrackingRequestContent" - }, - "examples": { - "lookup-by-transfer-id": { - "summary": "Look up GPI tracking by transfer ID", - "value": { - "identifierType": "TRANSFER_ID", - "identifier": "16521632" - } - }, - "lookup-by-uetr": { - "summary": "Look up GPI tracking by UETR", - "value": { - "identifierType": "UETR", - "identifier": "97ed4827-7b6f-4491-a206-42bcf859a919" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Returns matching GPI tracking transactions.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LookupGpiTrackingResponseContent" - }, - "examples": { - "tracking-found": { - "summary": "GPI tracking data found", - "value": { - "transactions": [ - { - "uetr": "97ed4827-7b6f-4491-a206-42bcf859a919", - "status": "ACSP", - "cancellationStatus": "CANCELLATION_REJECTED", - "initiatedAt": "2023-09-18T12:05:50Z", - "lastUpdatedAt": "2023-09-18T12:13:33.314Z", - "events": [ - { - "status": "ACSP", - "statusReason": { - "code": "G001", - "settlementMethod": { - "code": "INGA" - }, - "instructedAgent": "LHVBEE22XXX", - "chargeBearer": "SHAR" - }, - "statusTime": "2023-09-18T12:13:33.314Z", - "amountInconsistency": false, - "eventType": "CANCELLATION_RESPONSE", - "eventTarget": "CREDIT_TRANSFER", - "eventCreationTime": "2023-09-18T12:13:33.348Z" - } - ] - } - ] - } - } - } - } - }, - "headers": { - "X-External-Correlation-Id": { - "$ref": "#/components/headers/X-External-Correlation-Id" - }, - "x-trace-id": { - "$ref": "#/components/headers/x-trace-id" - } - } - }, - "429": { - "$ref": "#/components/responses/429" - } - }, - "security": [ - { - "ClientCredentialsToken": [] - } - ], - "tags": [ - "gpi-tracking" - ], - "parameters": [ - { - "$ref": "#/components/parameters/X-External-Correlation-Id" - } - ] - } - }, "/me": { "get": { "tags": [ @@ -34573,7 +34857,7 @@ "submission-data-file": { "type": "object", "title": "FILE_SUBMISSION Submission Data", - "description": "Submission data for FILE_SUBMISSION message type.\nUsed to attach previously uploaded files to a case.\n\n**Prerequisites:**\n- Files must be uploaded via `POST /cases/{caseId}/files` before submitting\n- Case must not be in RESOLVED or FAILED status\n- Files must belong to the specified profile\n- Files must have been uploaded by the same partner\n\n**Validation Rules:**\n- `profileId` is REQUIRED\n- `fileIds` is REQUIRED and must not be empty\n- `fileIds` must not contain duplicates\n- All file IDs must reference existing files\n- All files must belong to the specified `profileId`\n- All files must have been created by the submitting partner\n", + "description": "Submission data for FILE_SUBMISSION message type.\nUsed to attach previously uploaded files to a case.\n\n**Prerequisites:**\n- Files must be uploaded via `POST /cases/{caseId}/files` before submitting\n- Case must not be in RESOLVED or FAILED status\n- Files must belong to the specified profile\n\n**Validation Rules:**\n- `profileId` is REQUIRED\n- `fileIds` is REQUIRED and must not be empty\n- `fileIds` must not contain duplicates\n- All file IDs must reference existing files\n- All files must belong to the specified `profileId`\n", "properties": { "profileId": { "type": "integer", @@ -34746,6 +35030,175 @@ } ] }, + "Address-2": { + "type": "object", + "properties": { + "addressFirstLine": { + "type": "string" + }, + "city": { + "type": "string" + }, + "country": { + "type": "string" + }, + "postCode": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "AccountOwnerDetails": { + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/Address-2" + }, + "email": { + "type": "string", + "format": "email", + "maxLength": 254, + "minLength": 0 + } + } + }, + "InitialiseInstrumentRequest": { + "type": "object", + "properties": { + "accountHolderName": { + "type": "string" + }, + "accountNumber": { + "type": "string" + }, + "accountOwnerDetails": { + "$ref": "#/components/schemas/AccountOwnerDetails" + }, + "accountType": { + "type": "string" + }, + "bankCode": { + "type": "string" + }, + "branchCode": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "accountNumber", + "type" + ] + }, + "AccountOwnerDetailsDto": { + "type": "object", + "properties": { + "city": { + "type": "string" + }, + "companyName": { + "type": "string" + }, + "country": { + "type": "string" + }, + "firstLine": { + "type": "string" + }, + "postCode": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "PaymentInstrumentDetailsResource": { + "type": "object", + "properties": { + "accountNumber": { + "type": "string" + }, + "accountOwnerDetails": { + "$ref": "#/components/schemas/AccountOwnerDetailsDto" + }, + "bankCode": { + "type": "string" + }, + "bankName": { + "type": "string" + }, + "branchCode": { + "type": "string" + }, + "disconnectReason": { + "type": "string" + }, + "id": { + "type": "string", + "format": "uuid" + }, + "reference": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "PayinSessionPayinInitiationResource": { + "type": "object", + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "failureReason": { + "type": "string" + }, + "id": { + "type": "string" + }, + "payinSessionId": { + "type": "string" + }, + "paymentInstrumentId": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "status": { + "type": "string" + } + } + }, + "PayinSessionPayinInitiationRequest": { + "type": "object", + "properties": { + "payinSessionId": { + "type": "string" + }, + "reference": { + "type": "string" + } + }, + "required": [ + "payinSessionId" + ] + }, "address": { "type": "object", "description": "Address associated with a profile.", @@ -36575,7 +37028,7 @@ } } }, - "Address-2": { + "Address-3": { "type": "object", "properties": { "addressFirstLine": { @@ -36698,15 +37151,15 @@ "senderAddress": { "maxLength": 255, "description": "Sender address.", - "$ref": "#/components/schemas/Address-2" + "$ref": "#/components/schemas/Address-3" }, "beneficiaryAddress": { "description": "Beneficiary address.", - "$ref": "#/components/schemas/Address-2" + "$ref": "#/components/schemas/Address-3" } } }, - "Address-3": { + "Address-4": { "type": "object", "properties": { "addressLine": { @@ -36807,7 +37260,7 @@ "description": "Address of the sender's bank.", "allOf": [ { - "$ref": "#/components/schemas/Address-3" + "$ref": "#/components/schemas/Address-4" }, { "type": "object", @@ -36933,7 +37386,7 @@ "description": "Address of the sender's bank.", "allOf": [ { - "$ref": "#/components/schemas/Address-3" + "$ref": "#/components/schemas/Address-4" }, { "type": "object", @@ -37012,7 +37465,7 @@ "description": "Address of the ultimate beneficiary.", "allOf": [ { - "$ref": "#/components/schemas/Address-3" + "$ref": "#/components/schemas/Address-4" }, { "type": "object", @@ -37057,7 +37510,7 @@ "description": "Address of the sender.", "allOf": [ { - "$ref": "#/components/schemas/Address-3" + "$ref": "#/components/schemas/Address-4" }, { "type": "object", @@ -38319,7 +38772,7 @@ } } }, - "Address-4": { + "Address-5": { "type": "object", "properties": { "firstLine": { @@ -38393,7 +38846,7 @@ "example": "23456789" }, "address": { - "$ref": "#/components/schemas/Address-4", + "$ref": "#/components/schemas/Address-5", "description": "Payment originator address" } }, @@ -38459,7 +38912,7 @@ "example": "23456789" }, "address": { - "$ref": "#/components/schemas/Address-4", + "$ref": "#/components/schemas/Address-5", "description": "Payment originator address" } }, @@ -39634,456 +40087,6 @@ "state" ] }, - "GpiTrackingIdentifierType": { - "type": "string", - "description": "The type of identifier used to look up a transfer's GPI tracking data.", - "enum": [ - "UETR", - "TRANSFER_ID" - ] - }, - "LookupGpiTrackingRequestContent": { - "type": "object", - "description": "Identify the transfer to look up by `UETR` or `TRANSFER_ID`.", - "properties": { - "identifierType": { - "$ref": "#/components/schemas/GpiTrackingIdentifierType", - "description": "The type of identifier used to look up the transfer." - }, - "identifier": { - "type": "string", - "minLength": 1, - "description": "The UETR or Wise transfer ID of the transfer to look up, matching `identifierType`. Must be a UUID (e.g. `97ed4827-7b6f-4491-a206-42bcf859a919`) when `identifierType` is `UETR`, or a positive integer (int64) (e.g. `16521632`) when `identifierType` is `TRANSFER_ID`.", - "example": "97ed4827-7b6f-4491-a206-42bcf859a919" - } - }, - "required": [ - "identifier", - "identifierType" - ] - }, - "GpiTrackingSettlementMethod": { - "type": "object", - "description": "Settlement method reported for an ACSP sub-status.", - "properties": { - "code": { - "type": "string", - "description": "Settlement method code, passed through as a SWIFT gpi settlement method code. Known values: `INDA`, `INGA`, `COVE`, `CLRG`. Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "INGA" - }, - "clearingSystem": { - "type": "string", - "description": "Clearing system, present when the settlement method is `CLRG`.", - "example": "CHI" - } - } - }, - "GpiTrackingStatusReason": { - "type": "object", - "description": "SWIFT gpi ACSP sub-status (transaction_status_reason).", - "properties": { - "code": { - "type": "string", - "description": "Sub-status code, passed through as a SWIFT gpi transaction status reason code. Known values: `G000`, `G001`, `G002`, `G003`, `G004`, `G005`, `G006`. Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "G002" - }, - "settlementMethod": { - "$ref": "#/components/schemas/GpiTrackingSettlementMethod", - "description": "Settlement method. Present for `G000`, `G001`, `G005`, `G006`." - }, - "instructedAgent": { - "type": "string", - "description": "BIC the transaction was forwarded to. Present for `G000`, `G001`, `G005`, `G006`.", - "example": "TSPABEB0002" - }, - "chargeBearer": { - "type": "string", - "description": "Charge bearer code. Present for `G000`, `G001`, `G005`, `G006`.", - "example": "SHAR" - } - } - }, - "GpiTrackingMoney": { - "type": "object", - "description": "A monetary value represented using the GPI tracking wire format.", - "properties": { - "amount": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": 0, - "description": "Non-negative monetary amount.", - "format": "decimal", - "example": 250.45 - }, - "currency": { - "type": "string", - "maxLength": 3, - "minLength": 3, - "pattern": "^[A-Z]{3}$", - "description": "ISO 4217 currency code.", - "example": "EUR" - } - } - }, - "GpiTrackingCancellationStatus": { - "type": "string", - "description": "Cancellation status of a tracked transaction.", - "enum": [ - "CANCELLED", - "PENDING_CANCELLATION", - "CANCELLATION_REJECTED" - ] - }, - "GpiTrackingCancellationRequestStatus": { - "type": "object", - "description": "Cancellation request status reported for an event.", - "properties": { - "reasonCode": { - "type": "string", - "description": "Cancellation reason code, passed through as a SWIFT gpi cancellation reason code. Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "CUST" - }, - "indemnityAgreement": { - "type": "boolean", - "description": "Whether an indemnity agreement applies to the cancellation request.", - "example": false - } - } - }, - "GpiTrackingCancellationResponseStatus": { - "type": "object", - "description": "Cancellation response status reported for an event.", - "properties": { - "code": { - "type": "string", - "description": "Cancellation response code, passed through as a SWIFT gpi cancellation response code. Known values: `CNCL` (cancelled), `PDCR` (pending), `RJCR` (rejected). Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "RJCR" - }, - "reasonCode": { - "type": "string", - "description": "Cancellation response reason code, passed through as a SWIFT gpi cancellation response reason code. Present for `PDCR` and `RJCR`.", - "example": "LEGL" - } - } - }, - "GpiTrackingCharge": { - "type": "object", - "description": "A charge applied while processing the transaction.", - "properties": { - "amount": { - "$ref": "#/components/schemas/GpiTrackingMoney", - "description": "Charge amount." - }, - "bic": { - "type": "string", - "description": "BIC of the charging agent.", - "example": "TRCKCHZ0XXX" - }, - "name": { - "type": "string", - "description": "Name of the charging agent.", - "example": "Example Correspondent Bank" - } - } - }, - "GpiTrackingEvent": { - "type": "object", - "description": "An event reported for a tracked transaction.", - "properties": { - "status": { - "type": "string", - "description": "Status conveyed by this event, passed through as a SWIFT gpi transaction status code. Known values: `ACSP` (accepted, settlement in progress), `ACCC` (accepted, settlement completed), `RJCT` (rejected). Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "ACSP" - }, - "statusReason": { - "$ref": "#/components/schemas/GpiTrackingStatusReason", - "description": "Sub-status detail, present when status is `ACSP`." - }, - "statusTime": { - "type": "string", - "description": "When this status was reached. Present when status is `ACSP` or `RJCT`.", - "format": "date-time", - "example": "2023-09-18T12:13:33.314Z" - }, - "confirmedAt": { - "type": "string", - "description": "When the funds were made available to the creditor. Present when status is `ACCC`.", - "format": "date-time", - "example": "2023-09-18T12:13:33.314Z" - }, - "confirmedAmount": { - "$ref": "#/components/schemas/GpiTrackingMoney", - "description": "Amount credited to the creditor's account. Present when status is `ACCC`." - }, - "rejectionReason": { - "type": "string", - "description": "Rejection reason code, passed through as a SWIFT gpi rejection reason code (ISO 20022 external return/reason code). Present when status is `RJCT`. Known values include `AC04` (closed account number), `AC06` (blocked account), `AM09` (wrong amount), `BE01` (inconsistent with end customer), `RR04` (regulatory reason). Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "AC04" - }, - "instructedAmount": { - "$ref": "#/components/schemas/GpiTrackingMoney", - "description": "Amount as instructed at this hop." - }, - "settledAmount": { - "$ref": "#/components/schemas/GpiTrackingMoney", - "description": "Amount as settled at this hop." - }, - "amountInconsistency": { - "type": "boolean", - "description": "Whether instructed and settled amounts are inconsistent.", - "example": false - }, - "settlementDate": { - "type": "string", - "description": "Settlement date of this event.", - "format": "date", - "example": "2023-09-18" - }, - "sourceCurrency": { - "type": "string", - "maxLength": 3, - "minLength": 3, - "pattern": "^[A-Z]{3}$", - "description": "Source currency of the exchange, if any.", - "example": "EUR" - }, - "targetCurrency": { - "type": "string", - "maxLength": 3, - "minLength": 3, - "pattern": "^[A-Z]{3}$", - "description": "Target currency of the exchange, if any.", - "example": "GBP" - }, - "exchangeRate": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": 0, - "description": "Exchange rate applied between the source and target currencies.", - "format": "decimal", - "example": 0.8501 - }, - "chargeBearer": { - "type": "string", - "description": "Charge bearer indicator, passed through as a SWIFT gpi charge bearer code. Known values: `DEBT`, `CRED`, `SHAR`, `SLEV`. Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "SHAR" - }, - "endToEndId": { - "type": "string", - "description": "End-to-end identifier.", - "example": "802.0GC9A9E78ABD" - }, - "messageNameIdentification": { - "type": "string", - "description": "Message name identification (ISO 20022 message type).", - "example": "pacs.008.001.08" - }, - "instructionId": { - "type": "string", - "description": "Instruction identifier.", - "example": "0918121252010240" - }, - "returnReason": { - "type": "string", - "description": "Return reason code associated with this event, passed through as a SWIFT gpi return reason code (ISO 20022 external return/reason code). Known values include `AC04` (closed account number), `AC06` (blocked account), `AM09` (wrong amount), `BE01` (inconsistent with end customer), `RR04` (regulatory reason). Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "AC04" - }, - "eventType": { - "type": "string", - "description": "Type of the tracking event, passed through as a SWIFT gpi tracker event type code. Known values: `PAYMENT`, `STATUS_UPDATE`, `CANCELLATION_REQUEST`, `CANCELLATION_RESPONSE`, `CANCELLATION_REQUEST_STATUS_UPDATE`. Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "CANCELLATION_RESPONSE" - }, - "eventTarget": { - "type": "string", - "description": "Target of the tracking event, passed through as a SWIFT gpi tracker event target code. Known values: `CREDIT_TRANSFER`, `CREDIT_TRANSFER_RETURN`, `CREDIT_TRANSFER_COVER`, `CREDIT_TRANSFER_COVER_RETURN`, `FINANCIAL_INSTITUTION_CREDIT_TRANSFER`, `FINANCIAL_INSTITUTION_CREDIT_TRANSFER_RETURN`, `FINANCIAL_INSTITUTION_CREDIT_TRANSFER_COVER`, `FINANCIAL_INSTITUTION_CREDIT_TRANSFER_COVER_RETURN`. Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "CREDIT_TRANSFER" - }, - "cancellationRequestStatus": { - "$ref": "#/components/schemas/GpiTrackingCancellationRequestStatus", - "description": "Cancellation request status conveyed by this event." - }, - "cancellationResponseStatus": { - "$ref": "#/components/schemas/GpiTrackingCancellationResponseStatus", - "description": "Cancellation response status conveyed by this event." - }, - "cancellationRequestTrackingStatus": { - "type": "string", - "description": "Cancellation request tracking status conveyed by this event, passed through as a SWIFT gpi cancellation request tracking status code. Known values: `S000`, `S001`, `S002`, `S003`, `S004`. Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "S004" - }, - "serviceLevel": { - "type": "string", - "description": "Service level of the transaction, passed through as a SWIFT gpi service level code. Known values: `G001`, `G002`, `G004`, `G005`, `G009`. Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "G002" - }, - "instructedAgent": { - "type": "string", - "description": "Instructed agent BIC.", - "example": "TSPABEB0002" - }, - "from": { - "type": "string", - "description": "Sending agent BIC.", - "example": "TRCKCHZ0XXX" - }, - "to": { - "type": "string", - "description": "Receiving agent BIC.", - "example": "TSPABEB0002" - }, - "trackerInformingParty": { - "type": "string", - "description": "Party informing the tracker.", - "example": "ZYZAGB20XXX" - }, - "debtorAgent": { - "type": "string", - "description": "Debtor agent BIC.", - "example": "DEUTDEFFXXX" - }, - "creditorAgent": { - "type": "string", - "description": "Creditor agent BIC.", - "example": "BARCGB22XXX" - }, - "instructingReimbursementAgent": { - "type": "string", - "description": "Instructing reimbursement agent BIC.", - "example": "CHASUS33XXX" - }, - "previousInstructingAgent1": { - "type": "string", - "description": "Previous instructing agent 1 BIC.", - "example": "BOFAUS3NXXX" - }, - "previousInstructingAgent2": { - "type": "string", - "description": "Previous instructing agent 2 BIC.", - "example": "CITIUS33XXX" - }, - "previousInstructingAgent3": { - "type": "string", - "description": "Previous instructing agent 3 BIC.", - "example": "NWBKGB2LXXX" - }, - "intermediaryAgent1": { - "type": "string", - "description": "Intermediary agent 1 BIC.", - "example": "DEUTDEFFXXX" - }, - "intermediaryAgent2": { - "type": "string", - "description": "Intermediary agent 2 BIC.", - "example": "BNPAFRPPXXX" - }, - "intermediaryAgent3": { - "type": "string", - "description": "Intermediary agent 3 BIC.", - "example": "INGBNL2AXXX" - }, - "charges": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GpiTrackingCharge" - }, - "description": "Charges applied at this hop. Omitted when there are none." - }, - "eventCreationTime": { - "type": "string", - "description": "When this event was created.", - "format": "date-time", - "example": "2023-09-18T12:13:33.348Z" - } - } - }, - "GpiTracking": { - "type": "object", - "description": "GPI tracking data for a transaction.", - "properties": { - "uetr": { - "type": "string", - "description": "The UETR of the tracked transaction.", - "example": "97ed4827-7b6f-4491-a206-42bcf859a919" - }, - "status": { - "type": "string", - "description": "Overall tracking status of the transaction, passed through as a SWIFT gpi transaction status code. Known values: `ACSP` (accepted, settlement in progress), `ACCC` (accepted, settlement completed), `RJCT` (rejected). Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "ACSP" - }, - "statusReason": { - "$ref": "#/components/schemas/GpiTrackingStatusReason", - "description": "Sub-status detail, present when status is `ACSP`." - }, - "statusTime": { - "type": "string", - "description": "When this status was reached. Present when status is `ACSP` or `RJCT`.", - "format": "date-time", - "example": "2023-09-18T12:13:33.314Z" - }, - "confirmedAt": { - "type": "string", - "description": "When the funds were made available to the creditor. Present when status is `ACCC`.", - "format": "date-time", - "example": "2023-09-18T12:13:33.314Z" - }, - "confirmedAmount": { - "$ref": "#/components/schemas/GpiTrackingMoney", - "description": "Amount credited to the creditor's account. Present when status is `ACCC`." - }, - "rejectionReason": { - "type": "string", - "description": "Rejection reason code, passed through as a SWIFT gpi rejection reason code (ISO 20022 external return/reason code). Present when status is `RJCT`. Known values include `AC04` (closed account number), `AC06` (blocked account), `AM09` (wrong amount), `BE01` (inconsistent with end customer), `RR04` (regulatory reason). Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "AC04" - }, - "cancellationStatus": { - "$ref": "#/components/schemas/GpiTrackingCancellationStatus", - "description": "Cancellation status, when a cancellation has been requested or resolved." - }, - "returnReason": { - "type": "string", - "description": "Return reason code, present when the transaction was returned or rejected, passed through as a SWIFT gpi return reason code (ISO 20022 external return/reason code). Known values include `AC04` (closed account number), `AC06` (blocked account), `AM09` (wrong amount), `BE01` (inconsistent with end customer), `RR04` (regulatory reason). Additional values may be introduced by SWIFT gpi; see the SWIFT gpi code lists.", - "example": "AC04" - }, - "initiatedAt": { - "type": "string", - "description": "When transaction tracking was initiated.", - "format": "date-time", - "example": "2023-09-18T12:05:50Z" - }, - "completedAt": { - "type": "string", - "description": "When the transaction reached a completed state.", - "format": "date-time", - "example": "2023-09-18T12:13:33.314Z" - }, - "lastUpdatedAt": { - "type": "string", - "description": "When the tracking record was last updated.", - "format": "date-time", - "example": "2023-09-18T12:13:33.314Z" - }, - "events": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GpiTrackingEvent" - }, - "description": "Ordered tracking events, latest first." - } - } - }, - "LookupGpiTrackingResponseContent": { - "type": "object", - "description": "The matching GPI tracking transactions.", - "properties": { - "transactions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GpiTracking" - }, - "description": "The matching GPI tracking transactions." - } - } - }, "user": { "title": "User", "type": "object", @@ -44463,12 +44466,12 @@ }, "state": { "type": "string", - "description": "Status of the KYC Review. See [KYC review status](/guides/product/kyc/wise-kyc/hosted-kyc/kyc-review-status.md) for possible values.\n", + "description": "Status of the KYC Review. See [KYC review statuses](/guides/product/account-setup/customer-onboarding/api-hybrid-kyc#kyc-review-statuses) for possible values.\n", "example": "WAITING_CUSTOMER_INPUT" }, "prevState": { "type": "string", - "description": "Previous status of the KYC review. See [KYC review status](/guides/product/kyc/wise-kyc/hosted-kyc/kyc-review-status.md) for possible values.\n", + "description": "Previous status of the KYC review. See [KYC review statuses](/guides/product/account-setup/customer-onboarding/api-hybrid-kyc#kyc-review-statuses) for possible values.\n", "example": "WAITING_CUSTOMER_INPUT" }, "profileId": { @@ -44634,7 +44637,7 @@ }, "state": { "type": "string", - "description": "Status of the KYC Review. See [KYC Review Status](/guides/product/kyc/wise-kyc/hosted-kyc/kyc-review-status.md) for possible values.\n", + "description": "Status of the KYC Review. See [KYC review statuses](/guides/product/account-setup/customer-onboarding/api-hybrid-kyc#kyc-review-statuses) for possible values.\n", "example": "WAITING_CUSTOMER_INPUT" }, "profileId": { @@ -44785,7 +44788,7 @@ }, "state": { "type": "string", - "description": "Status of the KYC Review. See [KYC Review Status](/guides/product/kyc/wise-kyc/hosted-kyc/kyc-review-status.md) for possible values.\n", + "description": "Status of the KYC Review. See [KYC review statuses](/guides/product/account-setup/customer-onboarding/api-hybrid-kyc#kyc-review-statuses) for possible values.\n", "example": "WAITING_CUSTOMER_INPUT" }, "profileId": { @@ -46146,7 +46149,7 @@ } } }, - "Address-5": { + "Address-6": { "type": "object", "description": "Structured address details.", "properties": { @@ -46231,7 +46234,7 @@ "description": "Identifier within the clearing system specified by `clearing_system_code`." }, "address": { - "$ref": "#/components/schemas/Address-5", + "$ref": "#/components/schemas/Address-6", "description": "Bank or financial institution address." } } @@ -46246,7 +46249,7 @@ "maxLength": 140 }, "address": { - "$ref": "#/components/schemas/Address-5", + "$ref": "#/components/schemas/Address-6", "description": "Party address." }, "account": { @@ -46368,7 +46371,7 @@ "description": "Identifier within the clearing system specified by `clearing_system_code`." }, "address": { - "$ref": "#/components/schemas/Address-5", + "$ref": "#/components/schemas/Address-6", "description": "Bank or financial institution address." } } @@ -46383,7 +46386,7 @@ "maxLength": 140 }, "address": { - "$ref": "#/components/schemas/Address-5", + "$ref": "#/components/schemas/Address-6", "description": "Party address." }, "account": {