{"openapi":"3.0.0","externalDocs":{"description":"Documentation","url":"https://docs.saltedge.com/account_information/v5"},"info":{"version":"5.0.0","title":"Salt Edge Account Information API","description":"API Reference for apps","contact":{"name":"Support Team","email":"support@saltedge.com","url":"https://www.saltedge.com/pages/contact"}},"servers":[{"url":"https://www.saltedge.com/api/v5"}],"security":[{"app_id":[],"secret":[],"customer_secret":[],"connection_secret":[]}],"paths":{"/accounts":{"get":{"summary":"List of accounts","description":"You can see the list of accounts of a connection.","tags":["Accounts"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountsResponse"},"example":{"data":[{"id":"333333333333333333","name":"Fake account 1","nature":"card","balance":2007.2,"currency_code":"EUR","extra":{"client_name":"Fake name"},"created_at":"2026-07-07T10:11:52Z","updated_at":"2026-07-07T10:11:52Z"},{"id":"333333333333333334","name":"Fake account 2","nature":"account","balance":2012.7,"currency_code":"USD","extra":{"cards":["1234....5678","*8765"],"transactions_count":{"posted":22,"pending":1}},"connection_id":"111111111111111111","created_at":"2026-07-07T11:11:52Z","updated_at":"2026-07-07T11:11:52Z"}],"meta":{"next_id":"333333333333333335","next_page":"/api/v5/accounts?from_id=333333333333333335"}}}}},"404":{"description":"We could not find a connection with the requested `connection_id`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"in":"query","name":"customer_id","required":false,"schema":{"type":"string","description":"the `id` of the customer containing the accounts, required unless `connection_id` parameter is sent. It will be ignored if `connection_id` is present"}},{"in":"query","name":"from_id","required":false,"schema":{"type":"string","description":"the `id` of the account which the list starts with"}}]}},"/assets":{"get":{"summary":"List of assets","description":"You can get the list of all the assets that we support.","tags":["Assets"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetsResponse"},"example":{"data":[{"code":"BSD","name":"BitSend"},{"code":"BSTY","name":"GlobalBoost- Y"},{"code":"BTA","name":"Bata"},{"code":"BTC","name":"Bitcoin"},{"code":"BTCD","name":"BitcoinDark"},{"code":"BTS","name":"BitShares"}]}}}}}}},"/attempts":{"get":{"summary":"List of attempts","description":"Returns a paginated list of all attempts for a certain connection.","tags":["Attempts"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttemptsResponse"},"example":{"data":[{"api_mode":"app","api_version":"5","automatic_fetch":true,"user_present":false,"categorize":true,"created_at":"2026-07-07T11:11:52Z","customer_last_logged_at":"2026-07-07T10:11:52Z","custom_fields":{},"device_type":"desktop","daily_refresh":false,"remote_ip":"93.184.216.34","exclude_accounts":[],"fail_at":null,"fail_error_class":null,"fail_message":null,"fetch_scopes":["accounts","transactions"],"finished":true,"finished_recent":true,"from_date":null,"id":"777777777777777777","interactive":false,"locale":"en","partial":false,"store_credentials":true,"success_at":"2026-07-07T12:11:52Z","to_date":null,"unduplication_strategy":"mark_as_duplicate","updated_at":"2026-07-07T12:11:52Z","show_consent_confirmation":true,"include_natures":["account","card","bonus"],"last_stage":{"created_at":"2026-07-07T12:11:52Z","id":"888888888888888888","interactive_fields_name":null,"interactive_html":null,"name":"finish","updated_at":"2026-07-07T12:11:52Z"}}],"meta":{"next_id":"777777777777777778","next_page":"/api/v5/attempts?from_id=777777777777777778"}}}}}}}},"/attempts/{attempt_id}":{"get":{"summary":"Attempt object","description":"Returns a single attempt object.","tags":["Attempts"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttemptResponse"},"example":{"data":{"api_mode":"app","api_version":"5","automatic_fetch":true,"user_present":false,"daily_refresh":false,"categorize":true,"created_at":"2026-07-07T11:11:52Z","customer_last_logged_at":"2026-07-07T10:11:52Z","custom_fields":{},"device_type":"desktop","remote_ip":"93.184.216.34","exclude_accounts":[],"fail_at":null,"fail_error_class":null,"fail_message":null,"fetch_scopes":["accounts","transactions"],"finished":true,"finished_recent":true,"from_date":null,"id":"777777777777777777","interactive":false,"locale":"en","partial":false,"store_credentials":true,"success_at":"2026-07-07T12:11:52Z","to_date":null,"unduplication_strategy":"mark_as_duplicate","updated_at":"2026-07-07T12:11:52Z","show_consent_confirmation":true,"include_natures":["account","card","bonus"],"stages":[{"created_at":"2026-07-07T11:11:52Z","id":"888888888888888881","interactive_fields_names":null,"interactive_html":null,"name":"start","updated_at":"2026-07-07T11:11:52Z"},{"created_at":"2026-07-07T11:21:52Z","id":"888888888888888882","interactive_fields_names":null,"interactive_html":null,"name":"connect","updated_at":"2026-07-07T11:21:52Z"},{"created_at":"2026-07-07T12:11:52Z","id":"888888888888888883","interactive_fields_names":null,"interactive_html":null,"name":"finish","updated_at":"2026-07-07T12:11:52Z"}]}}}}}},"parameters":[{"in":"path","name":"attempt_id","required":true,"schema":{"type":"string","description":"the `id` of attempt"}}]}},"/categories/learn":{"post":{"summary":"Improve transaction categorization","description":"Your customers can change the category of some of their transactions, thus improving the categorization accuracy.\n","tags":["Categories"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearnCategoryResponse"},"example":{"data":{"learned":true}}}}},"400":{"description":"We have received some other request format instead of JSON, or the body could not be parsed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriesRequestBody"}}}}}},"/categories":{"get":{"summary":"List of categories","description":"You can get the list of [all the categories that we support](/data_enrichment/v5/#categories-list).","tags":["Categories"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriesResponse"},"example":{"data":{"business":{"equipment_and_materials":["electronics","software","supplies_and_furniture","raw_materials","consumer_goods"],"financials":["dividends","donations","interest","fees","fines","loans"],"human_resources":["wages","bonus","employee_benefits","education_and_trainings","staff_outsourcing","travel","entertainment","meals"],"income":["investments","sales","returns","prepayments"],"insurance":["business_insurance","liability_insurance","health_insurance","equipment_insurance","vehicle_insurance","professional_insurance"],"real_estate":["office_rent","mortgage","construction_and_repair"],"services":["contractors","accounting_and_auditing","legal","consulting","storage","marketing_and_media","online_subscriptions","it_services","cleaning"],"taxes":["vat","federal_taxes","property_taxes","income_taxes","duty_taxes","tax_return","payroll_taxes"],"transport":["shipping","leasing","gas_and_fuel","taxi","service_and_parts"],"uncategorized":[],"utilities":["internet","phone","water","gas","electricity"]},"personal":{"auto_and_transport":["car_rental","gas_and_fuel","parking","public_transportation","service_and_parts","taxi"],"bills_and_utilities":["internet","phone","television","utilities"],"business_services":["advertising","office_supplies","shipping"],"education":["books_and_supplies","student_loan","tuition"],"entertainment":["amusement","arts","games","movies_and_music","newspapers_and_magazines"],"fees_and_charges":["provider_fee","loans","service_fee","taxes"],"food_and_dining":["alcohol_and_bars","cafes_and_restaurants","groceries"],"gifts_and_donations":["charity","gifts"],"health_and_fitness":["doctor","personal_care","pharmacy","sports","wellness"],"home":["home_improvement","home_services","home_supplies","mortgage","rent"],"income":["bonus","investment_income","paycheck"],"insurance":["car_insurance","health_insurance","life_insurance","property_insurance"],"kids":["allowance","babysitter_and_daycare","baby_supplies","child_support","kids_activities","toys"],"pets":["pet_food_and_supplies","pet_grooming","veterinary"],"shopping":["clothing","electronics_and_software","sporting_goods"],"transfer":[],"travel":["hotel","transportation","vacation"],"uncategorized":[]}}}}}}}}},"/connect_sessions/create":{"post":{"summary":"Create Connect session","description":"Allows you to create a connect session, which will be used to access Salt Edge Connect for connection creation.","tags":["Connect Sessions"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectSessionResponse"},"example":{"data":{"expires_at":"2026-07-07T14:11:52Z","connect_url":"https://www.saltedge.com/connect?token=GENERATED_TOKEN"}}}}},"406":{"description":"Invalid consent period_days value or not allowed by provider","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"A customer with such `customer_id` could not be found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"The passed `from_date` - `to_date` interval is out of consent `from_date` - `to_date` range","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectSessionRequestBody"}}}}}},"/connect_sessions/reconnect":{"post":{"summary":"Create Connect session to reconnect","description":"Allows you to create a connect session, which will be used to access Salt Edge Connect to reconnect a connection.","tags":["Connect Sessions"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectSessionResponse"},"example":{"data":{"expires_at":"2026-07-07T14:11:52Z","connect_url":"https://www.saltedge.com/connect?token=GENERATED_TOKEN"}}}}},"406":{"description":"Invalid consent period_days value or not allowed by provider","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"A customer with such `customer_id` could not be found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"The passed `from_date` - `to_date` interval is out of consent `from_date` - `to_date` range","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconnectSessionRequestBody"}}}}}},"/connect_sessions/refresh":{"post":{"summary":"Create Connect session to refresh","description":"Allows you to create a connect session, which will be used to access Salt Edge Connect to refresh a connection.","tags":["Connect Sessions"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectSessionResponse"},"example":{"data":{"expires_at":"2026-07-07T14:11:52Z","connect_url":"https://www.saltedge.com/connect?token=GENERATED_TOKEN"}}}}},"406":{"description":"The accessed provider has the `disabled` status. Hence, is no longer supported","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"We could not find a connection with the requested `connection_id`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"The passed `from_date` - `to_date` interval is out of consent `from_date` - `to_date` range","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshSessionRequestBody"}}}}}},"/connection":{"get":{"summary":"Show a connection","description":"Returns a single connection object.","tags":["Connections"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionResponse"},"example":{"data":{"country_code":"MD","created_at":"2020-05-07T20:09:02Z","customer_id":"222222222222222222","daily_refresh":false,"id":"111111111111111111","secret":"AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8","categorization":"personal","show_consent_confirmation":false,"last_consent_id":"555555555555555555","last_attempt":{"api_mode":"service","api_version":"5","automatic_fetch":true,"user_present":false,"daily_refresh":false,"categorize":true,"created_at":"2020-05-07T16:14:53Z","customer_last_logged_at":"2026-07-07T10:11:52Z","custom_fields":{},"device_type":"desktop","remote_ip":"93.184.216.34","exclude_accounts":[],"fail_at":null,"fail_error_class":null,"fail_message":null,"fetch_scopes":["accounts","transactions"],"finished":true,"finished_recent":true,"from_date":null,"id":"777777777777777777","interactive":false,"locale":"en","partial":false,"store_credentials":true,"success_at":"2020-06-02T16:16:19Z","to_date":null,"unduplication_strategy":"mark_as_duplicate","updated_at":"2020-06-02T16:16:19Z","show_consent_confirmation":false,"consent_id":"555555555555555555","include_natures":["account","card","bonus"],"last_stage":{"created_at":"2020-06-02T16:16:19Z","id":"888888888888888888","interactive_fields_names":null,"interactive_html":null,"name":"finish","updated_at":"2020-06-02T16:16:19Z"}},"last_success_at":"2020-06-02T16:16:19Z","next_refresh_possible_at":"2020-06-02T17:16:19Z","provider_id":"1234","provider_code":"moldindconbank_wb_md","provider_name":"Moldindconbank Web Banking","status":"active","store_credentials":true,"updated_at":"2020-06-02T09:41:23Z"}}}}},"404":{"description":"We could not find a connection with the requested `connection_id`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"put":{"summary":"Update connection","description":"Update `status`, `store_credentials`, `daily_refresh` or `categorization` of a connection.\n","tags":["Connections"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionResponse"},"example":{"data":{"country_code":"MD","created_at":"2020-07-06T20:09:02Z","customer_id":"222222222222222222","daily_refresh":false,"id":"111111111111111111","secret":"AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8","categorization":"personal","show_consent_confirmation":false,"last_consent_id":"555555555555555555","last_attempt":{"api_mode":"service","api_version":"5","automatic_fetch":true,"user_present":false,"daily_refresh":false,"categorize":true,"created_at":"2020-07-06T16:14:53Z","customer_last_logged_at":"2026-07-07T10:11:52Z","custom_fields":{},"device_type":"desktop","remote_ip":"93.184.216.34","exclude_accounts":[],"fail_at":null,"fail_error_class":null,"fail_message":null,"fetch_scopes":["accounts","transactions"],"finished":true,"finished_recent":true,"from_date":null,"id":"425036","interactive":false,"locale":"en","partial":false,"store_credentials":true,"success_at":"2020-07-06T16:16:19Z","to_date":null,"unduplication_strategy":"mark_as_duplicate","updated_at":"2020-07-06T16:16:19Z","show_consent_confirmation":false,"consent_id":"555555555555555555","include_natures":["account","card","bonus"],"last_stage":{"created_at":"2020-07-06T16:16:19Z","id":"888888888888888888","interactive_fields_names":null,"interactive_html":null,"name":"finish","updated_at":"2020-07-06T16:16:19Z"}},"last_success_at":"2020-07-06T16:16:19Z","next_refresh_possible_at":null,"provider_id":"1234","provider_code":"moldindconbank_wb_md","provider_name":"Moldindconbank Web Banking","status":"inactive","store_credentials":false,"updated_at":"2020-07-06T09:41:23Z"}}}}},"404":{"description":"We could not find a connection with the requested `connection_id`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"The JSON request is incorrectly formed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateConnectionRequestBody"}}}}},"delete":{"summary":"Remove a connection","description":"Removes a connection from our system and revokes the consent.\nAll the associated accounts and transactions to that connection will be destroyed as well.\nSalt Edge will send a [destroy](#destroy) callback to your web application. Make sure to specify the `Destroy URL` in your client account by accessing \u003ca href='https://www.saltedge.com/clients/callbacks/edit' target=\"_blank\"\u003ecallbacks page\u003c/a\u003e.\n","tags":["Connections"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemovedConnectionResponse"},"example":{"data":{"id":"111111111111111111","removed":true}}}}},"406":{"description":"Too many connections are being processed at the same time from one application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"We could not find a connection with the requested `connection_id`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"summary":"Create a connection","description":"When not using [Salt Edge Connect](#salt_edge_connect), your app will have to pass\nthe user's values of provider's [fields](#providers-fields) within the payload.\n\nThe credentials object should be modeled after the provider's fields.\n","tags":["Connections"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionResponse"},"example":{"data":{"country_code":"XF","created_at":"2026-07-06T13:11:52Z","customer_id":"222222222222222222","daily_refresh":false,"id":"111111111111111111","secret":"AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8","show_consent_confirmation":false,"last_consent_id":"555555555555555555","last_attempt":{"api_mode":"service","api_version":"5","automatic_fetch":true,"user_present":true,"daily_refresh":false,"categorize":true,"created_at":"2026-07-07T12:31:52Z","customer_last_logged_at":"2026-07-07T10:11:52Z","custom_fields":{},"device_type":"desktop","remote_ip":"93.184.216.34","exclude_accounts":[],"fail_at":null,"fail_error_class":null,"fail_message":null,"fetch_scopes":["accounts","transactions"],"finished":true,"finished_recent":true,"from_date":"2020-06-07","id":"777777777777777777","interactive":false,"locale":"en","partial":false,"store_credentials":true,"success_at":"2026-07-07T12:31:52Z","to_date":"2026-07-07","unduplication_strategy":"mark_as_duplicate","updated_at":"2026-07-07T12:31:52Z","show_consent_confirmation":false,"consent_id":"555555555555555555","include_natures":["account","card","bonus"],"last_stage":{"created_at":"2026-07-07T12:31:52Z","id":"888888888888888888","interactive_fields_names":null,"interactive_html":null,"name":"finish","updated_at":"2026-07-07T12:31:52Z"}},"last_success_at":"2026-07-07T12:31:52Z","next_refresh_possible_at":"2026-07-07T14:11:52Z","provider_id":"1234","provider_code":"fakebank_simple_xf","provider_name":"Fakebank Simple","status":"active","store_credentials":true,"updated_at":"2026-07-07T12:31:52Z"}}}}},"406":{"description":"Connection fetching had stopped because of fetching timeout or connection was deleted during fetch process","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Sending a `provider_code` that is not present in our system","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"The client tried to create a connection that already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Provider with the `file` mode was chosen, but no file was uploaded before creating or reconnecting a connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectionRequestBody"}}}}}},"/connection/reconnect":{"put":{"summary":"Reconnect a connection","description":"In order to [reconnect](#connections-reconnect) a connection, your app needs to send the credentials object, connection's `id`, [consent object](#consents-object) and/or [attempt object](#attempts-object). This means that the consent confirmation should be handled on the client's side, and the 'access terms' the customer agreed on should be passed.\n","tags":["Connections"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionResponse"},"example":{"data":{"country_code":"XF","created_at":"2026-07-06T13:11:52Z","customer_id":"222222222222222222","daily_refresh":false,"id":"111111111111111111","secret":"AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8","categorization":"personal","show_consent_confirmation":false,"last_consent_id":"555555555555555555","last_attempt":{"api_mode":"service","api_version":"5","automatic_fetch":true,"user_present":true,"daily_refresh":true,"categorize":true,"created_at":"2026-07-07T12:31:52Z","customer_last_logged_at":"2026-07-07T10:11:52Z","custom_fields":{},"device_type":"desktop","remote_ip":"93.184.216.34","exclude_accounts":[],"fail_at":null,"fail_error_class":null,"fail_message":null,"fetch_scopes":["accounts"],"finished":true,"finished_recent":true,"from_date":null,"id":"777777777777777777","interactive":false,"locale":"en","partial":false,"store_credentials":true,"success_at":"2026-07-07T12:31:52Z","to_date":null,"unduplication_strategy":"mark_as_duplicate","updated_at":"2026-07-07T12:31:52Z","show_consent_confirmation":false,"consent_id":"555555555555555555","include_natures":["account","card","bonus"],"last_stage":{"created_at":"2026-07-07T12:31:52Z","id":"888888888888888888","interactive_fields_names":null,"interactive_html":null,"name":"finish","updated_at":"2026-07-07T12:31:52Z"}},"last_success_at":"2026-07-07T12:31:52Z","next_refresh_possible_at":"2026-07-07T14:11:52Z","provider_id":"1234","provider_code":"fakebank_simple_xf","provider_name":"Fakebank Simple","status":"active","store_credentials":true,"updated_at":"2026-07-07T12:31:52Z"}}}}},"404":{"description":"We could not find a connection with the requested `connection_id`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"406":{"description":"Background fetch limit (4 times in a 24 hour period) was exceeded (without the user's presence). This restriction applies only to PSD2 providers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"The passed `from_date` - `to_date` interval is out of consent `from_date` - `to_date` range","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconnectConnectionRequestBody"}}}}}},"/connection/refresh":{"put":{"summary":"Refresh a connection","description":"Allows you to trigger a refetch of the data associated with a specific connection.\nNote that you can refresh a connection only if it has an active [consent](#consents).\nIf the response is successful, it will contain the `next_refresh_possible_at` value, and you can expect the [usual callbacks](#callbacks) of the fetching workflow.\n","tags":["Connections"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionResponse"},"example":{"data":{"country_code":"MD","created_at":"2020-07-06T20:09:02Z","customer_id":"222222222222222222","daily_refresh":false,"id":"111111111111111111","secret":"AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8","categorization":"personal","show_consent_confirmation":false,"last_consent_id":"555555555555555555","last_attempt":{"api_mode":"service","api_version":"5","automatic_fetch":true,"user_present":false,"daily_refresh":true,"categorize":true,"created_at":"2020-07-06T16:14:53Z","customer_last_logged_at":"2026-07-07T10:11:52Z","custom_fields":{},"device_type":"desktop","remote_ip":"93.184.216.34","exclude_accounts":[],"fail_at":null,"fail_error_class":null,"fail_message":null,"fetch_scopes":["accounts","transactions"],"finished":true,"finished_recent":true,"from_date":null,"id":"777777777777777777","interactive":false,"locale":"en","partial":false,"store_credentials":true,"success_at":"2020-07-06T16:16:19Z","to_date":null,"unduplication_strategy":"mark_as_duplicate","updated_at":"2020-07-06T16:16:19Z","show_consent_confirmation":false,"consent_id":"555555555555555555","include_natures":["account","card","bonus"],"last_stage":{"created_at":"2020-07-06T16:16:19Z","id":"888888888888888888","interactive_fields_names":null,"interactive_html":null,"name":"finish","updated_at":"2016-02-02T16:16:19Z"}},"last_success_at":"2020-07-06T16:16:19Z","next_refresh_possible_at":"2020-07-06T17:16:19Z","provider_id":"1234","provider_code":"moldindconbank_wb_md","provider_name":"Moldindconbank Web Banking","status":"active","store_credentials":true,"updated_at":"2020-07-06T09:41:23Z"}}}}},"404":{"description":"We could not find a connection with the requested `connection_id`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"406":{"description":"Refresh is not possible because the consent has expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"The passed `from_date` - `to_date` interval is out of consent `from_date` - `to_date` range","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshConnectionRequestBody"}}}}}},"/connection/interactive":{"put":{"summary":"Interactive step","description":"If the currently fetching connection requires any interactive credentials for fetching, Salt Edge will send the [Interactive callback](#interactive). Make sure to specify the `Interactive URL` in your client account by accessing \u003ca href='https://www.saltedge.com/clients/callbacks/edit' target=\"_blank\"\u003ecallbacks page\u003c/a\u003e.\n\nUpon receiving the interactive callback, your app should ask the user for the interactive credentials and send them to the `/interactive` route for the connection. After that, the fetching process will continue as usual.\n","tags":["Connections"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionResponse"},"example":{"data":{"country_code":"XF","created_at":"2026-07-06T13:11:52Z","customer_id":"222222222222222222","daily_refresh":false,"id":"111111111111111111","secret":"AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8","categorization":"personal","show_consent_confirmation":false,"last_consent_id":"555555555555555555","last_attempt":{"api_mode":"service","api_version":"5","automatic_fetch":false,"user_present":false,"daily_refresh":false,"categorize":true,"created_at":"2026-07-07T12:31:52Z","customer_last_logged_at":"2026-07-07T10:11:52Z","custom_fields":{},"device_type":"desktop","remote_ip":"93.184.216.34","exclude_accounts":[],"fail_at":null,"fail_error_class":null,"fail_message":null,"fetch_scopes":["accounts","transactions"],"finished":false,"finished_recent":false,"from_date":null,"id":"777777777777777777","interactive":true,"locale":"en","partial":true,"store_credentials":true,"success_at":"2026-07-07T12:31:52Z","to_date":null,"unduplication_strategy":"mark_as_duplicate","updated_at":"2026-07-07T12:31:52Z","show_consent_confirmation":false,"consent_id":"555555555555555555","include_natures":["account","card","bonus"],"last_stage":{"created_at":"2026-07-07T12:31:52Z","id":"888888888888888888","interactive_fields_names":["sms"],"interactive_html":"\u003cinput type='text' name='smsi placeholder=iSms'\u003e","name":"interactive","updated_at":"2026-07-07T12:31:52Z"}},"last_success_at":"2026-07-07T12:31:52Z","next_refresh_possible_at":"2026-07-07T14:11:52Z","provider_id":"1234","provider_code":"fakebank_interactive_xf","provider_name":"Fake Bank with SMS","status":"active","updated_at":"2026-07-07T12:31:52Z"}}}}},"404":{"description":"We could not find a connection with the requested `connection_id`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"406":{"description":"You have excluded all the accounts from the connection fetching process","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"The JSON request is incorrectly formed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractiveConnectionRequestBody"}}}}}},"/consents":{"get":{"summary":"List of consents","description":"Returns all the consents accessible to your application for a certain customer or a connection.","tags":["Consents"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentsResponse"},"example":{"data":[{"id":"555555555555555555","scopes":["account_details","transactions_details"],"period_days":60,"expires_at":"2026-09-05T10:11:52Z","from_date":"2026-06-07","to_date":null,"status":"active","collected_by":"client","revoked_at":null,"revoke_reason":null,"created_at":"2026-07-07T10:11:52Z","updated_at":"2026-07-07T10:11:52Z"}],"meta":{"next_id":"555555555555555556","next_page":"/api/v5/consents?from_id=555555555555555556"}}}}},"404":{"description":"A customer with such `customer_id` could not be found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"in":"query","name":"from_id","required":false,"schema":{"type":"string","description":"the `id` from which the next page of consents starts"}}]}},"/consents/{consent_id}":{"get":{"summary":"Show consent","description":"Returns the [consent object](#consents-attributes).","tags":["Consents"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentResponse"},"example":{"data":{"id":"555555555555555555","scopes":["account_details","transactions_details"],"period_days":60,"expires_at":"2026-09-05T10:11:52Z","from_date":"2026-06-07","to_date":null,"status":"active","collected_by":"client","revoked_at":null,"revoke_reason":null,"created_at":"2026-07-07T10:11:52Z","updated_at":"2026-07-07T10:11:52Z"}}}}},"404":{"description":"A consent with such an `id` does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"in":"path","name":"consent_id","required":true,"schema":{"type":"string","description":"the `id` of the consent"}}]}},"/consents/{consent_id}/revoke":{"put":{"summary":"Revoke consent","description":"Allows you to revoke a consent for a connection or a customer.","tags":["Consents"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentResponse"},"example":{"data":{"id":"555555555555555555","scopes":["account_details","transactions_details"],"period_days":60,"expires_at":"2026-09-05T10:11:52Z","from_date":"2026-06-07","to_date":null,"collected_by":"client","revoked_at":"2026-07-07T13:11:52Z","revoke_reason":"client","created_at":"2026-07-07T10:11:52Z","updated_at":"2026-07-07T10:11:52Z"}}}}},"404":{"description":"A consent with such an `id` does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"406":{"description":"The consent has already been revoked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"in":"path","name":"consent_id","required":true,"schema":{"type":"string","description":"the `id` of the consent"}}]}},"/countries":{"get":{"summary":"List of countries","description":"Returns a list of countries supported by Account Information API.","tags":["Countries"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountriesResponse"},"example":{"data":[{"code":"CZ","name":"Czech Republic","refresh_start_time":1},{"code":"IL","name":"Israel","refresh_start_time":7},{"code":"MD","name":"Moldova","refresh_start_time":0},{"code":"RO","name":"Romania","refresh_start_time":0},{"code":"ES","name":"Spain","refresh_start_time":1},{"code":"GB","name":"United Kingdom","refresh_start_time":23},{"code":"XF","name":"Fake","refresh_start_time":8},{"code":"XO","name":"Other","refresh_start_time":4}]}}}}},"parameters":[{"in":"query","name":"include_fake_providers","required":false,"schema":{"type":"boolean","enum":[true,false],"description":"Whether you wish to fetch the fake countries."}}]}},"/currencies":{"get":{"summary":"List of currencies","description":"You can get the list of all the currencies that we support.","tags":["Currencies"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrenciesResponse"},"example":{"data":[{"code":"AED","name":"United Arab Emirates dirham"},{"code":"AFN","name":"Afghan afghani"},{"code":"ALL","name":"Albanian lek"},{"code":"AMD","name":"Armenian dram"},{"code":"ANG","name":"Netherlands Antillean guilder"},{"code":"AOA","name":"Angolan kwanza"},{"code":"ARS","name":"Argentine peso"},{"code":"AUD","name":"Australian dollar"},{"code":"AWG","name":"Aruban florin"}]}}}}}}},"/customers":{"post":{"summary":"Creates a customer.","description":"Creates a customer, returning the customer object.","tags":["Customers"],"responses":{"201":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedCustomerResponse"},"example":{"data":{"id":"222222222222222222","identifier":"12rv1212f1efxchsdhbgv","secret":"AtQX6Q8vRyMrPjUVtW7J_O1n06qYQ25bvUJ8CIC80-8","created_at":"2020-03-12T09:20:01Z","updated_at":"2020-03-12T09:20:01Z"}}}}},"409":{"description":"The customer you are trying to create already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"We have received some other request format instead of JSON, or the body could not be parsed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"406":{"description":"Invalid identifier sent for creatinng a customer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerRequestBody"}}}}}},"/holder_info":{"get":{"summary":"Holder info","description":"You can query essential information about the account holder.\nMake sure to request this feature to be [enabled](#know_your_customer) for your client account.\n","tags":["Holder Info"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HolderInfoResponse"},"example":{"data":{"names":["John Doe"],"emails":["john.doe@example.com","johndoe@gmail.com"],"phone_numbers":["+40981233422"],"addresses":[{"city":"Cupertino","state":"CA","street":"1 Infinite Loop","country_code":"US","post_code":"95014"}]}}}}}}}},"/merchants":{"post":{"summary":"List of merchants","description":"","tags":["Merchants"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MerchantResponse"},"example":{"data":[{"id":"f6dabf8bb3e1cbc7cce2f4571...","names":[{"mode":"name","value":"Amazon"},{"mode":"transliterated_name","value":"amazon"}],"contact":[{"mode":"website","value":"www.amazon.com"}],"address":{"country_code":"GB"}},{"id":"ae316a83508ecaa8897e90321...","names":[{"mode":"name","value":"Boots"},{"mode":"transliterated_name","value":"boots"},{"mode":"operator","value":"Boots Uk Limited"}],"contact":[{"mode":"phone","value":"+44 20 73818651"},{"mode":"website","value":"http://www.boots.com/stores/773-london-fulham-palace-road-w6-9pa"}],"address":{"country_code":"GB","city":"London","transliterated_city":"london","street":"Fulham Palace Road","transliterated_street":"fulham palace road","post_code":"W6 9Pa","coordinates":{"latitude":"51.48467107","longitude":"-0.220126411"},"extra":{"building_number":"198-200","shop_number":"773","type_of_shop":"Chemist"}}}]}}}},"406":{"description":"More than 100 objects were sent in the request (100 is the limit)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MerchantRequestBody"}}}}}},"/oauth_providers/authorize":{"put":{"summary":"Authorize a connection","description":"Used to authorize a connection for an OAuth provider when using client owned [provider keys](/account_information/v5/#client_provider_keys). In this flow, once the end-user will be authorized on the provider's side, they will be redirected to the `return_to` URL indicated in the [previous request](#oauth_providers-create), with a bunch of parameters appended to it by the provider that are needed for authorizing the connection.\n","tags":["Oauth Providers"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthAuthorizedResponse"},"example":{"data":{"country_code":"XF","created_at":"2026-07-06T13:11:52Z","customer_id":"222222222222222222","daily_refresh":false,"id":"111111111111111111","categorization":"personal","show_consent_confirmation":false,"last_consent_id":"555555555555555555","last_attempt":{"api_mode":"service","api_version":"5","automatic_fetch":true,"user_present":true,"daily_refresh":false,"categorize":true,"created_at":"2026-07-07T12:31:52Z","customer_last_logged_at":"2026-07-07T10:11:52Z","custom_fields":{},"device_type":"desktop","remote_ip":"93.184.216.34","exclude_accounts":[],"fail_at":null,"fail_error_class":null,"fail_message":null,"fetch_scopes":["accounts","transactions"],"finished":true,"finished_recent":true,"from_date":null,"id":"777777777777777777","interactive":true,"locale":"en","partial":false,"store_credentials":true,"success_at":"2026-07-07T12:31:52Z","to_date":null,"updated_at":"2026-07-07T12:31:52Z","show_consent_confirmation":false,"consent_id":"555555555555555555","include_natures":["account","card","bonus"],"last_stage":{"created_at":"2026-07-07T12:31:52Z","id":"888888888888888888","interactive_fields_names":null,"interactive_html":null,"name":"finish","updated_at":"2026-07-07T12:31:52Z"}},"last_success_at":"2026-07-07T12:31:52Z","next_refresh_possible_at":"2026-07-07T14:11:52Z","provider_id":"1234","provider_code":"fakebank_oauth_xf","provider_name":"Fakebank Oauth","status":"inactive","store_credentials":true,"updated_at":"2026-07-07T12:31:52Z"}}}}},"409":{"description":"The connection was already authorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"The JSON request is incorrectly formed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthAuthorizeRequestBody"}}}}}},"/oauth_providers/create":{"post":{"summary":"Create connection for OAuth provider","description":"Used to create a connection for an OAuth provider.\nAfter receiving the response, the customer will be redirected to `return_to` URL.\n\nMobile clients receive a `connection_secret` parameter in the `return_to` URL if the connection was successfully connected and an `error_message` parameter if the connection failed to connect for some reason.\n","tags":["Oauth Providers"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthConnectResponse"},"example":{"data":{"connection_id":"111111111111111111","connection_secret":"secret","attempt_id":"777777777777777777","token":"GENERATED_TOKEN","expires_at":"2026-07-07T14:11:52Z","redirect_url":"https://www.saltedge.com/api/v5/oauth_providers/redirect?token=GENERATED_TOKEN"}}}}},"406":{"description":"Invalid consent period_days value or not allowed by provider","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"A customer with such `customer_id` could not be found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"The passed `from_date` - `to_date` interval is out of consent `from_date` - `to_date` range","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthConnectRequestBody"}}}}}},"/oauth_providers/reconnect":{"post":{"summary":"Reconnect OAuth connection","description":"Used to reconnect a connection for an OAuth provider.\nAfter receiving the response, the customer will be redirected to the `return_to` URL.\n\nMobile clients receive a `connection_secret` parameter in the `return_to` URL if the connection was successfully connected and an `error_message` parameter if the connection failed to connect for some reason.\n","tags":["Oauth Providers"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthConnectResponse"},"example":{"data":{"connection_id":"111111111111111111","connection_secret":"secret","attempt_id":"777777777777777777","token":"GENERATED_TOKEN","expires_at":"2026-07-07T14:11:52Z","redirect_url":"https://www.saltedge.com/connect?token=GENERATED_TOKEN"}}}}},"406":{"description":"The accessed provider has the `disabled` status. Hence, is no longer supported","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"We could not find a connection with the requested `connection_id`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"The passed `from_date` - `to_date` interval is out of consent `from_date` - `to_date` range","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OauthReconnectRequestBody"}}}}}},"/providers/{provider_code}":{"get":{"summary":"Show a provider","description":"Allows you to inspect a single provider in order to give\nyour users a proper interface to input their credentials.\nThe response will have an array of `required_fields` and `interactive_fields`,\nwhich are explained in more detail in [the create section](#connections-create) of this reference.\n","tags":["Providers"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderResponse"},"example":{"data":{"id":"67","code":"fakebank_interactive_xf","name":"Fake Bank with SMS","mode":"web","status":"active","automatic_fetch":false,"dynamic_registration_code":null,"group_code":"fake","group_name":"Fake","hub":null,"interactive":true,"instruction":"Valid credentials for this provider are:\nlogin - any string which starts with \"username\",\npassword - \"secret\",\nsms - \"123456\"\n","refresh_timeout":5,"customer_notified_on_sign_in":false,"home_url":"http://example.com","login_url":"http://example.com/login","forum_url":"https://www.saltedge.com/support_requests/new?provider_code=fakebank_interactive_xf","logo_url":"https://d1uuj3mi6rzwpm.cloudfront.net/logos/providers/xf/fakebank_interactive_xf.svg","country_code":"XF","created_at":"2014-03-19T17:55:44Z","updated_at":"2019-03-07T09:57:26Z","timezone":"UTC","holder_info":[],"max_consent_days":null,"identification_mode":"saltedge","max_interactive_delay":180,"optional_interactivity":false,"regulated":false,"max_fetch_interval":60,"supported_fetch_scopes":["accounts","transactions"],"supported_account_natures":["account","card"],"supported_account_types":["personal"],"identification_codes":["123123"],"bic_codes":["ABCDEFGH"],"supported_iframe_embedding":true,"supported_account_extra_fields":["account_name","account_number","card_type","cards","client_name","iban","sort_code","status","swift"],"supported_transaction_extra_fields":["convert","original_amount","original_currency_code","payee","posting_date","transfer_account_name"],"payment_templates":["SEPA"],"supported_payment_fields":{"SEPA":["amount","creditor_iban","creditor_name","currency_code","customer_ip_address","description","end_to_end_id"]},"required_payment_fields":{"SEPA":["amount","creditor_iban","creditor_name","currency_code","customer_ip_address","description","end_to_end_id"]},"required_fields":[{"name":"login","english_name":"Login","localized_name":"Login","nature":"text","position":1,"optional":false,"extra":{}},{"name":"password","english_name":"Password","localized_name":"Password","nature":"password","position":2,"optional":false,"extra":{}}],"interactive_fields":[{"name":"sms","english_name":"SMS code","localized_name":"SMS code","nature":"number","position":1,"optional":false,"extra":{}}]}}}}},"404":{"description":"Sending a `provider_code` that is not present in our system","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"in":"path","name":"provider_code","required":true,"schema":{"type":"string","description":"provider's code"}},{"in":"query","name":"include_payments_fields","required":false,"schema":{"type":"boolean","description":"whether you wish to include `supported_payment_fields` and `required_payment_fields`"}}]}},"/providers":{"get":{"summary":"List of providers","description":"Returns all the providers we operate with.\nIf a provider becomes `disabled`, it is not included in the list.\n","tags":["Providers"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvidersResponse"},"example":{"data":[{"id":"123","code":"fakebank_image_xf","name":"Fake Bank with Image","mode":"web","status":"active","automatic_fetch":false,"dynamic_registration_code":null,"group_code":"fake","group_name":"Fake","hub":null,"customer_notified_on_sign_in":true,"interactive":true,"identification_mode":"saltedge","instruction":"Please fill in all the fields.","home_url":"http://example.com","login_url":"http://example.com/login","logo_url":"https://cdn.com/logos/providers/xf/fake.svg","country_code":"XF","refresh_timeout":60,"holder_info":["names","emails","phone_numbers"],"max_consent_days":10,"created_at":"2026-06-27T13:11:52Z","updated_at":"2026-07-02T13:11:52Z","timezone":"Europe/London","max_interactive_delay":480,"optional_interactivity":true,"regulated":false,"max_fetch_interval":60,"supported_fetch_scopes":["accounts","transactions"],"supported_account_extra_fields":[],"supported_transaction_extra_fields":[],"supported_account_natures":["account","card"],"supported_account_types":["personal"],"identification_codes":["123123"],"bic_codes":["ABCDEFGH"],"supported_iframe_embedding":true,"payment_templates":["SEPA"],"supported_payment_fields":{"SEPA":["amount","creditor_iban","creditor_name","currency_code","customer_ip_address","description","end_to_end_id"]},"required_payment_fields":{"SEPA":["amount","creditor_iban","creditor_name","currency_code","customer_ip_address","description","end_to_end_id"]}}],"meta":{"next_id":null,"next_page":null}}}}},"400":{"description":"Sending a date value that does not fit in admissible range","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"in":"query","name":"from_id","required":false,"schema":{"type":"string","nullable":true,"description":"the `id` of the provider which the list starts with."}},{"in":"query","name":"from_date","required":false,"schema":{"type":"string","nullable":true,"format":"date","description":"Filtering providers by the `updated_at` attribute, starting from this date."}},{"in":"query","name":"country_code","required":false,"schema":{"type":"string","nullable":true,"description":"filtering providers by country."}},{"in":"query","name":"mode","required":false,"schema":{"type":"string","enum":["oauth","web","api","file"],"description":"filtering providers by mode."}},{"in":"query","name":"include_fake_providers","required":false,"schema":{"type":"boolean","description":"whether you wish to fetch the fake providers."}},{"in":"query","name":"include_provider_fields","required":false,"schema":{"type":"boolean","description":"whether you wish to include all provider fields in the provider objects."}},{"in":"query","name":"provider_key_owner","required":false,"schema":{"type":"string","enum":["client","saltedge"],"description":"filtering providers by key owner. When value is set as `client`, only providers with client-set keys will be returned. Please see [Client Provider Keys](/account_information/v5/#client_provider_keys)."}},{"in":"query","name":"include_payments_fields","required":false,"schema":{"type":"boolean","description":"whether you wish to include `supported_payment_fields` and `required_payment_fields`"}}]}},"/rates":{"get":{"summary":"List of rates","description":"You can get the list of all the currency rates that we support.\nYou will receive the currency rates starting March 21, 2014.\nIf any older date is requested, you will still receive the rates starting March 21, 2014.\n","tags":["Rates"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatesResponse"},"example":{"data":[{"currency_code":"ZMK","rate":0.0001926968,"fail":false},{"currency_code":"ZWL","rate":0.0031021699,"fail":false},{"currency_code":"ZMW","rate":0.1589825119,"fail":false},{"currency_code":"AED","rate":0.2722570106,"fail":false}],"meta":{"issued_on":"2020-03-21"}}}}},"400":{"description":"Sending a date value that does not fit in admissible range","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"in":"query","name":"date","required":false,"schema":{"type":"string","format":"date","description":"date for which currency rates will be retrieved"}}]}},"/transactions/duplicate":{"put":{"summary":"Mark as duplicate","description":"Mark a list of transactions as `duplicated`.","tags":["Transactions"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicatedTransactionResponse"},"example":{"data":{"duplicated":true}}}}},"406":{"description":"The client is in `restricted` status. You can find out more about `restricted` status on [Restricted](\u003c%= general_link('restricted') %\u003e) guides page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"The JSON request is incorrectly formed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicateTransactionsRequestBody"}}}}}},"/transactions/unduplicate":{"put":{"summary":"Remove duplicate flag","description":"Remove the duplicated flag from a list of transactions.","tags":["Transactions"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnduplicatedTransactionResponse"},"example":{"data":{"unduplicated":true}}}}},"406":{"description":"The client is in `restricted` status. You can find out more about `restricted` status on [Restricted](\u003c%= general_link('restricted') %\u003e) guides page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"The JSON request is incorrectly formed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnduplicateTransactionsRequestBody"}}}}}},"/transactions/duplicates":{"get":{"summary":"List of duplicated transactions","description":"You can see the list of the duplicated transactions of an account.","tags":["Transactions"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionsResponse"},"example":{"data":[{"id":"444444444444444444","duplicated":true,"mode":"normal","status":"posted","made_on":"2020-05-03","amount":-200.0,"currency_code":"USD","description":"test transaction","category":"advertising","extra":{"original_amount":-3974.6,"original_currency_code":"CZK","posting_date":"2020-05-07","time":"23:56:12"},"account_id":"333333333333333333","created_at":"2026-07-05T13:11:52Z","updated_at":"2026-07-06T13:11:52Z"},{"id":"444444444444444445","duplicated":true,"mode":"normal","status":"posted","made_on":"2020-05-03","amount":50.0,"currency_code":"USD","description":"business expense","category":"business_services","extra":{"original_amount":993.9,"original_currency_code":"CZK","posting_date":"2020-05-06","time":"12:16:25"},"account_id":"333333333333333333","created_at":"2026-07-05T13:11:52Z","updated_at":"2026-07-06T13:11:52Z"}],"meta":{"next_id":"444444444444444446","next_page":"/api/v5/transactions/?account_id=333333333333333333\u0026from_id=444444444444444446"}}}}},"404":{"description":"An account with the sent `account_id` could not be found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Sending a value (e.g. `id`) which exceeds integer limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"in":"query","name":"account_id","required":false,"schema":{"type":"string","description":"the `id` of the account"}},{"in":"query","name":"from_id","required":false,"schema":{"type":"string","description":"the `id` of the transaction which the list starts with"}}]}},"/transactions":{"get":{"summary":"List of transactions","description":"You can see the list of non-duplicated transactions of an account.","tags":["Transactions"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionsResponse"},"example":{"data":[{"id":"444444444444444444","duplicated":false,"mode":"normal","status":"posted","made_on":"2020-05-03","amount":-200.0,"currency_code":"USD","description":"test transaction","category":"advertising","extra":{"original_amount":-3974.6,"original_currency_code":"CZK","posting_date":"2020-05-07","time":"23:56:12"},"account_id":"333333333333333333","created_at":"2026-07-05T13:11:52Z","updated_at":"2026-07-06T13:11:52Z"},{"id":"444444444444444445","duplicated":false,"mode":"normal","status":"posted","made_on":"2020-05-03","amount":50.0,"currency_code":"USD","description":"business expense","category":"business_services","extra":{"original_amount":993.9,"original_currency_code":"CZK","posting_date":"2020-05-06","time":"12:16:25"},"account_id":"333333333333333333","created_at":"2026-07-05T13:11:52Z","updated_at":"2026-07-06T13:11:52Z"}],"meta":{"next_id":"444444444444444446","next_page":"/api/v5/transactions/?account_id=333333333333333333\u0026from_id=444444444444444446"}}}}},"404":{"description":"An account with the sent `account_id` could not be found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Sending a value (e.g. `id`) which exceeds integer limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"in":"query","name":"account_id","required":false,"schema":{"type":"string","description":"the `id` of the account"}},{"in":"query","name":"from_id","required":false,"schema":{"type":"string","description":"the `id` of the transaction which the list starts with"}}]},"delete":{"summary":"Remove transactions","description":"Remove transactions older than a specified period.","tags":["Transactions"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemovedTransactionsResponse"},"example":{"data":{"cleanup_started":true}}}}},"404":{"description":"An account with the sent `account_id` could not be found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"406":{"description":"The client is in `restricted` status. You can find out more about `restricted` status on [Restricted](\u003c%= general_link('restricted') %\u003e) guides page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"in":"query","name":"account_id","required":true,"schema":{"type":"string","description":"the `id` of the account"}},{"in":"query","name":"keep_days","required":true,"schema":{"type":"integer","description":"the amount of days for which the transactions will be kept. Transactions older than that will be irreversibly removed. If value is `0`, then all transactions will be removed.\""}}]}},"/transactions/pending":{"get":{"summary":"List of pending transactions","description":"You can use this route to obtain the currently pending transactions for an account.","tags":["Transactions"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionsResponse"},"example":{"data":[{"id":"444444444444444444","duplicated":false,"mode":"normal","status":"pending","made_on":"2020-05-03","amount":-200.0,"currency_code":"USD","description":"ads expense","category":"advertising","extra":{"original_amount":-3974.6,"original_currency_code":"CZK","posting_date":"2020-05-07","time":"23:56:12"},"account_id":"333333333333333333","created_at":"2026-07-05T13:11:52Z","updated_at":"2026-07-06T13:11:52Z"}],"meta":{"next_id":"444444444444444445","next_page":"/api/v5/transactions/pending?account_id=333333333333333333\u0026from_id=444444444444444445"}}}}},"404":{"description":"An account with the sent `account_id` could not be found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Sending a value (e.g. `id`) which exceeds integer limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}},"parameters":[{"in":"query","name":"account_id","required":false,"schema":{"type":"string","description":"the `id` of the account"}},{"in":"query","name":"from_id","required":false,"schema":{"type":"string","description":"the `id` of the transaction which the list starts with"}}]}}},"components":{"securitySchemes":{"app_id":{"type":"apiKey","name":"App-id","in":"header"},"secret":{"type":"apiKey","name":"Secret","in":"header"},"customer_secret":{"type":"apiKey","name":"Customer-secret","in":"header"},"connection_secret":{"type":"apiKey","name":"Connection-secret","in":"header"}},"schemas":{"Account":{"type":"object","required":["id","name","nature","balance","currency_code","extra","connection_id","created_at","updated_at"],"properties":{"id":{"type":"string","description":"the `id` of the account"},"name":{"type":"string","description":"the unique name of the account\n\n\u003cstrong\u003eNote:\u003c/strong\u003e The name directly identifies the account. In case the account’s name has changed (in the bank’s WEB/API interface, through code changes, etc.) a new account will be created.\n"},"nature":{"type":"string","enum":["account","bonus","card","checking","credit","credit_card","debit_card","ewallet","insurance","investment","loan","mortgage","savings"],"description":"the type of the account\n\n\u003cstrong\u003eNote:\u003c/strong\u003e for `credit_card` nature, the balance represents the sum of all negative transactions, the positive ones do not count.\n"},"balance":{"type":"number","description":"the account's current balance"},"currency_code":{"type":"string","description":"one of the possible values for [currency codes](#currencies). Maximum 3 letters.\n\n\u003cstrong\u003eNote:\u003c/strong\u003e The currency directly identifies the account. In case the account’s currency code has changed (in the bank’s WEB/API interface, through code changes, etc.) a new account will be created.\n"},"extra":{"$ref":"#/components/schemas/AccountExtra"},"connection_id":{"type":"string","description":"the `id` of the connection the account belongs to"},"created_at":{"type":"string","format":"date-time","description":"time and date when the account was imported"},"updated_at":{"type":"string","format":"date-time","description":"the last time when the account's balance was changed or new transactions were imported"}}},"AccountExtra":{"allOf":[{"$ref":"#/components/schemas/GeneralAccountExtra"},{"$ref":"#/components/schemas/InsuranceAccountExtra"},{"$ref":"#/components/schemas/InvestmentAccountExtra"}]},"GeneralAccountExtra":{"type":"object","properties":{"account_name":{"type":"string","description":"changeable name of the account."},"account_number":{"type":"string","description":"internal bank account number."},"assets":{"type":"array","description":"array of crypto codes and their amounts assigned to investment account.","items":{"type":"string"}},"available_amount":{"type":"number","description":"available amount in the account's currency."},"balance_type":{"type":"string","description":"__Examples:__ `interimAvailable`, `closingBooked`, `interimBooked`, `authorised`, `expected`, `BOOKED`, `CLAV`, `CLBD`, `XPCD`, `OTHR`, etc.\n\n__Note:__ The value is specific to the financial institution and can vary depending on the API standard, the bank's implementation, the account's type, country/region peculiarities, etc. This field holds an informative meaning. Usually, it is used to verify the balance consistency between customers of the same bank or between banks within the same country.\n"},"blocked_amount":{"type":"number","description":"the amount currently blocked in account's currency."},"card_type":{"type":"string","enum":["american_express","china_unionpay","diners_club","jcb","maestro","master_card","uatp","visa","mir"],"description":"type of the `card` account."},"cards":{"type":"array","description":"list of masked card numbers linked to the account.","items":{"type":"string"}},"client_name":{"type":"string","description":"account client owner."},"closing_balance":{"type":"number","description":"account balance at the end of an accounting period."},"credit_limit":{"type":"number","description":"maximum amount of money that is allowed to be spent in account's currency."},"current_date":{"type":"string","format":"date","description":"date of provider statement generation (applicable to banks)."},"current_time":{"type":"string","format":"date-time","description":"time of provider statement generation (applicable to banks)."},"expiry_date":{"type":"string","format":"date","description":"card expiry date."},"iban":{"type":"string","description":"account's IBAN."},"bban":{"type":"string","description":"Basic Bank Account Number."},"interest_rate":{"type":"number","description":"interest rate of the account as percentage value."},"interest_type":{"type":"string","description":"type of account interest used with interest_rate."},"floating_interest_rate":{"type":"object","description":"minimum and maximum value of the interest rate.","properties":{"min_value":{"type":"number"},"max_value":{"type":"number"}}},"remaining_payments":{"type":"number","description":"the number of remaining payments to pay off the loan."},"penalty_amount":{"type":"number","description":"the amount of the penalty."},"next_payment_amount":{"type":"number","description":"next payment amount for loans or credits."},"next_payment_date":{"type":"string","format":"date","description":"next payment date for loans or credits."},"open_date":{"type":"string","format":"date","description":"the date when any type of account/card was opened."},"opening_balance":{"type":"number","description":"account balance that is brought forward from the end of one accounting period to the beginning of a new accounting period."},"partial":{"type":"boolean","description":"account transactions were not imported or imported partially because of some internal error on the provider's side."},"provider_account_id":{"type":"string","description":"a unique ID assigned by the Provider to identify an account within its system."},"raw_balance":{"type":"string","description":"- The original account balance response returned by the bank.\n- It is added only for `regulated: true` providers.\n- It is returned only if the separate `balances` parameter is present in the bank's original response.\n"},"sort_code":{"type":"string","description":"routing number(US)/BSB code(Australia)/sort code(UK)."},"statement_cut_date":{"type":"string","format":"date","description":"date when current statement becomes previous one."},"status":{"type":"string","description":"shows whether the account is `active`, `inactive` or `unauthorized`."},"swift":{"type":"string","description":"account SWIFT code."},"total_payment_amount":{"type":"number","description":"total payment amount for loans or credits."},"transactions_count":{"type":"object","description":"number of transactions, separated by posted and pending.","properties":{"posted":{"type":"integer"},"pending":{"type":"integer"}}},"payment_type":{"type":"string","description":"account payment method."},"cashback_amount":{"type":"number","description":"accumulated CashBack / Cash Benefit."},"monthly_total_payment":{"type":"number","description":"the amount a borrower was paid for a month."},"minimum_payment":{"type":"number","description":"the lowest amount you can pay on your credit card to avoid penalties."}}},"InvestmentAccountExtra":{"type":"object","properties":{"investment_amount":{"type":"number","description":"total invested amount."},"unit_price":{"type":"number","description":"price per unit (used with units)."},"units":{"type":"number","description":"amount of units owned (used with unit_price)."},"indicative_unit_price":{"type":"number","description":"indicative price per unit (used with units)."},"interest_income":{"type":"number","description":"amount of interest income/profit."},"interest_amount":{"type":"number","description":"interest amount in currency."},"profit_amount":{"type":"number","description":"amount of profit/loss of investment account."},"profit_rate":{"type":"number","description":"investment account rate of profit/loss as percentage value."},"asset_class":{"type":"string","description":"class of investment asset."},"product_type":{"type":"string","description":"investment product type."},"total_unit_value":{"type":"number","description":"total units value of fund holding."},"fund_holdings":{"type":"object","description":"fund holdings list with own values such as `investment_percentage`, `balance`, `bid_price`, `value`, `value_date`, `total_quantity`, `available_quantity`, `actual_price`, `actual_value`."}}},"InsuranceAccountExtra":{"type":"object","properties":{"premium_frequency":{"type":"string","description":"frequency of premium payments."},"policy_status":{"type":"string","description":"current policy status."},"life_assured_name":{"type":"string","description":"name of the person who is assured."},"premium_amount":{"type":"number","description":"premium amount to be paid."},"single_premium_amount":{"type":"number","description":"single premium amount to be paid."},"financial_consultant":{"type":"string","description":"financial consultant name."},"total_reversionary_bonus":{"type":"number","description":"reversionary bonus accumulated amount."},"gross_surrender":{"type":"number","description":"current Gross Surrender value."},"guaranteed_gross_surrender":{"type":"number","description":"guaranteed Gross Surrender value."},"reversionary_bonus_cash_value":{"type":"number","description":"cash value of reversionary bonus."},"owned_policy_amount":{"type":"number","description":"amount currently own on policy."},"policy_loan_limit":{"type":"number","description":"maximum amount of additional Policy Loan."},"policy_converted_to_paid_up":{"type":"number","description":"new assured sum if Policy is converted to paid up."},"paid_up_conversion_reversionary_bonus":{"type":"number","description":"reversionary bonus amount after `Policy to paid up` conversion."},"policy_components":{"type":"object","description":"policy components with own values such as `status`, `amount_assured`, `amount_premium`, `start_date`, `expiry_date`, `premium_expiry_date`, `assured_name`."}}},"AccountsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Account"}},"meta":{"$ref":"#/components/schemas/MetaObject"}}},"AssetsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","required":["code","name"],"properties":{"code":{"type":"string"},"name":{"type":"string"}}}}}},"Attempt":{"type":"object","required":["api_mode","api_version","automatic_fetch","daily_refresh","categorize","created_at","custom_fields","device_type","remote_ip","exclude_accounts","user_present","customer_last_logged_at","fail_at","fail_error_class","fail_message","fetch_scopes","finished","finished_recent","from_date","id","interactive","locale","partial","store_credentials","success_at","to_date","updated_at","show_consent_confirmation","include_natures","stages"],"properties":{"api_mode":{"type":"string","enum":["app","service"],"description":"the API mode of the customer that queried the API."},"api_version":{"type":"string","description":"the API version in which the attempt was created"},"automatic_fetch":{"type":"boolean","description":"whether the connection related to the attempt can be automatically fetched"},"daily_refresh":{"type":"boolean","description":"latest assigned value for `daily_refresh` in connection"},"categorize":{"type":"boolean","default":true,"description":"whether attempt is categorized"},"created_at":{"type":"string","format":"date-time","description":"when the attempt was made"},"custom_fields":{"type":"object","description":"the custom fields that had been sent when creating connection/connect\\_session/oauth\\_provider"},"device_type":{"type":"string","enum":["desktop","tablet","mobile"],"description":"the type of the device that created the attempt."},"remote_ip":{"type":"string","description":"the IP of the device that created the attempt"},"exclude_accounts":{"type":"array","description":"the `ids` of accounts that do not need to be refreshed","items":{"type":"string"}},"user_present":{"type":"boolean","description":"whether the request was initiated by the end-user of your application"},"customer_last_logged_at":{"type":"string","format":"date-time","description":"the datetime when user was last active in your application"},"fail_at":{"type":"string","format":"date-time","description":"when the attempt failed to finish"},"fail_error_class":{"type":"string","description":"class of error that triggered the fail for attempt"},"fail_message":{"type":"string","description":"message that describes the error class"},"fetch_scopes":{"type":"array","description":"fetching mode.","items":{"type":"string","enum":["accounts","accounts_without_balance","holder_info","transactions"]}},"finished":{"type":"boolean","description":"whether the connection had finished fetching"},"finished_recent":{"type":"boolean","description":"whether the connection had finished data for recent range"},"from_date":{"type":"string","format":"date","description":"date from which the data had been fetched"},"id":{"type":"string","description":"`id` of the attempt"},"interactive":{"type":"boolean","description":"whether the connection related to the attempt is interactive"},"locale":{"type":"string","description":"the language of the Connect widget and of the returned error message(s) in the \u003ca href='http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes' target=\"_blank\"\u003eISO 639-1\u003c/a\u003e format. Possible values are: `bg`, `cz`, `de`, `en`, `es-MX`, `es`, `fi`, `fr`, `he`, `hr`, `hu`, `it`, `nl`, `pl`, `pt-BR`, `pt`, `ro`, `ru`, `si`, `sk`, `sv`, `tr`, `uk`, `zh-HK`(Traditional), `zh`(Simplified). Defaults to `en`."},"partial":{"type":"boolean","description":"whether the connection was partially fetched"},"store_credentials":{"type":"boolean","description":"whether the credentials were stored on our side"},"success_at":{"type":"string","format":"date-time","description":"when the attempt succeeded and finished"},"to_date":{"type":"string","format":"date-time","description":"date until which the data has been fetched"},"updated_at":{"type":"string","format":"date-time","description":"when last attempt update occurred"},"show_consent_confirmation":{"type":"boolean","description":"whether any consent was given for this connection"},"include_natures":{"type":"array","description":"the natures of the accounts that need to be fetched","items":{"type":"string"}},"stages":{"type":"array","description":"information about [stages](#attempts-stages) through which the connection has passed","items":{"$ref":"#/components/schemas/Stage"}},"unduplication_strategy":{"type":"string","description":"This parameter mandates how duplicated transactions are managed.\n\nPossible values include: `mark_as_pending`, `mark_as_duplicate`, `delete_transactions`.\nThe default is set to `mark_as_pending`.\n\nThe provided value remains unchanged until another value is sent during [connect_session/reconnect](/account_information/v5/#connections-reconnect) or [connect_session/refresh](/account_information/v5/#connections-refresh).\n\n- `mark_as_pending`: leaves identified duplicated transactions in `Pending` status for clients that establish connections with providers having a non-null `custom_pendings_period`.\n- `mark_as_duplicate`: identifies transactions as duplicated and sets the `duplicated` flag to `true`.\n- `delete_transactions`: removes identified duplicated transactions.\n"}}},"Stage":{"type":"object","required":["created_at","id","name","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time","description":"when the stage was created"},"id":{"type":"string","description":"the `id` of the stage"},"interactive_fields_names":{"type":"array","nullable":true,"description":"the interactive fields that are currently required by the provider. Appears only for the interactive connections","items":{"type":"string"}},"interactive_html":{"type":"string","nullable":true,"description":"HTML code that shows the current interactive state of the connection. Appears only for the interactive connections"},"name":{"type":"string","enum":["start","connect","interactive","fetch_holder_info","fetch_accounts","fetch_recent","fetch_full","disconnect","finish"],"description":"the name of the stage."},"updated_at":{"type":"string","format":"date-time","description":"when the stage was last updated"}}},"SimplifiedAttempt":{"type":"object","properties":{"api_mode":{"type":"string","enum":["app","service"],"description":"the API mode of the customer that queried the API."},"api_version":{"type":"string","description":"the API version in which the attempt was created"},"automatic_fetch":{"type":"boolean","description":"whether the connection related to the attempt can be automatically fetched"},"daily_refresh":{"type":"boolean","description":"latest assigned value for `daily_refresh` in connection"},"categorize":{"type":"boolean","default":true,"description":"whether attempt is categorized"},"created_at":{"type":"string","format":"date-time","description":"when the attempt was made"},"custom_fields":{"type":"object","description":"the custom fields that had been sent when creating connection/connect\\_session/oauth\\_provider"},"device_type":{"type":"string","enum":["desktop","tablet","mobile"],"description":"the type of the device that created the attempt."},"remote_ip":{"type":"string","description":"the IP of the device that created the attempt"},"exclude_accounts":{"type":"array","description":"the `ids` of accounts that do not need to be refreshed","items":{"type":"string"}},"user_present":{"type":"boolean","description":"whether the request was initiated by the end-user of your application"},"customer_last_logged_at":{"type":"string","format":"date-time","description":"the datetime when user was last active in your application"},"fail_at":{"type":"string","format":"date-time","description":"when the attempt failed to finish"},"fail_error_class":{"type":"string","description":"class of error that triggered the fail for attempt"},"fail_message":{"type":"string","description":"message that describes the error class"},"fetch_scopes":{"type":"array","description":"fetching mode.","items":{"type":"string","enum":["accounts","holder_info","transactions"]}},"finished":{"type":"boolean","description":"whether the connection had finished fetching"},"finished_recent":{"type":"boolean","description":"whether the connection had finished data for recent range"},"from_date":{"type":"string","format":"date","description":"date from which the data had been fetched"},"id":{"type":"string","description":"`id` of the attempt"},"interactive":{"type":"boolean","description":"whether the connection related to the attempt is interactive"},"locale":{"type":"string","description":"the language of the Connect widget and of the returned error message(s) in the \u003ca href='http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes' target=\"_blank\"\u003eISO 639-1\u003c/a\u003e format. Possible values are: `bg`, `cz`, `de`, `en`, `es-MX`, `es`, `fi`, `fr`, `he`, `hr`, `hu`, `it`, `nl`, `pl`, `pt-BR`, `pt`, `ro`, `ru`, `si`, `sk`, `sv`, `tr`, `uk`, `zh-HK`(Traditional), `zh`(Simplified). Defaults to `en`."},"partial":{"type":"boolean","description":"whether the connection was partially fetched"},"store_credentials":{"type":"boolean","description":"whether the credentials were stored on our side"},"success_at":{"type":"string","format":"date-time","description":"when the attempt succeeded and finished"},"to_date":{"type":"string","format":"date-time","description":"date until which the data has been fetched"},"updated_at":{"type":"string","format":"date-time","description":"when last attempt update occurred"},"show_consent_confirmation":{"type":"boolean","description":"whether any consent was given for this connection"},"include_natures":{"type":"array","description":"the natures of the accounts that need to be fetched","items":{"type":"string"}},"last_stage":{"$ref":"#/components/schemas/Stage"}}},"AttemptsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SimplifiedAttempt"}}}},"AttemptResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Attempt"}}},"AttemptRequestBody":{"type":"object","required":["store_credentials"],"properties":{"fetch_scopes":{"type":"array","description":"fetching mode. Defaults to [consent](#consents-object) scopes. The allowed values for this parameter must comply to the [consent](#consents-object) `scopes` restriction.\n","items":{"type":"string","enum":["accounts","accounts_without_balance","holder_info","transactions"]}},"from_date":{"type":"string","format":"date","description":"date from which you want to fetch data for your connection. Defaults to [consent](#consents-object) `from_date`. The allowed values for this parameter must be within exactly 365 days ago and it should comply to the fetching period restrictions in the [consent](#consents-object)."},"to_date":{"type":"string","format":"date","description":"date until which you want to fetch data for your connection. Defaults to `null` (today). The allowed values for this parameter must be equal or more than `from_date` and less or equal than tomorrow. Also it should comply to the fetching period restrictions in the [consent](#consents-object)."},"fetched_accounts_notify":{"type":"boolean","description":"whether Salt Edge should send a success callback after fetching accounts."},"custom_fields":{"type":"object","default":{},"description":"a JSON object, which will be sent back on any of your callbacks."},"locale":{"type":"string","description":"the language of the Connect widget and of the returned error message(s) in the \u003ca href='http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes' target=\"_blank\"\u003eISO 639-1\u003c/a\u003e format. Possible values are: `bg`, `cz`, `de`, `en`, `es-MX`, `es`, `fi`, `fr`, `he`, `hr`, `hu`, `it`, `nl`, `pl`, `pt-BR`, `pt`, `ro`, `ru`, `si`, `sk`, `sv`, `tr`, `uk`, `zh-HK`(Traditional), `zh`(Simplified). Defaults to `en`."},"include_natures":{"type":"array","nullable":true,"description":"the natures of the accounts that need to be fetched. Check [accounts attributes](#accounts-attributes) for possible values. If `null`, all accounts will be fetched.","items":{"type":"string"}},"customer_last_logged_at":{"type":"string","format":"date-time","description":"the datetime when user was last active in your application"},"exclude_accounts":{"type":"array","default":[],"description":"array of [account `ids`](#accounts-list) which will not be fetched. Applied to `reconnect` and `refresh` atempts.","items":{"type":"string"}},"store_credentials":{"type":"boolean","description":"whether the credentials should be stored on Salt Edge side"},"unduplication_strategy":{"type":"string","description":"This parameter mandates how duplicated transactions are managed.\n\nPossible values include: `mark_as_pending`, `mark_as_duplicate`, `delete_transactions`. The default is set to `mark_as_pending`.\n\nThe provided value remains unchanged until other value is sent on [connect_session/reconnect](/account_information/v5/#connections-reconnect) or [connect_session/refresh](/account_information/v5/#connections-refresh).\n\n- `mark_as_pending` - leaves identified duplicated transactions in `Pending` status for clients that establish connections with providers having a non-null `custom_pendings_period`\n- `mark_as_duplicate` - identifies transactions as duplicated and sets the `duplicated` flag to `true`\n- `delete_trasactions` - removes identified duplicated transactions\n"},"user_present":{"type":"boolean","description":"whether the request was initiated by the end-user of your application. It is taken into account only for PSD2-compliant providers and used for `reconnect` and `refresh`."},"return_to":{"type":"string","description":"the URL the user will be redirected to, defaults to client's home URL. If the provider has `api` mode and interactive `true` then this field is `mandatory`."}}},"CategoriesRequestBody":{"type":"object","properties":{"data":{"type":"object","required":["customer_id","transactions"],"properties":{"transactions":{"type":"array","items":{"type":"object","required":["id","category_code"],"properties":{"id":{"type":"string","description":"the `id` of the transaction"},"category_code":{"type":"string","description":"the new category code of the transaction"},"immediate":{"type":"boolean","description":"If sent as `false`, the learning threshold of the categorizer will be applied - the categorizer will store information about the user's custom category for the transaction with this description. In case the categorizer identifies that the category has been updated 3 times for the transaction with this description, further transactions with this description will be automatically categorized for this user under this category.\n\nIf sent as `true`, the learning threshold of the categorizer will be ignored and further transactions with the same description will be classified under the category chosen by the user.\n"}}}}}}}},"LearnCategoryResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"learned":{"type":"boolean","default":true}}}}},"CategoriesResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"business":{"type":"object","description":"[Business categories](/data_enrichment/v5/#business-categories)"},"personal":{"type":"object","description":"[Personal categories](/data_enrichment/v5/#personal-categories)"}}}}},"ConnectSessionRequestBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["customer_id","consent"],"properties":{"consent":{"$ref":"#/components/schemas/ConsentRequestBody"},"attempt":{"$ref":"#/components/schemas/AttemptRequestBody"},"allowed_countries":{"type":"array","nullable":true,"description":"the list of countries that will be accessible in Salt Edge Connect, e.g.: `['US', 'DE']`.","items":{"type":"string"}},"country_code":{"type":"string","nullable":true,"description":"returns the list of providers only from given country. Possible values: any country code from \u003ca href='http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2' target=\"_blank\"\u003eISO 3166-1 alpha-2\u003c/a\u003e, e.g.: `'DE'`."},"provider_code":{"type":"string","description":"the code of the desired provider, defaults to `null`"},"daily_refresh":{"type":"boolean","description":"whether the connection should be automatically refreshed by Salt Edge."},"disable_provider_search":{"type":"boolean","description":"whether the provider search will be disabled, works only if `provider_code` parameter is sent."},"return_connection_id":{"type":"boolean","description":"whether to append `connection_id` to `return_to` URL."},"provider_modes":{"type":"array","default":["oauth","web","api","file"],"description":"restricts the list of the providers to only the ones that have the mode included in the array.","items":{"type":"string","enum":["oauth","web","api","file"]}},"categorization":{"type":"string","default":"personal","enum":["none","personal","business"],"description":"the type of categorization applied."},"javascript_callback_type":{"type":"string","nullable":true,"enum":["iframe","external_saltbridge","external_notify","post_message"],"description":"allows you to specify what kind of callback type you are expecting."},"include_fake_providers":{"type":"boolean","description":"if sent as `true`, the customers of [live](/general/v5/#live) clients will be able to connect [fake providers](#providers-fake)."},"lost_connection_notify":{"type":"boolean","description":"being sent as `true`, enables you to receive a javascript callback whenever the internet connection is lost during the fetching process. The type of the callback depends on the `javascript_callback_type` you specified. It has the following payload: `{data: {error_class: 'ConnectionLost', error_message: 'Internet connection was lost'}}`."},"show_consent_confirmation":{"type":"boolean","default":true,"description":"if consent confirmation is handled on the client's side, this parameter should be sent as `false` so, upon submitting the form, the user will not be asked to give the consent to Salt Edge Inc."},"credentials_strategy":{"type":"string","default":"store","enum":["store","do_not_store","ask"],"description":"the strategy of storing customer's credentials.\n\n\u003cstrong\u003eNote:\u003c/strong\u003e If the value is `ask`, on the Connect page, the customer will be able to choose whether to save or not the credentials on Salt Edge side\n"},"return_error_class":{"type":"boolean","description":"whether to append `error_class` to `return_to` URL."},"theme":{"type":"string","default":"default","enum":["default","dark"],"description":"theme of Salt Edge Connect template. If not passed or available for the current template, will use `default`."},"connect_template":{"type":"string","description":"defaults to `Salt Edge Connect` template unless a different template is passed and available for the current client"},"show_connect_overview":{"type":"boolean","description":"shows an overview of fetched accounts and balances after fetching was finished."}}}}},"ReconnectSessionRequestBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["connection_id","consent"],"properties":{"consent":{"$ref":"#/components/schemas/ConsentRequestBody"},"attempt":{"$ref":"#/components/schemas/AttemptRequestBody"},"daily_refresh":{"type":"boolean","description":"whether the connection should be automatically refreshed by Salt Edge."},"return_connection_id":{"type":"boolean","description":"whether to append `connection_id` to `return_to` URL."},"provider_modes":{"type":"array","default":["oauth","web","api","file"],"description":"restricts the list of the providers to only the ones that have the mode included in the array.","items":{"type":"string","enum":["oauth","web","api","file"]}},"javascript_callback_type":{"type":"string","nullable":true,"enum":["iframe","external_saltbridge","external_notify","post_message"],"description":"allows you to specify what kind of callback type you are expecting."},"categorization":{"type":"string","default":"personal","enum":["none","personal","business"],"description":"the type of categorization applied."},"include_fake_providers":{"type":"boolean","description":"if sent as `true`, the customers of [live](/general/v5/#live) clients will be able to connect [fake providers](#providers-fake)."},"lost_connection_notify":{"type":"boolean","description":"being sent as `true`, enables you to receive a javascript callback whenever the internet connection is lost during the fetching process. The type of the callback depends on the `javascript_callback_type` you specified. It has the following payload: `{data: {error_class: 'ConnectionLost', error_message: 'Internet connection was lost' }}`."},"show_consent_confirmation":{"type":"boolean","default":true,"description":"if consent confirmation is handled on the client's side, this parameter should be sent as `false` so, upon submitting the form, the user will not be asked to give the consent to Salt Edge Inc."},"credentials_strategy":{"type":"string","default":"store","enum":["store","do_not_store","ask"],"description":"the strategy of storing customer's credentials.\n\n\u003cstrong\u003eNote:\u003c/strong\u003e If the value is `ask`, on the Connect page, the customer will be able to choose whether to save or not the credentials on Salt Edge side\n"},"return_error_class":{"type":"boolean","description":"whether to append `error_class` to `return_to` URL."},"theme":{"type":"string","default":"default","enum":["default","dark"],"description":"theme of Salt Edge Connect template. If not passed or available for the current template, will use `default`."},"connect_template":{"type":"string","description":"defaults to `Salt Edge Connect` template unless a different template is passed and available for the current client"},"show_connect_overview":{"type":"boolean","description":"shows an overview of fetched accounts and balances after fetching was finished."},"override_credentials_strategy":{"type":"string","nullable":true,"enum":["ask","override"],"description":"If sent as `ask`, the user will be required to confirm the credentials override upon submitting the form, in the scenario where the new credentials are different from the ones in the previous attempt. If sent as `override`, the new credentials will automatically override the old ones."}}}}},"RefreshSessionRequestBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["connection_id"],"properties":{"attempt":{"$ref":"#/components/schemas/AttemptRequestBody"},"daily_refresh":{"type":"boolean","default":"false","description":"whether the connection should be automatically refreshed by Salt Edge."},"return_connection_id":{"type":"boolean","default":"false","description":"shows whether to append `connection_id` to `return_to` URL."},"provider_modes":{"type":"array","default":["oauth","web","api","file"],"description":"restrict the list of the providers to only the ones that have the mode included in the array.\n","items":{"type":"string","enum":["oauth","web","api","file"]}},"javascript_callback_type":{"type":"string","nullable":true,"enum":["iframe","external_saltbridge","external_notify","post_message"],"description":"allows you to specify what kind of callback type you are expecting. If `null`, it means that you will not receive any callbacks."},"categorization":{"type":"string","default":"personal","enum":["none","personal","business"],"description":"the type of categorization applied."},"lost_connection_notify":{"type":"boolean","description":"being sent as `true`, enables you to receive a javascript callback whenever the internet connection is lost during the fetching process. The type of the callback depends on the `javascript_callback_type` you specified. It has the following payload: `{data: {error_class: 'ConnectionLost', error_message: 'Internet connection was lost'}}`."},"include_fake_providers":{"type":"boolean","description":"if sent as `true`, the customers of [live](/general/v5/#live) clients will be able to connect [fake providers](#providers-fake)."},"return_error_class":{"type":"boolean","description":"whether to append `error_class` to `return_to` URL."},"theme":{"type":"string","default":"default","enum":["default","dark"],"description":"theme of Salt Edge Connect template. If not passed or available for the current template, will use `default`."},"connect_template":{"type":"string","description":"defaults to `Salt Edge Connect` template unless a different template is passed and available for the current client"},"show_connect_overview":{"type":"boolean","description":"shows an overview of fetched accounts and balances after fetching was finished."}}}}},"ConnectSessionResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"expires_at":{"type":"string","format":"date-time"},"connect_url":{"type":"string"}}}}},"Connection":{"type":"object","description":"A connection represents a set of credentials required to access the [accounts](#accounts) and [transactions](#transactions)\nthrough a specific [provider](#providers).\n","required":["id","secret","provider_id","provider_code","provider_name","daily_refresh","customer_id","created_at","updated_at","last_success_at","status","country_code","store_credentials","last_attempt","show_consent_confirmation","last_consent_id"],"properties":{"id":{"type":"string","description":"the `id` of the connection"},"secret":{"type":"string","description":"the secret key associated with a specific `connection`. It allows to read the information related to a connection using API keys of type `app`."},"provider_id":{"type":"string","description":"the `id` of the provider the connection belongs to"},"provider_code":{"type":"string","description":"the code of the provider the connection belongs to"},"provider_name":{"type":"string","description":"the name of the provider the connection belongs to"},"daily_refresh":{"type":"boolean","description":"whether the connection will be refreshed daily"},"customer_id":{"type":"string","description":"customer's `id`"},"created_at":{"type":"string","format":"date-time","description":"time and date when the connection was added"},"updated_at":{"type":"string","format":"date-time","description":"the last time when the connection's balance was changed, new accounts were imported or new transactions added/removed"},"last_success_at":{"type":"string","format":"date-time","description":"time when the connection was successfully fetched"},"status":{"type":"string","enum":["active","inactive","disabled"]},"country_code":{"type":"string","description":"code of the country the provider belongs to"},"next_refresh_possible_at":{"type":"string","format":"date-time","description":"when the next refresh will be available. May contain `null` value if connection has `automatic_fetch` set as `false`, or is already processing"},"store_credentials":{"type":"boolean","description":"whether the credentials were stored on our side"},"last_attempt":{"$ref":"#/components/schemas/SimplifiedAttempt"},"show_consent_confirmation":{"type":"boolean","description":"whether any consent was given for this connection on Salt Edge side"},"last_consent_id":{"type":"string","description":"the `id` of the last [consent](#consents)"}}},"CreateConnectionRequestBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["customer_id","country_code","provider_code","consent","credentials"],"properties":{"customer_id":{"type":"string","description":"the `id` of the customer"},"country_code":{"type":"string","description":"the country code of the desired provider"},"provider_code":{"type":"string","description":"the code of the desired provider"},"consent":{"$ref":"#/components/schemas/ConsentRequestBody"},"attempt":{"$ref":"#/components/schemas/AttemptRequestBody"},"credentials":{"type":"object","description":"the credentials required to access the data"},"daily_refresh":{"type":"boolean","description":"whether the connection should be automatically refreshed by Salt Edge."},"include_fake_providers":{"type":"boolean","description":"if sent as `true`, the customers of [live](/general/v5/#live) clients will be able to connect [fake providers](#providers-fake)."},"categorization":{"type":"string","default":"personal","enum":["none","personal","business"],"description":"the type of categorization applied."},"file_url":{"type":"boolean","description":"URL of a file. Is used when creating a connection for a provider with `file` mode"}}}}},"ConnectionResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Connection"}}},"InteractiveConnectionRequestBody":{"type":"object","properties":{"data":{"type":"object","properties":{"credentials":{"type":"object","description":"the credentials object based on the provider's interactive fields"}}}}},"ReconnectConnectionRequestBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"credentials":{"type":"object","description":"the credentials required to access the data"},"consent":{"$ref":"#/components/schemas/ConsentRequestBody"},"attempt":{"$ref":"#/components/schemas/AttemptRequestBody"},"daily_refresh":{"type":"boolean","description":"whether the connection should be automatically refreshed by Salt Edge."},"include_fake_providers":{"type":"boolean","description":"if sent as `true`, the customers of [live](/general/v5/#live) clients will be able to connect [fake providers](#providers-fake)."},"categorization":{"type":"string","default":"personal","enum":["none","personal","business"],"description":"the type of categorization applied."},"file_url":{"type":"boolean","description":"URL of a file. Is used when creating a connection for a provider with `file` mode"},"override_credentials":{"type":"boolean","description":"if sent as `true`, new credentials will automatically override the old ones, in the scenario were the new credentials are different from the ones in the previous attempt."}}}}},"RefreshConnectionRequestBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"attempt":{"$ref":"#/components/schemas/AttemptRequestBody"},"daily_refresh":{"type":"boolean","description":"whether the connection should be automatically refreshed by Salt Edge."},"include_fake_providers":{"type":"boolean","description":"if sent as `true`, the customers of [live](/general/v5/#live) clients will be able to connect [fake providers](#providers-fake)."},"categorization":{"type":"string","default":"personal","enum":["none","personal","business"],"description":"the type of categorization applied."}}}}},"RemovedConnectionResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"`id` of the connection"},"removed":{"type":"boolean","default":true}}}}},"UpdateConnectionRequestBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"status":{"type":"string","enum":["inactive"]},"daily_refresh":{"type":"boolean","description":"whether the connection will be refreshed daily"},"store_credentials":{"type":"boolean","default":true,"description":"allows to not store credentials on Salt Edge side.\n\n\u003cstrong\u003eNote:\u003c/strong\u003e The usage of this flag is not available for `file` providers.\nIn order to update the connection, reconnect is required. It will not be possible to use refresh option if `store_credentials` is set to `false`\n"},"categorization":{"type":"string","description":"The type of categorization applied. Possible values: `none`, `personal`, `business`.\nIf nothing is sent, the categorization is kept as it was.\n"}}}}},"Consent":{"type":"object","required":["id","connection_id","customer_id","scopes","period_days","expires_at","from_date","to_date","status","collected_by","revoked_at","revoke_reason","created_at","updated_at"],"properties":{"id":{"type":"string","description":"the `id` of the consent"},"connection_id":{"type":"string","description":"the `id` of the [connection](#connections)"},"customer_id":{"type":"string","description":"the `id` of the [customer](#customers)"},"scopes":{"type":"array","description":"data that is allowed to be fetched.","items":{"type":"string","enum":["account_details","holder_information","transactions_details"]}},"period_days":{"type":"integer","description":"the period the consent will be valid for"},"expires_at":{"type":"string","format":"date-time","description":"the date when the consent will expire"},"from_date":{"type":"string","format":"date","description":"the date from which the data has been allowed to be fetched"},"to_date":{"type":"string","format":"date","description":"the date until which the data has been allowed to be fetched"},"status":{"type":"string","enum":["active","expired","revoked"],"description":"consent status."},"collected_by":{"type":"string","enum":["client","saltedge"],"description":"entity who collected the consent."},"revoked_at":{"type":"string","format":"date-time","description":"the date when consent was revoked"},"revoke_reason":{"type":"string","enum":["expired","client","provider","saltedge"],"description":"revoke reason."},"created_at":{"type":"string","format":"date-time","description":"when the consent was created"},"updated_at":{"type":"string","format":"date-time","description":"when the consent was updated"}}},"ConsentResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Consent"}}},"ConsentsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Consent"}},"meta":{"$ref":"#/components/schemas/MetaObject"}}},"ConsentRequestBody":{"type":"object","required":["scopes"],"properties":{"scopes":{"type":"array","description":"data to be allowed for fetching.\n\nThe allowed values for this parameter must fall within the client's `allowed_fetch_scopes` and/or provider's `supported_fetch_scopes` restrictions. To change the client's allowed scopes, please \u003ca href='https://www.saltedge.com/pages/contact' target=\"_blank\"\u003econtact our Sales team\u003c/a\u003e.\n\n\u003cstrong\u003eNote:\u003c/strong\u003e `account_details` scope covers both `accounts` and `accounts_without_balance` attempt's [fetch_scopes](#attempts).\u003cbr\u003e\n","items":{"type":"string","enum":["account_details","holder_information","transactions_details"]}},"from_date":{"type":"string","format":"date","description":"date to be allowed for fetching the data from. This parameter is used when `scopes` parameter contains `transactions_details`. The allowed values for this parameter must be within exactly 365 days ago."},"to_date":{"type":"string","nullable":true,"format":"date","description":"date to be allowed for fetching the data until. The allowed values for this parameter must be equal or more than `from_date`."},"period_days":{"type":"integer","description":"determines the period the consent will be valid for. Defaults to `null` (limitless) or provider's `max_consent_days`. The allowed value for this parameter must not be higher than the provider's `max_consent_days`."}}},"Country":{"type":"object","description":"The country is represented just as a string.\nWe're using \u003ca href='http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2' target=\"_blank\"\u003eISO 3166-1 alpha-2\u003c/a\u003e country codes.\nThus, all the country codes will have exactly two uppercase letters.\nThere are two special cases:\n\n- \"Other\", encoded as `XO`\n- \"Fake\", encoded as `XF`\n\nNote that the Fake country is only available for clients in [Test](/general/v5/#test)\nand [Pending](/general/v5/#pending) statuses.\n","required":["name","code","refresh_start_time"],"properties":{"name":{"type":"string","description":"Name of the country."},"code":{"type":"string","description":"Country code as dated in ISO 3166-1 alpha-2"},"refresh_start_time":{"type":"integer","enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],"description":"Local country time when connections will be automatically refreshed."}}},"CountriesResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Country"}}}},"Currency":{"type":"object","description":"The currency is represented just as a string.\nWe use \u003ca href='http://en.wikipedia.org/wiki/ISO_4217' target=\"_blank\"\u003eISO 4217\u003c/a\u003e currency codes.\nThus, all the currency codes will have exactly three uppercase letters.\nIf certain currencies no longer exist, we will still support them for the transactions held in those currencies.\nExample:\n\n- Zambian Kwacha `ZMK` (old currency code)\n- Zambian Kwacha `ZMW` (new currency code)\n\nboth of them are supported.\n","required":["code","name"],"properties":{"code":{"type":"string","description":"ISO 4217 currency code"},"name":{"type":"string","description":"Currency name in US English"}}},"CurrenciesResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Currency"}}}},"Customer":{"type":"object","description":"A `Customer` represents a single end-user of the Account Information API. The customer uses the API to create `Connections`, i.e. bank connections, that are further used to aggregate the customer's financial data.\n","required":["id","identifier","secret","created_at","updated_at"],"properties":{"id":{"type":"integer","format":"int64","description":"Creates a customer, returning the customer object."},"identifier":{"type":"string","description":"A unique identifier of the new customer."},"secret":{"type":"string","description":"Customer secret."},"blocked_at":{"type":"string","description":"Customer block date. Customer was blocked by Salt Edge due to the usage of invalid credentials."},"created_at":{"type":"string","format":"date-time","description":"when the customer was created"},"updated_at":{"type":"string","format":"date-time","description":"when the customer was updated"}}},"CustomerRequestBody":{"type":"object","description":"Customer object.","required":["data"],"properties":{"data":{"type":"object","required":["identifier"],"properties":{"identifier":{"type":"string","description":"a unique `id` of the new customer"}}}}},"CreatedCustomerResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Customer"}}},"HolderInfoResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/HolderInfo"}}},"HolderInfo":{"allOf":[{"$ref":"#/components/schemas/HolderInfoExtra"},{"type":"object","properties":{"names":{"type":"array","nullable":true,"description":"account holder's name(s).","items":{"type":"string"}},"emails":{"type":"array","nullable":true,"description":"account holder's email(s).","items":{"type":"string"}},"phone_numbers":{"type":"array","nullable":true,"description":"account holder's phone number(s).","items":{"type":"string"}},"addresses":{"type":"array","nullable":true,"description":"account holder's address(es).","items":{"type":"object","properties":{"city":{"type":"string"},"state":{"type":"string"},"street":{"type":"string"},"country_code":{"type":"string"},"post_code":{"type":"string"}}}}}}]},"HolderInfoExtra":{"type":"object","properties":{"ssn":{"type":"string","nullable":true,"description":"Social Security Number shortened (last 4 digits)."},"cpf":{"type":"string","nullable":true,"description":"Cadastro de Pessoas Físicas (present in Brazil)."},"birth_date":{"type":"string","nullable":true,"description":"account holder's date of birth."},"document_number":{"type":"string","nullable":true,"description":"account holder's identification number."}}},"Merchant":{"type":"object","description":"A merchant represents a `company` that sells goods or provides services to a `customer`.","required":["id","names","address","contact"],"properties":{"id":{"type":"string","description":"the `id` of the merchant"},"names":{"type":"array","description":"merchant names that are used to name a company, corporation, brand name, franchise name or any other entity who is participating in  the customer's transaction.\n","items":{"type":"object","required":["mode","value"],"properties":{"mode":{"type":"string","enum":["name","transliterated_name","alternative_name","brand","operator"]},"value":{"type":"string"}}}},"address":{"$ref":"#/components/schemas/MerchantAddress"},"contact":{"type":"array","description":"contact information via which the merchant can be accessed, eg. via website, phone or social media","items":{"type":"object","required":["mode","value"],"properties":{"mode":{"type":"string","enum":["email","viber","phone","fax","website","facebook","twitter","google_plus","linkedin","instagram","skype","vk","flickr","youtube"]},"value":{"type":"string"}}}}}},"MerchantAddress":{"type":"object","description":"merchant address","properties":{"city":{"type":"string"},"transliterated_city":{"type":"string"},"state":{"type":"string"},"street":{"type":"string"},"transliterated_street":{"type":"string"},"country_code":{"type":"string"},"post_code":{"type":"string"},"coordinates":{"type":"string"},"building_name":{"type":"string"},"shop_number":{"type":"string"}}},"MerchantRequestBody":{"type":"object","properties":{"data":{"type":"array","items":{"type":"string","description":"merchant `id`"}}}},"MerchantResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Merchant"}}}},"OauthAuthorizeRequestBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["query_string","connection_id"],"properties":{"query_string":{"type":"string","description":"all the parameters appended to your `return_to` URL upon being redirected from the bank back to your application"}}}}},"OauthAuthorizedResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["country_code","created_at","customer_id","daily_refresh","id","show_consent_confirmation","last_consent_id","last_attempt","last_success_at","next_refresh_possible_at","provider_id","provider_code","provider_name","status","store_credentials","updated_at"],"properties":{"country_code":{"type":"string","description":"code of the country the provider belongs to"},"created_at":{"type":"string","format":"date-time","description":"time and date when the connection was added"},"customer_id":{"type":"string","description":"customer's `id`"},"daily_refresh":{"type":"boolean","description":"whether the connection will be refreshed daily"},"id":{"type":"string","description":"the `id` of the connection"},"show_consent_confirmation":{"type":"boolean","description":"whether any consent was given for this connection on Salt Edge side"},"last_consent_id":{"type":"string","description":"the `id` of the last [consent](#consents)"},"last_attempt":{"$ref":"#/components/schemas/SimplifiedAttempt"},"last_success_at":{"type":"string","format":"date-time","description":"time when the connection was successfully fetched"},"next_refresh_possible_at":{"type":"string","format":"date-time","description":"when the next refresh will be available. May contain `null` value if connection has `automatic_fetch` set as `false`, or is already processing"},"provider_id":{"type":"string","description":"the `id` of the provider the connection belongs to"},"provider_code":{"type":"string","description":"the code of the provider the connection belongs to"},"provider_name":{"type":"string","description":"the name of the provider the connection belongs to"},"status":{"type":"string","enum":["active","inactive","disabled"]},"store_credentials":{"type":"boolean","description":"whether the credentials were stored on our side"},"updated_at":{"type":"string","format":"date-time","description":"the last time when the connection's balance was changed, new accounts were imported or new transactions added/removed"}}}}},"OauthConnectRequestBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["customer_id","country_code","provider_code","consent"],"properties":{"country_code":{"type":"string","description":"the code of the country"},"provider_code":{"type":"string","description":"the code of the provider"},"consent":{"$ref":"#/components/schemas/ConsentRequestBody"},"attempt":{"$ref":"#/components/schemas/AttemptRequestBody"},"daily_refresh":{"type":"boolean","description":"whether the connection should be automatically refreshed by Salt Edge."},"return_connection_id":{"type":"boolean","description":"whether to append `connection_id` to `return_to` URL."},"categorization":{"type":"string","default":"personal","enum":["none","personal","business"],"description":"the type of categorization applied."},"include_fake_providers":{"type":"boolean","description":"if sent as `true`, the customers of [live](/general/v5/#live) clients will be able to connect [fake providers](#providers-fake).\n"}}}}},"OauthConnectResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"connection_id":{"type":"string","description":"`id` of the connection"},"connection_secret":{"type":"string"},"attempt_id":{"type":"string","description":"`id` of the attempt"},"token":{"type":"string"},"expires_at":{"type":"string","format":"date-time"},"redirect_url":{"type":"string"}}}}},"OauthReconnectRequestBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["connection_id","consent"],"properties":{"consent":{"$ref":"#/components/schemas/ConsentRequestBody"},"attempt":{"$ref":"#/components/schemas/AttemptRequestBody"},"daily_refresh":{"type":"boolean","description":"whether the connection should be automatically refreshed by Salt Edge."},"return_connection_id":{"type":"boolean","description":"whether to append `connection_id` to `return_to` URL."},"categorization":{"type":"string","default":"personal","enum":["none","personal","business"],"description":"the type of categorization applied."},"include_fake_providers":{"type":"boolean","description":"if sent as `true`, the customers of [live](/general/v5/#live) clients will be able to connect [fake providers](#providers-fake).\n"}}}}},"Provider":{"type":"object","description":"A provider is a source of financial data. We recommend you update all of the providers' fields at least daily.","required":["id","code","name","mode","status","automatic_fetch","customer_notified_on_sign_in","interactive","identification_mode","instruction","home_url","login_url","logo_url","country_code","refresh_timeout","holder_info","max_consent_days","created_at","updated_at","timezone","max_interactive_delay","optional_interactivity","regulated","max_fetch_interval","supported_fetch_scopes","supported_account_extra_fields","supported_transaction_extra_fields","supported_account_natures","supported_account_types","identification_codes","bic_codes","supported_iframe_embedding","payment_templates"],"properties":{"id":{"type":"string","description":"the `id` of the provider"},"code":{"type":"string","description":"provider's code"},"name":{"type":"string","description":"provider's name"},"mode":{"type":"string","description":"possible values are:\n\n  - `oauth` -- access through the bank's dedicated API (`regulated: true`). The user is redirected to the bank's page for authorization. For more details, check [OAuth providers](#oauth_providers).\n  - `web` -- access through the bank's WEB interface using screen scraping technology. Therefore, the user undergoes the same authorization flow as in the bank's web interface with an identical set of credentials.\n  - `api` -- access through a dedicated (`regulated: true`) or non-dedicated (`regulated: false`) bank's API. Some required credentials fields might be present which the user should complete (IBAN, username, etc.). In case of a dedicated API, an [interactive redirect](#connections-interactive) might be present, but there are required credentials fields which the user should complete (IBAN, username, etc.). Using these credentials, we authorize the user on the bank's side.\n  - `file` -- access through uploading a file of certain format (XLS, CSV, etc.), which is processed to extract information about accounts and transactions.\n"},"status":{"type":"string","description":"possible values: `active`, `inactive`, `disabled`\n\n- The providers with the `inactive` status are returned on the [providers list](#providers-list) endpoint, but are not visible on the Connect widget for the end-users.\n- The providers with `disabled` status are neither returned on the [providers list](#providers-list) endpoint, nor visible on the Connect widget for end-users.\n"},"automatic_fetch":{"type":"boolean","description":"whether the provider's connections can be automatically fetched. However, its performance also depends on `optional_interactivity` flag"},"dynamic_registration_code":{"type":"string","description":"the dynamic registration code assigned to the Provider"},"group_code":{"type":"string","description":"the code of the group to which the Provider belongs"},"group_name":{"type":"string","description":"it can be equal to `provider_code`, but may also change independently, regardless of the `provider_code`"},"hub":{"type":"string","description":"the hub that the Provider is affiliated with"},"customer_notified_on_sign_in":{"type":"boolean","description":"whether the provider will notify the customer on log in attempt"},"interactive":{"type":"boolean","description":"whether the provider requires interactive input"},"identification_mode":{"type":"string","enum":["client","saltedge"],"description":"whether the request to the provider is made with your [authorization headers](/account_information/v5/#client_provider_keys) or with Salt Edge's."},"instruction":{"type":"string","description":"guidance on how to connect the bank"},"home_url":{"type":"string","description":"the URL of the main page of the provider"},"login_url":{"type":"string","description":"point of entrance to provider's login web interface"},"logo_url":{"type":"string","description":"the URL for the provider logo, may have a placeholder for providers with missing logos"},"country_code":{"type":"string","description":"code of the provider's country"},"refresh_timeout":{"type":"integer","description":"amount of time (in minutes) after which the provider's connections are allowed to be refreshed"},"holder_info":{"type":"array","description":"contains information on the account holder details that can be fetched from this provider","items":{"type":"string"}},"max_consent_days":{"type":"integer","description":"maximum allowed consent duration. If it is `null`, then there are no limits"},"created_at":{"type":"string","format":"date-time","description":"time and date when the provider was integrated"},"updated_at":{"type":"string","format":"date-time","description":"the last time when any of provider's attributes were changed"},"timezone":{"type":"string","description":"time zone data of capital/major city in a region corresponding to the provider"},"max_interactive_delay":{"type":"integer","description":"delay in seconds before `InteractiveAdapterTimeout` error will be raised"},"optional_interactivity":{"type":"boolean","description":"provider which supports flipping of the `interactive` and `automatic_fetch` flags after connect"},"regulated":{"type":"boolean","description":"Whether the provider is integrated via a regulated channel under Open Banking/PSD2"},"max_fetch_interval":{"type":"integer","description":"Maximum period of days that a provider can return from its interface"},"custom_pendings":{"type":"boolean","description":"Equals to `true` if the provider supports a custom pending logic. For example, when the transactions for the last 7 days are marked as pending. Usually implemented to avoid the generation of duplicated transactions due to inconsistent transaction information returned by the bank."},"custom_pendings_period":{"type":"integer","description":"Populated when `custom_pendings` is `true`. Shows the number of days according to the custom pending period implemented in the provider."},"supported_fetch_scopes":{"type":"array","description":"array of strings with supported `fetch_scopes`","items":{"type":"string"}},"supported_account_extra_fields":{"type":"array","description":"array of possible [account extra](#accounts-extra) fields to be fetched","items":{"type":"string"}},"supported_transaction_extra_fields":{"type":"array","description":"array of possible [transaction extra](#transactions-extra) fields to be fetched","items":{"type":"string"}},"supported_account_natures":{"type":"array","description":"array of possible [account natures](#accounts-attributes) to be fetched","items":{"type":"string"}},"supported_account_types":{"type":"array","items":{"type":"string","enum":["personal","business"]}},"identification_codes":{"type":"array","description":"List of codes identifying supported branches of a specific provider. It may include BLZ(Germany), ABI+CAB(Italy), Branch Codes(France) etc.","items":{"type":"string"}},"bic_codes":{"type":"array","description":"List of BIC codes identifying supported branches of a specific provider.","items":{"type":"string"}},"supported_iframe_embedding":{"type":"boolean","enum":[true,false]},"payment_templates":{"type":"array","description":"identifiers of the [payment templates](/payment_initiation/v1/#payment_templates) that are supported by this provider","items":{"type":"string"}},"supported_payment_fields":{"type":"object","description":"if these fields are passed, they will be used by the provider. Otherwise, the payment will we processed even without them"},"required_payment_fields":{"type":"object","description":"mandatory payment attributes. If any of these fields are not passed, the payment will not be initiated successfully"}}},"ProviderResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Provider"}}},"ProvidersResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Provider"}},"meta":{"$ref":"#/components/schemas/MetaObject"}}},"MetaObject":{"type":"object","description":"Metaobject that contains information about pagination.","properties":{"next_id":{"type":"string"},"next_page":{"type":"string"}}},"Rate":{"type":"object","description":"A rate is an index of any currency value in relation to the USD currency.","required":["currency_code","rate","fail","issued_on"],"properties":{"currency_code":{"type":"string","description":"the code of the currency"},"rate":{"type":"number","description":"the ratio of the currency in relation to the `USD` currency"},"fail":{"type":"boolean","description":"the field which shows if we have an up-to-date rate for the currency. If the flag is `true`, it means that the rate has been taken from the previous available date"},"issued_on":{"type":"string","format":"date","description":"the date the rate has been issued on"}}},"RatesResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Rate"}},"meta":{"type":"object","properties":{"issued_on":{"type":"string","format":"date"}}}}},"Transaction":{"type":"object","required":["id","mode","status","made_on","amount","currency_code","description","category","duplicated","extra","account_id","created_at","updated_at"],"properties":{"id":{"type":"string","description":"id of the transaction"},"mode":{"type":"string","enum":["normal","fee","transfer"]},"status":{"type":"string","enum":["posted","pending"]},"made_on":{"type":"string","format":"date","description":"the date when the transaction was made"},"amount":{"type":"number","description":"transaction's amount"},"currency_code":{"type":"string","description":"transaction's currency code"},"description":{"type":"string","description":"transaction's description"},"category":{"type":"string","description":"transaction's category"},"duplicated":{"type":"boolean","description":"whether the transaction is duplicated or not"},"extra":{"$ref":"#/components/schemas/TransactionExtra"},"account_id":{"type":"string","description":"the `id` of the account the transaction belongs to"},"created_at":{"type":"string","format":"date-time","description":"time and date when the transaction was imported"},"updated_at":{"type":"string","format":"date-time","description":"the last time when the transaction's attributes (duplicated flag set, category learned applied) were changed by the client"}}},"TransactionExtra":{"type":"object","properties":{"account_balance_snapshot":{"type":"number","description":"balance of the account at the moment of the attempt when the transaction was imported."},"account_number":{"type":"string","description":"number of the account the transaction belongs to."},"additional":{"type":"string","description":"additional information (recommended to use in concatenation with original description, if present)."},"asset_amount":{"type":"number","description":"original transaction amount in asset units."},"asset_code":{"type":"string","description":"asset common used abbreviation (Ex.: `BTC` - Bitcoin, `XAU` - Gold etc.)"},"categorization_confidence":{"type":"number","description":"value from `0` to `1`, the probability that the current category is the correct one."},"check_number":{"type":"string","description":"payee's transaction check number."},"closing_balance":{"type":"number","description":"account balance after the transaction was imported."},"constant_code":{"type":"string","description":"payment reference for cashless domestic payments (transfers)."},"convert":{"type":"boolean","description":"whether the transaction amount was converted using exchange rates or not."},"customer_category_code":{"type":"string","description":"the category (present in [categories](#categories) list) that was categorized by the rules [created](#categories-learn) by the customer."},"customer_category_name":{"type":"string","description":"the category (not present in [categories](#categories) list) that was categorized by the rules [created](#categories-learn) by the customer."},"exchange_rate":{"type":"object","description":"the exchange rate that was applied to the converted transaction."},"id":{"type":"string","description":"transaction's identifier on the bank's end (do not confuse it with Salt Edge transaction `id`)."},"end_to_end_id":{"type":"string","description":"a unique identifier set by the merchant. Usually used for reconciliation."},"information":{"type":"string","description":"information about the transaction."},"mcc":{"type":"string","description":"the transaction's [Merchant Category Code](http://www.irs.gov/irb/2004-31_IRB/ar17.html)."},"merchant_id":{"type":"string","description":"merchant's identifier."},"opening_balance":{"type":"number","description":"account balance before the transaction was imported."},"original_amount":{"type":"number","description":"native amount of the transaction in transaction's currency (comes with `original_currency_code`)."},"original_category":{"type":"string","description":"the original category of the transaction."},"original_currency_code":{"type":"string","description":"native currency of the transaction (comes with `original_amount`)."},"original_subcategory":{"type":"string","description":"the original subcategory of the transaction."},"payee":{"type":"string","description":"to whom the money was paid."},"payee_information":{"type":"string","description":"additional payee information."},"payer":{"type":"string","description":"who paid the money."},"payer_information":{"type":"string","description":"additional payer information."},"possible_duplicate":{"type":"boolean","description":"is set to `true` if current transaction duplicates `amount`, `made_on` and `currency_code` of any transaction parsed in previous attempt."},"posted_by_aspsp":{"type":"boolean","description":"indicates that transaction is marked as posted (or booked) by the bank, but has the pending status assigned by Salt Edge due to `custom_pendings_period` logic."},"posting_date":{"type":"string","format":"date","description":"date when the transaction appears in statement."},"posting_time":{"type":"string","description":"time in `HH:MM:SS` format, representing time when the transaction appears in statement."},"record_number":{"type":"string","description":"bank record number."},"specific_code":{"type":"string","description":"additional identification information for cashless domestic payments (transfers)."},"tags":{"type":"array","description":"user defined information in the bank or e-wallet interface, assigned to a transaction record (not category).","items":{"type":"string"}},"time":{"type":"string","format":"time","description":"time when the transaction was made."},"transfer_account_name":{"type":"string","description":"name of the linked account."},"type":{"type":"string","description":"transaction type."},"unit_price":{"type":"number","description":"price per unit (used with units, available for investment accounts nature only)."},"units":{"type":"number","description":"amount of units owned (used with unit_price, available for investment accounts nature only)."},"variable_code":{"type":"string","description":"identifies the tax subject to the tax office, used for domestic payments (transfers)."}}},"DuplicateTransactionsRequestBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["transaction_ids","customer_id"],"properties":{"transaction_ids":{"type":"array","description":"the array of transactions `ids`","items":{"type":"string"}}}}}},"UnduplicateTransactionsRequestBody":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["transaction_ids","customer_id"],"properties":{"transaction_ids":{"type":"array","description":"the array of transactions `ids`","items":{"type":"string"}}}}}},"DuplicatedTransactionResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"duplicated":{"type":"boolean","default":true}}}}},"UnduplicatedTransactionResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"unduplicated":{"type":"boolean","default":true}}}}},"TransactionsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Transaction"}},"meta":{"$ref":"#/components/schemas/MetaObject"}}},"RemovedTransactionsResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"cleanup_started":{"type":"boolean","default":true}}}}},"ApiError":{"type":"object","description":"Error","required":["class","message","documentation_url","request_id","request"],"properties":{"class":{"type":"string","description":"the class of the error"},"message":{"type":"string","description":"a message describing the error"},"documentation_url":{"type":"string","description":"a link for error documentation"},"request_id":{"type":"string","description":"a unique identifier for this specific HTTP request. Can be sent to support for debugging"},"request":{"type":"object","description":"the body of the request that caused the error"}}}}}}