Advertisement
Guest User

Untitled

a guest
Dec 27th, 2017
1,667
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 442.60 KB | None | 0 0
  1. {
  2. "swagger": "2.0",
  3. "info": {
  4. "title": "The figo Connect API",
  5. "version": "",
  6. "description": "Welcome to the *figo Connect* API. This API offers a unified interface to thousands of banks and numerous payment service providers. API Services include, for example, retrieving transaction history, initiating payments, viewing securities portfolios, or receiving notifications on changes like incoming transactions.\n\nThis is the technical documentation on the *figo Connect* API. For a general introduction to figo services please visit our [main page](https://www.figo.io).\n\n## Registering your application\n\nIf you would like to use *figo Connect* API in your application, please [request for API credentials here](https://www.figo.io/client-id/). We will generate a client identifier and client secret for you to use.\n\n## Demo Access\n\nThis API provides a comprehensive demo access and user infrastructure, allowing you to\nprototype applications without registering a client ID. Two limitations apply to this kind of access:\n\n1. Access is read-only.\n\n2. The demo client can only be used with the demo user.\n\n### Demo Client\n\nDemo Client ID:\n\n```\nCaESKmC8MAhNpDe5rvmWnSkRE_7pkkVIIgMwclgzGcQY\n```\n\nDemo Client Secret:\n\n```\nSTdzfv0GXtEj_bwYn7AgCVszN1kKq5BdgEIKOM_fzybQ\n```\n\nDemo Access Token:\n\n```\nASHWLIkouP2O6_bgA2wWReRhletgWKHYjLqDaqb0LFfamim9RjexTo22ujRIP_cjLiRiSyQXyt2kM1eXU2XLFZQ0Hro15HikJQT_eNeT_9XQ\n```\n\n### Demo User\n\n- Demo User Login: `demo@figo.me`\n\n- Demo User Password: `demo1234`\n\n### Demo Bank\n\nAs real banks can be quite sensitive to trial and error development, we provide a special demo bank and demo bank account as part of this API which in most regards behaves just like a classical bank, but is much more patient.\n\n- IBAN: `DE67900900424711951500`\n\n- BIC: `DEMODE01`\n\n- Bank Code: `90090042`\n\n- Account number: `4711951500`\n\n- Username: `demo`\n\n- Password: `demo`\n\n- TAN: `111111` (constant for all transactions)\n\n## SDKs and Samples\n\nThis document describes the API on the protocol level. If you would simply like to integrate figo into your application as fast as possible, we also offer a variety of SDKs for different programming environments.\n\n- [Python](https://github.com/figo-connect/python-figo)\n\n- [Ruby](https://github.com/figo-connect/ruby-figo)\n\n- [Node.js](https://github.com/figo-connect/node-figo)\n\n- [PHP](https://github.com/figo-connect/php-figo)\n\n- [Java](https://github.com/figo-connect/java-figo)\n\n- [.net](https://github.com/figo-connect/net-figo)\n\n- [iOS](https://github.com/figo-connect/ios-sdk)\n\nPlease also have a look into the other repositories in our [GitHub account](https://github.com/figo-connect) for examples on how to use the SDKs and *figo Connect* in general.\n\n## API specification files\n\nYou can download the API specification as\n\n- [API blueprint](docs.apib)\n\n- [OpenAPI 2.0 (Swagger)](swagger.json)\n\n## Technical foundation\n\n### Base API Endpoint\n\n```\nhttps://api.figo.me\n```\n\nFigo Connect is a completely RESTful API and aims to follow as many best practices as possible. As they are not all commonly agreed on, the following sections describe the approach taken by the API.\n\nAs your security is of high importance to us, the API and its online tools are only available via HTTPS. In addition our SDKs employ certificate pinning to validate the certificate of the API server to extend beyond the SSL trust chain. For the same reasons we recommend to do the same if not using one of our SDKs. The current list of valid certificate fingerprints will be published here:\n\n### SHA1 (DEPRECATED)\n\n```\nBE:C2:2D:D3:C0:A5:E9:2E:3C:A4:56:7F:CD:45:B6:9A:F7:43:EB:F9\n```\n\n### SHA256\n\n```\n79:B2:A2:93:00:85:3B:06:92:B1:B5:F2:24:79:48:58:3A:A5:22:0F:C5:CD:E9:49:9A:C8:45:1E:DB:E0:DA:50\n```\n\nValid until 2018-06-24T23:59:59+00:00.\n\n### Data Representation\n\nThis API uses the HTTP headers `Content-Type` and `Accept` for content negotiation and any client should set them according to its abilities and preferences. In order to simplify usage of popular CLI tools with the API, `application/json` is used for the response representation.\n\n### Username & password policy\n\nUsernames have to be in e-mail address format, as specified in [RFC 5322](https://tools.ietf.org/html/rfc5322) section 3.4.1 (addr-spec).\n\nCurrently there are no requirements for passwords, but this might change in the future."
  7. },
  8. "paths": {
  9. "/version": {
  10. "get": {
  11. "responses": {
  12. "200": {
  13. "description": "OK",
  14. "headers": {},
  15. "examples": {
  16. "application/json": {
  17. "product_environment": "api",
  18. "product_version": "2.0.126",
  19. "product_name": "figo Connect",
  20. "ssl_fingerprints": [
  21. "DB:E2:E9:15:8F:C9:90:30:84:FE:36:CA:A6:11:38:D8:5A:20:5D:93"
  22. ]
  23. }
  24. },
  25. "schema": {
  26. "type": "object",
  27. "properties": {
  28. "product_environment": {
  29. "type": "string",
  30. "enum": [
  31. "api",
  32. "staging"
  33. ],
  34. "description": "Environment the service runs on"
  35. },
  36. "product_version": {
  37. "type": "string",
  38. "description": "API version"
  39. },
  40. "product_name": {
  41. "type": "string",
  42. "description": "Product name"
  43. },
  44. "ssl_fingerprints": {
  45. "type": "array",
  46. "items": {
  47. "type": "string"
  48. },
  49. "description": "List of service's SSL fingerprints"
  50. }
  51. }
  52. }
  53. }
  54. },
  55. "summary": "Version",
  56. "description": "Shows the current version of the *figo Connect* API and all available fingerprints you can use to perform certificate pinning against.",
  57. "tags": [
  58. "API Status"
  59. ],
  60. "parameters": [],
  61. "produces": [
  62. "application/json"
  63. ]
  64. }
  65. },
  66. "/": {
  67. "get": {
  68. "responses": {
  69. "400": {
  70. "description": "Bad Request",
  71. "headers": {},
  72. "examples": {
  73. "application/json": {
  74. "error": {
  75. "code": 90000,
  76. "name": "HTTPNotFound",
  77. "message": "Not Found",
  78. "description": "",
  79. "group": "",
  80. "data": {}
  81. },
  82. "status": 404
  83. }
  84. },
  85. "schema": {
  86. "type": "object",
  87. "properties": {
  88. "error": {
  89. "type": "object",
  90. "properties": {
  91. "code": {
  92. "type": "number",
  93. "description": "Error code"
  94. },
  95. "name": {
  96. "type": "string",
  97. "description": "Error name"
  98. },
  99. "message": {
  100. "type": "string",
  101. "description": "Error message string"
  102. },
  103. "description": {
  104. "type": "string",
  105. "description": "Error description"
  106. },
  107. "group": {
  108. "type": "string",
  109. "description": "Identifying thee source of the error"
  110. },
  111. "data": {
  112. "type": "object",
  113. "properties": {},
  114. "description": "Any additional data"
  115. }
  116. },
  117. "description": "Error object"
  118. },
  119. "status": {
  120. "type": "number",
  121. "description": "HTTP status code"
  122. }
  123. }
  124. }
  125. }
  126. },
  127. "summary": "Error",
  128. "description": "",
  129. "tags": [
  130. "Error Handling"
  131. ],
  132. "parameters": [],
  133. "produces": [
  134. "application/json"
  135. ]
  136. }
  137. },
  138. "/auth/code": {
  139. "get": {
  140. "responses": {
  141. "303": {
  142. "description": "See Other",
  143. "headers": {},
  144. "examples": {}
  145. }
  146. },
  147. "summary": "Obtain authorization code",
  148. "description": "If your client is not authorized to create figo accounts itself, your application must first obtain an *authorization code* before it can request an *access token*. Your application can initiate the authorization process by directing the user’s web browser to a popup window of figo Connect. The popup window will ask the user for their figo account credentials. The user will see the permissions as specified in scope and a list of bank and payment service accounts to choose from. If the user grants access to your application, the *figo Connect* server sends an authorization code to the callback URL by redirecting the browser to `redirect_uri`.\n\n**NOTE** You cannot use the demo client ID for this call.",
  149. "tags": [
  150. "Authentication"
  151. ],
  152. "parameters": [
  153. {
  154. "name": "response_type",
  155. "in": "query",
  156. "description": "This parameter must be set to `code`.",
  157. "required": true,
  158. "type": "string",
  159. "enum": [
  160. "code"
  161. ]
  162. },
  163. {
  164. "name": "client_id",
  165. "in": "query",
  166. "description": "The client ID obtained during application registration",
  167. "required": true,
  168. "type": "string"
  169. },
  170. {
  171. "name": "state",
  172. "in": "query",
  173. "description": "Any kind of string that will be forwarded with the redirection response. It serves two purposes: The value is used to maintain state between this request and the callback, e.g. it might contain a session ID from your application. The value should also contain a random component, which your application checks to mitigate cross-site request forgery.",
  174. "required": true,
  175. "type": "string"
  176. },
  177. {
  178. "name": "redirect_uri",
  179. "in": "query",
  180. "description": "The authorization code will be sent to this callback URL as a parameter. It must match one of the URLs registered during application registration. The value defaults to the first redirect URI configured for the client.",
  181. "required": false,
  182. "type": "string"
  183. },
  184. {
  185. "name": "scope",
  186. "in": "query",
  187. "description": "A space delimited set of requested permissions. The requested permissions can be narrower but not broader than the permissions agreed during application registration. If this parameter is omitted, the permissions agreed during application registration are used in place.",
  188. "required": false,
  189. "type": "string"
  190. }
  191. ]
  192. }
  193. },
  194. "/auth/token": {
  195. "post": {
  196. "responses": {
  197. "200": {
  198. "description": "OK",
  199. "headers": {},
  200. "examples": {
  201. "application/json": {
  202. "scope": "accounts=ro balance=ro offline",
  203. "token_type": "Bearer",
  204. "access_token": "ASHWLIkouP2O6bgA23DDrFv...",
  205. "expires_in": 3600,
  206. "refresh_token": "RTfI2WNyK78NozupDH9ai8GPRbjjdVsXPPt..."
  207. }
  208. },
  209. "schema": {
  210. "type": "object",
  211. "properties": {
  212. "scope": {
  213. "type": "string",
  214. "description": "A space delimited set of requested permissions. The requested permissions can be narrower but not broader than the permissions supplied in the authorization code request. If this parameter is omitted, the permissions supplied in the authorization code request are used in place."
  215. },
  216. "token_type": {
  217. "type": "string",
  218. "enum": [
  219. "Bearer"
  220. ]
  221. },
  222. "access_token": {
  223. "type": "string",
  224. "description": "The access token for the current user"
  225. },
  226. "expires_in": {
  227. "type": "number",
  228. "description": "The remaining live time of the access token in seconds"
  229. },
  230. "refresh_token": {
  231. "type": "string",
  232. "description": "A refresh token is only included in the response if client credentials have scope `offline`."
  233. }
  234. }
  235. }
  236. }
  237. },
  238. "summary": "Access Tokens",
  239. "description": "Access tokens authorize your application to perform operations on a user's data.",
  240. "tags": [
  241. "Authentication"
  242. ],
  243. "parameters": [
  244. {
  245. "name": "body",
  246. "in": "body",
  247. "schema": {
  248. "anyOf": [
  249. {
  250. "$schema": "http://json-schema.org/draft-04/schema#",
  251. "type": "object",
  252. "properties": {
  253. "grant_type": {
  254. "type": "string",
  255. "enum": [
  256. "authorization_code"
  257. ]
  258. },
  259. "code": {
  260. "type": "string",
  261. "description": "The authorization code returned from the initial request"
  262. },
  263. "redirect_uri": {
  264. "type": "string",
  265. "description": "If the callback URL was specified in the initial request, then it must also be included in this request. The value defaults to the first redirect URI configured for the client."
  266. }
  267. },
  268. "required": [
  269. "grant_type",
  270. "code"
  271. ]
  272. },
  273. {
  274. "$schema": "http://json-schema.org/draft-04/schema#",
  275. "type": "object",
  276. "properties": {
  277. "scope": {
  278. "type": "string",
  279. "description": "A space delimited set of requested permissions. The requested permissions can be narrower but not broader than the permissions supplied in the authorization code request. If this parameter is omitted, the permissions supplied in the authorization code request are used in place."
  280. },
  281. "grant_type": {
  282. "type": "string",
  283. "enum": [
  284. "refresh_token"
  285. ]
  286. },
  287. "refresh_token": {
  288. "type": "string",
  289. "description": "A refresh token that may be used to request new access tokens. Refresh tokens remain valid until the user revokes access to your application. This response parameter is only present if the permission `offline` has been requested in the authorization code request."
  290. }
  291. },
  292. "required": [
  293. "grant_type",
  294. "refresh_token"
  295. ]
  296. },
  297. {
  298. "$schema": "http://json-schema.org/draft-04/schema#",
  299. "type": "object",
  300. "properties": {
  301. "scope": {
  302. "type": "string",
  303. "description": "A space delimited set of requested permissions. The requested permissions can be narrower but not broader than the permissions supplied in the authorization code request. If this parameter is omitted, the permissions supplied in the authorization code request are used in place."
  304. },
  305. "grant_type": {
  306. "type": "string",
  307. "enum": [
  308. "password"
  309. ]
  310. },
  311. "username": {
  312. "type": "string",
  313. "description": "The figo account e-mail address"
  314. },
  315. "password": {
  316. "type": "string",
  317. "description": "The figo account password"
  318. }
  319. },
  320. "required": [
  321. "grant_type",
  322. "username",
  323. "password"
  324. ]
  325. }
  326. ]
  327. }
  328. }
  329. ],
  330. "produces": [
  331. "application/json"
  332. ]
  333. }
  334. },
  335. "/auth/revoke": {
  336. "post": {
  337. "responses": {
  338. "204": {
  339. "description": "No Content",
  340. "headers": {},
  341. "examples": {}
  342. }
  343. },
  344. "summary": "Revoke Token",
  345. "description": "Use this endpoint to invalidate an access token or refresh token.\n\n**NOTE** You cannot use the demo client ID for this call.",
  346. "tags": [
  347. "Authentication"
  348. ],
  349. "parameters": [
  350. {
  351. "name": "body",
  352. "in": "body",
  353. "schema": {
  354. "type": "object",
  355. "properties": {
  356. "token": {
  357. "type": "string",
  358. "description": "A refresh token or access token"
  359. },
  360. "cascade": {
  361. "type": "boolean",
  362. "description": "If `token` is an access token and `cascade` is set to `true`, the corresponding refresh token will also be revoked. Otherwise only `token` will be revoked.",
  363. "default": true
  364. }
  365. },
  366. "required": [
  367. "token"
  368. ]
  369. }
  370. }
  371. ]
  372. }
  373. },
  374. "/auth/user": {
  375. "post": {
  376. "responses": {
  377. "200": {
  378. "description": "OK",
  379. "headers": {},
  380. "examples": {
  381. "application/json": {
  382. "recovery_password": "abcd-efgh-ijkl-mnop"
  383. }
  384. },
  385. "schema": {
  386. "type": "object",
  387. "properties": {
  388. "recovery_password": {
  389. "type": "string",
  390. "description": "Auto-generated recovery password"
  391. }
  392. }
  393. }
  394. }
  395. },
  396. "summary": "Create User",
  397. "description": "",
  398. "tags": [
  399. "User Management"
  400. ],
  401. "parameters": [
  402. {
  403. "name": "body",
  404. "in": "body",
  405. "schema": {
  406. "$schema": "http://json-schema.org/draft-04/schema#",
  407. "type": "object",
  408. "properties": {
  409. "email": {
  410. "type": "string",
  411. "description": "E-mail address used for registration / figo account username"
  412. },
  413. "send_newsletter": {
  414. "type": "boolean",
  415. "description": "**DEPRECATED**"
  416. },
  417. "language": {
  418. "type": "string",
  419. "description": "Two-letter code of preferred language (ISO 639-1:2002)",
  420. "default": "de"
  421. },
  422. "name": {
  423. "type": "string",
  424. "description": "Full name of the figo account user"
  425. },
  426. "password": {
  427. "type": "string",
  428. "description": "Password of the figo Connect user"
  429. },
  430. "affiliate_user": {
  431. "type": "string",
  432. "description": "Base64 encoded e-mail address of the user promoting the new user"
  433. },
  434. "affiliate_client_id": {
  435. "type": "string",
  436. "description": "Client ID of the figo Connect partner from which the user was redirected to the registration form"
  437. }
  438. },
  439. "required": [
  440. "email",
  441. "name",
  442. "password"
  443. ]
  444. }
  445. }
  446. ],
  447. "produces": [
  448. "application/json"
  449. ]
  450. }
  451. },
  452. "/rest/user": {
  453. "get": {
  454. "responses": {
  455. "200": {
  456. "description": "OK",
  457. "headers": {},
  458. "examples": {
  459. "application/json": {
  460. "email": "demo@figo.me",
  461. "send_newsletter": false,
  462. "language": "de",
  463. "user_id": "U1",
  464. "name": "Max Mustermann",
  465. "join_date": "2017-01-03T00:00:00.000Z",
  466. "verified_email": true,
  467. "address": {
  468. "street": "Ritterstr. 2-3",
  469. "street2": "",
  470. "postal_code": "10969",
  471. "city": "Berlin",
  472. "country": "Germany",
  473. "company": "figo",
  474. "bill": false,
  475. "vat": ""
  476. },
  477. "force_reset": false,
  478. "premium": "DEPRECATED",
  479. "premium_subscription": "DEPRECATED",
  480. "premium_expires_on": "DEPRECATED"
  481. }
  482. },
  483. "schema": {
  484. "type": "object",
  485. "properties": {
  486. "email": {
  487. "type": "string",
  488. "description": "E-mail address used for registration / figo account username"
  489. },
  490. "send_newsletter": {
  491. "type": "boolean",
  492. "description": "**DEPRECATED**"
  493. },
  494. "language": {
  495. "type": "string",
  496. "description": "Two-letter code of preferred language (ISO 639-1:2002)",
  497. "default": "de"
  498. },
  499. "user_id": {
  500. "type": "string",
  501. "description": "Internal figo Connect user id"
  502. },
  503. "name": {
  504. "type": "string",
  505. "description": "Full name of the figo account user"
  506. },
  507. "join_date": {
  508. "type": "string",
  509. "description": "Timestamp of figo account registration"
  510. },
  511. "verified_email": {
  512. "type": "boolean",
  513. "description": "This flag indicates whether the user's e-mail has been verified."
  514. },
  515. "address": {
  516. "type": "object",
  517. "properties": {
  518. "street": {
  519. "type": "string"
  520. },
  521. "street2": {
  522. "type": "string"
  523. },
  524. "postal_code": {
  525. "type": "string"
  526. },
  527. "city": {
  528. "type": "string"
  529. },
  530. "country": {
  531. "type": "string"
  532. },
  533. "company": {
  534. "type": "string"
  535. },
  536. "bill": {
  537. "type": "boolean",
  538. "description": "**DEPRECATED**"
  539. },
  540. "vat": {
  541. "type": "string",
  542. "description": "**DEPRECATED**"
  543. }
  544. },
  545. "description": "Postal address for bills, etc."
  546. },
  547. "force_reset": {
  548. "type": "boolean",
  549. "description": "**DEPRECATED**"
  550. },
  551. "premium": {
  552. "type": "string",
  553. "description": "**DEPRECATED**"
  554. },
  555. "premium_subscription": {
  556. "type": "string",
  557. "description": "**DEPRECATED**"
  558. },
  559. "premium_expires_on": {
  560. "type": "string",
  561. "description": "**DEPRECATED**"
  562. }
  563. },
  564. "required": [
  565. "email"
  566. ]
  567. }
  568. }
  569. },
  570. "summary": "Retrieve user",
  571. "description": "",
  572. "tags": [
  573. "User Management"
  574. ],
  575. "parameters": [],
  576. "produces": [
  577. "application/json"
  578. ]
  579. },
  580. "put": {
  581. "responses": {
  582. "204": {
  583. "description": "No Content",
  584. "headers": {},
  585. "examples": {}
  586. }
  587. },
  588. "summary": "Modify User",
  589. "description": "",
  590. "tags": [
  591. "User Management"
  592. ],
  593. "parameters": [
  594. {
  595. "name": "body",
  596. "in": "body",
  597. "schema": {
  598. "$schema": "http://json-schema.org/draft-04/schema#",
  599. "type": "object",
  600. "properties": {
  601. "email": {
  602. "type": "string",
  603. "description": "E-mail address used for registration / figo account username"
  604. },
  605. "send_newsletter": {
  606. "type": "boolean",
  607. "description": "**DEPRECATED**"
  608. },
  609. "language": {
  610. "type": "string",
  611. "description": "Two-letter code of preferred language (ISO 639-1:2002)",
  612. "default": "de"
  613. },
  614. "name": {
  615. "type": "string",
  616. "description": "Full name of the figo account user"
  617. },
  618. "address": {
  619. "type": "object",
  620. "properties": {
  621. "street": {
  622. "type": "string"
  623. },
  624. "street2": {
  625. "type": "string"
  626. },
  627. "postal_code": {
  628. "type": "string"
  629. },
  630. "city": {
  631. "type": "string"
  632. },
  633. "country": {
  634. "type": "string"
  635. },
  636. "company": {
  637. "type": "string"
  638. },
  639. "bill": {
  640. "type": "boolean",
  641. "description": "**DEPRECATED**"
  642. },
  643. "vat": {
  644. "type": "string",
  645. "description": "**DEPRECATED**"
  646. }
  647. },
  648. "description": "Postal address"
  649. },
  650. "password": {
  651. "type": "string",
  652. "description": "Current figo account password"
  653. },
  654. "new_password": {
  655. "type": "string",
  656. "description": "New figo account password. If this parameter is set, then the parameter `password` must be set, too."
  657. },
  658. "paymill_token": {
  659. "type": "string",
  660. "description": "**DEPRECATED**"
  661. }
  662. },
  663. "required": [
  664. "email"
  665. ]
  666. }
  667. }
  668. ]
  669. },
  670. "delete": {
  671. "responses": {
  672. "204": {
  673. "description": "No Content",
  674. "headers": {},
  675. "examples": {}
  676. }
  677. },
  678. "summary": "Delete User",
  679. "description": "",
  680. "tags": [
  681. "User Management"
  682. ],
  683. "parameters": [
  684. {
  685. "name": "body",
  686. "in": "body",
  687. "schema": {
  688. "$schema": "http://json-schema.org/draft-04/schema#",
  689. "type": "object",
  690. "properties": {
  691. "reason": {
  692. "type": "string",
  693. "description": "User's reason to cancel the subscription"
  694. }
  695. }
  696. }
  697. }
  698. ]
  699. }
  700. },
  701. "/catalog": {
  702. "get": {
  703. "responses": {
  704. "200": {
  705. "description": "OK",
  706. "headers": {},
  707. "examples": {
  708. "application/json": {
  709. "banks": [
  710. {
  711. "name": "Postbank Berlin",
  712. "bank_code": "10010010",
  713. "icon": [
  714. "https://api.figo.me/assets/images/accounts/postbank.png",
  715. {
  716. "48x48": "https://api.figo.me/assets/images/accounts/postbank_48.png",
  717. "60x60": "https://api.figo.me/assets/images/accounts/postbank_60.png",
  718. "72x72": "https://api.figo.me/assets/images/accounts/postbank_72.png",
  719. "84x84": "https://api.figo.me/assets/images/accounts/postbank_84.png",
  720. "96x96": "https://api.figo.me/assets/images/accounts/postbank_96.png",
  721. "120x120": "https://api.figo.me/assets/images/accounts/postbank_120.png",
  722. "144x144": "https://api.figo.me/assets/images/accounts/postbank_144.png",
  723. "192x192": "https://api.figo.me/assets/images/accounts/postbank_192.png",
  724. "256x256": "https://api.figo.me/assets/images/accounts/postbank_256.png"
  725. }
  726. ],
  727. "credentials": [
  728. {
  729. "label": "PIN oder Passwort",
  730. "masked": true
  731. }
  732. ],
  733. "advice": "Bitte beachten Sie, dass ein Postbank Login nur über Eingabe der 10-stelligen, numerischen Kontonummer und der 5-stelligen PIN möglich ist.",
  734. "language": {
  735. "available_languages": [
  736. "de",
  737. "en"
  738. ],
  739. "current_language": "de"
  740. },
  741. "bic": "PBNKDEFFXXX"
  742. }
  743. ],
  744. "services": [
  745. {
  746. "name": "PayPal",
  747. "bank_code": "PayPal",
  748. "icon": [
  749. "https://api.figo.me/assets/images/accounts/paypal.png",
  750. {
  751. "48x48": "https://api.figo.me/assets/images/accounts/paypal_48.png",
  752. "60x60": "https://api.figo.me/assets/images/accounts/paypal_60.png",
  753. "72x72": "https://api.figo.me/assets/images/accounts/paypal_72.png",
  754. "84x84": "https://api.figo.me/assets/images/accounts/paypal_84.png",
  755. "96x96": "https://api.figo.me/assets/images/accounts/paypal_96.png",
  756. "120x120": "https://api.figo.me/assets/images/accounts/paypal_120.png",
  757. "144x144": "https://api.figo.me/assets/images/accounts/paypal_144.png",
  758. "192x192": "https://api.figo.me/assets/images/accounts/paypal_192.png",
  759. "256x256": "https://api.figo.me/assets/images/accounts/paypal_256.png"
  760. }
  761. ],
  762. "credentials": [
  763. {
  764. "label": "PIN oder Passwort",
  765. "masked": true
  766. }
  767. ],
  768. "advice": "Bitte geben Sie Ihre Kreditkartennummer und Ihr Passwort ein.",
  769. "language": {
  770. "available_languages": [
  771. "de",
  772. "en"
  773. ],
  774. "current_language": "de"
  775. }
  776. }
  777. ]
  778. }
  779. },
  780. "schema": {
  781. "type": "object",
  782. "properties": {
  783. "banks": {
  784. "type": "array",
  785. "items": {
  786. "type": "object",
  787. "properties": {
  788. "name": {
  789. "type": "string",
  790. "description": "Human readable name of bank"
  791. },
  792. "bank_code": {
  793. "type": "string",
  794. "description": "Bank code"
  795. },
  796. "icon": {
  797. "type": "array",
  798. "items": [
  799. {
  800. "type": "string",
  801. "enum": [
  802. "https://api.figo.me/assets/images/accounts/postbank.png"
  803. ]
  804. },
  805. {
  806. "type": "object",
  807. "properties": {
  808. "48x48": {
  809. "type": "string",
  810. "enum": [
  811. "https://api.figo.me/assets/images/accounts/postbank_48.png"
  812. ]
  813. },
  814. "60x60": {
  815. "type": "string",
  816. "enum": [
  817. "https://api.figo.me/assets/images/accounts/postbank_60.png"
  818. ]
  819. },
  820. "72x72": {
  821. "type": "string",
  822. "enum": [
  823. "https://api.figo.me/assets/images/accounts/postbank_72.png"
  824. ]
  825. },
  826. "84x84": {
  827. "type": "string",
  828. "enum": [
  829. "https://api.figo.me/assets/images/accounts/postbank_84.png"
  830. ]
  831. },
  832. "96x96": {
  833. "type": "string",
  834. "enum": [
  835. "https://api.figo.me/assets/images/accounts/postbank_96.png"
  836. ]
  837. },
  838. "120x120": {
  839. "type": "string",
  840. "enum": [
  841. "https://api.figo.me/assets/images/accounts/postbank_120.png"
  842. ]
  843. },
  844. "144x144": {
  845. "type": "string",
  846. "enum": [
  847. "https://api.figo.me/assets/images/accounts/postbank_144.png"
  848. ]
  849. },
  850. "192x192": {
  851. "type": "string",
  852. "enum": [
  853. "https://api.figo.me/assets/images/accounts/postbank_192.png"
  854. ]
  855. },
  856. "256x256": {
  857. "type": "string",
  858. "enum": [
  859. "https://api.figo.me/assets/images/accounts/postbank_256.png"
  860. ]
  861. }
  862. },
  863. "required": [
  864. "48x48",
  865. "60x60",
  866. "72x72",
  867. "84x84",
  868. "96x96",
  869. "120x120",
  870. "144x144",
  871. "192x192",
  872. "256x256"
  873. ],
  874. "additionalProperties": false
  875. }
  876. ],
  877. "description": "URL to an logo of the bank, e.g. as a badge icon, and URLs for icons with additional resolutions"
  878. },
  879. "credentials": {
  880. "type": "array",
  881. "items": {
  882. "type": "object",
  883. "properties": {
  884. "label": {
  885. "type": "string",
  886. "description": "Label for text input field"
  887. },
  888. "masked": {
  889. "type": "boolean",
  890. "description": "This indicates whether the this text input field is used for password entry and therefore should be masked on presentation."
  891. }
  892. }
  893. },
  894. "description": "List of credentials needed to connect to the bank."
  895. },
  896. "advice": {
  897. "type": "string",
  898. "description": "Any additional advice useful to locate the required credentials"
  899. },
  900. "language": {
  901. "type": "object",
  902. "properties": {
  903. "available_languages": {
  904. "type": "array",
  905. "items": [
  906. {
  907. "type": "string"
  908. },
  909. {
  910. "type": "string"
  911. }
  912. ],
  913. "description": "List of available languages"
  914. },
  915. "current_language": {
  916. "type": "string",
  917. "description": "Current language of catalog item"
  918. }
  919. },
  920. "description": "Language information of catalog item"
  921. },
  922. "bic": {
  923. "type": "string",
  924. "description": "BIC"
  925. }
  926. },
  927. "required": [
  928. "icon"
  929. ]
  930. },
  931. "description": "List of supported banks"
  932. },
  933. "services": {
  934. "type": "array",
  935. "items": {
  936. "type": "object",
  937. "properties": {
  938. "name": {
  939. "type": "string",
  940. "description": "Human readable name of service"
  941. },
  942. "bank_code": {
  943. "type": "string",
  944. "description": "*figo Connect* internal ID of service"
  945. },
  946. "icon": {
  947. "type": "array",
  948. "items": [
  949. {
  950. "type": "string",
  951. "enum": [
  952. "https://api.figo.me/assets/images/accounts/paypal.png"
  953. ]
  954. },
  955. {
  956. "type": "object",
  957. "properties": {
  958. "48x48": {
  959. "type": "string",
  960. "enum": [
  961. "https://api.figo.me/assets/images/accounts/paypal_48.png"
  962. ]
  963. },
  964. "60x60": {
  965. "type": "string",
  966. "enum": [
  967. "https://api.figo.me/assets/images/accounts/paypal_60.png"
  968. ]
  969. },
  970. "72x72": {
  971. "type": "string",
  972. "enum": [
  973. "https://api.figo.me/assets/images/accounts/paypal_72.png"
  974. ]
  975. },
  976. "84x84": {
  977. "type": "string",
  978. "enum": [
  979. "https://api.figo.me/assets/images/accounts/paypal_84.png"
  980. ]
  981. },
  982. "96x96": {
  983. "type": "string",
  984. "enum": [
  985. "https://api.figo.me/assets/images/accounts/paypal_96.png"
  986. ]
  987. },
  988. "120x120": {
  989. "type": "string",
  990. "enum": [
  991. "https://api.figo.me/assets/images/accounts/paypal_120.png"
  992. ]
  993. },
  994. "144x144": {
  995. "type": "string",
  996. "enum": [
  997. "https://api.figo.me/assets/images/accounts/paypal_144.png"
  998. ]
  999. },
  1000. "192x192": {
  1001. "type": "string",
  1002. "enum": [
  1003. "https://api.figo.me/assets/images/accounts/paypal_192.png"
  1004. ]
  1005. },
  1006. "256x256": {
  1007. "type": "string",
  1008. "enum": [
  1009. "https://api.figo.me/assets/images/accounts/paypal_256.png"
  1010. ]
  1011. }
  1012. },
  1013. "required": [
  1014. "48x48",
  1015. "60x60",
  1016. "72x72",
  1017. "84x84",
  1018. "96x96",
  1019. "120x120",
  1020. "144x144",
  1021. "192x192",
  1022. "256x256"
  1023. ],
  1024. "additionalProperties": false
  1025. }
  1026. ],
  1027. "description": "URL to an logo of the service, e.g. as a badge icon, and URLs for icons with additional resolutions"
  1028. },
  1029. "credentials": {
  1030. "type": "array",
  1031. "items": {
  1032. "type": "object",
  1033. "properties": {
  1034. "label": {
  1035. "type": "string",
  1036. "description": "Label for text input field"
  1037. },
  1038. "masked": {
  1039. "type": "boolean",
  1040. "description": "This indicates whether the this text input field is used for password entry and therefore should be masked on presentation."
  1041. }
  1042. }
  1043. },
  1044. "description": "List of credentials needed to connect to the service."
  1045. },
  1046. "advice": {
  1047. "type": "string",
  1048. "description": "Any additional advice useful to locate the required credentials"
  1049. },
  1050. "language": {
  1051. "type": "object",
  1052. "properties": {
  1053. "available_languages": {
  1054. "type": "array",
  1055. "items": [
  1056. {
  1057. "type": "string"
  1058. },
  1059. {
  1060. "type": "string"
  1061. }
  1062. ],
  1063. "description": "List of available languages"
  1064. },
  1065. "current_language": {
  1066. "type": "string",
  1067. "description": "Current language of catalog item"
  1068. }
  1069. },
  1070. "description": "Language information of catalog item"
  1071. }
  1072. },
  1073. "required": [
  1074. "icon"
  1075. ]
  1076. },
  1077. "description": "List of supported payment services"
  1078. }
  1079. }
  1080. }
  1081. }
  1082. },
  1083. "summary": "Read complete Catalog",
  1084. "description": "**NOTE** You cannot use the demo client ID for this call.\n\nThe real catalog contains thousands of entries, so expect the call to cause some traffic and delay. The example is only to highlight the data structure.",
  1085. "tags": [
  1086. "Catalog"
  1087. ],
  1088. "parameters": [],
  1089. "produces": [
  1090. "application/json"
  1091. ]
  1092. }
  1093. },
  1094. "/catalog/banks/{country_code}": {
  1095. "get": {
  1096. "responses": {
  1097. "200": {
  1098. "description": "OK",
  1099. "headers": {},
  1100. "examples": {
  1101. "application/json": {
  1102. "banks": [
  1103. {
  1104. "name": "Postbank Berlin",
  1105. "bank_code": "10010010",
  1106. "icon": [
  1107. "https://api.figo.me/assets/images/accounts/postbank.png",
  1108. {
  1109. "48x48": "https://api.figo.me/assets/images/accounts/postbank_48.png",
  1110. "60x60": "https://api.figo.me/assets/images/accounts/postbank_60.png",
  1111. "72x72": "https://api.figo.me/assets/images/accounts/postbank_72.png",
  1112. "84x84": "https://api.figo.me/assets/images/accounts/postbank_84.png",
  1113. "96x96": "https://api.figo.me/assets/images/accounts/postbank_96.png",
  1114. "120x120": "https://api.figo.me/assets/images/accounts/postbank_120.png",
  1115. "144x144": "https://api.figo.me/assets/images/accounts/postbank_144.png",
  1116. "192x192": "https://api.figo.me/assets/images/accounts/postbank_192.png",
  1117. "256x256": "https://api.figo.me/assets/images/accounts/postbank_256.png"
  1118. }
  1119. ],
  1120. "credentials": [
  1121. {
  1122. "label": "PIN oder Passwort",
  1123. "masked": true
  1124. }
  1125. ],
  1126. "advice": "Bitte beachten Sie, dass ein Postbank Login nur über Eingabe der 10-stelligen, numerischen Kontonummer und der 5-stelligen PIN möglich ist.",
  1127. "language": {
  1128. "available_languages": [
  1129. "de",
  1130. "en"
  1131. ],
  1132. "current_language": "de"
  1133. },
  1134. "bic": "PBNKDEFFXXX"
  1135. }
  1136. ]
  1137. }
  1138. },
  1139. "schema": {
  1140. "type": "object",
  1141. "properties": {
  1142. "banks": {
  1143. "type": "array",
  1144. "items": {
  1145. "type": "object",
  1146. "properties": {
  1147. "name": {
  1148. "type": "string",
  1149. "description": "Human readable name of bank"
  1150. },
  1151. "bank_code": {
  1152. "type": "string",
  1153. "description": "Bank code"
  1154. },
  1155. "icon": {
  1156. "type": "array",
  1157. "items": [
  1158. {
  1159. "type": "string",
  1160. "enum": [
  1161. "https://api.figo.me/assets/images/accounts/postbank.png"
  1162. ]
  1163. },
  1164. {
  1165. "type": "object",
  1166. "properties": {
  1167. "48x48": {
  1168. "type": "string",
  1169. "enum": [
  1170. "https://api.figo.me/assets/images/accounts/postbank_48.png"
  1171. ]
  1172. },
  1173. "60x60": {
  1174. "type": "string",
  1175. "enum": [
  1176. "https://api.figo.me/assets/images/accounts/postbank_60.png"
  1177. ]
  1178. },
  1179. "72x72": {
  1180. "type": "string",
  1181. "enum": [
  1182. "https://api.figo.me/assets/images/accounts/postbank_72.png"
  1183. ]
  1184. },
  1185. "84x84": {
  1186. "type": "string",
  1187. "enum": [
  1188. "https://api.figo.me/assets/images/accounts/postbank_84.png"
  1189. ]
  1190. },
  1191. "96x96": {
  1192. "type": "string",
  1193. "enum": [
  1194. "https://api.figo.me/assets/images/accounts/postbank_96.png"
  1195. ]
  1196. },
  1197. "120x120": {
  1198. "type": "string",
  1199. "enum": [
  1200. "https://api.figo.me/assets/images/accounts/postbank_120.png"
  1201. ]
  1202. },
  1203. "144x144": {
  1204. "type": "string",
  1205. "enum": [
  1206. "https://api.figo.me/assets/images/accounts/postbank_144.png"
  1207. ]
  1208. },
  1209. "192x192": {
  1210. "type": "string",
  1211. "enum": [
  1212. "https://api.figo.me/assets/images/accounts/postbank_192.png"
  1213. ]
  1214. },
  1215. "256x256": {
  1216. "type": "string",
  1217. "enum": [
  1218. "https://api.figo.me/assets/images/accounts/postbank_256.png"
  1219. ]
  1220. }
  1221. },
  1222. "required": [
  1223. "48x48",
  1224. "60x60",
  1225. "72x72",
  1226. "84x84",
  1227. "96x96",
  1228. "120x120",
  1229. "144x144",
  1230. "192x192",
  1231. "256x256"
  1232. ],
  1233. "additionalProperties": false
  1234. }
  1235. ],
  1236. "description": "URL to an logo of the bank, e.g. as a badge icon, and URLs for icons with additional resolutions"
  1237. },
  1238. "credentials": {
  1239. "type": "array",
  1240. "items": {
  1241. "type": "object",
  1242. "properties": {
  1243. "label": {
  1244. "type": "string",
  1245. "description": "Label for text input field"
  1246. },
  1247. "masked": {
  1248. "type": "boolean",
  1249. "description": "This indicates whether the this text input field is used for password entry and therefore should be masked on presentation."
  1250. }
  1251. }
  1252. },
  1253. "description": "List of credentials needed to connect to the bank."
  1254. },
  1255. "advice": {
  1256. "type": "string",
  1257. "description": "Any additional advice useful to locate the required credentials"
  1258. },
  1259. "language": {
  1260. "type": "object",
  1261. "properties": {
  1262. "available_languages": {
  1263. "type": "array",
  1264. "items": [
  1265. {
  1266. "type": "string"
  1267. },
  1268. {
  1269. "type": "string"
  1270. }
  1271. ],
  1272. "description": "List of available languages"
  1273. },
  1274. "current_language": {
  1275. "type": "string",
  1276. "description": "Current language of catalog item"
  1277. }
  1278. },
  1279. "description": "Language information of catalog item"
  1280. },
  1281. "bic": {
  1282. "type": "string",
  1283. "description": "BIC"
  1284. }
  1285. },
  1286. "required": [
  1287. "icon"
  1288. ]
  1289. },
  1290. "description": "List of supported banks"
  1291. }
  1292. }
  1293. }
  1294. }
  1295. },
  1296. "summary": "Read banks Catalog by country",
  1297. "description": "**NOTE** You cannot use the demo client ID for this call.",
  1298. "tags": [
  1299. "Catalog"
  1300. ],
  1301. "parameters": [
  1302. {
  1303. "name": "country_code",
  1304. "in": "path",
  1305. "description": "Country code of the financial provider (ISO 3166-1 ALPHA 2). If omitted, banks from all supported countries are included",
  1306. "required": false,
  1307. "type": "string"
  1308. }
  1309. ],
  1310. "produces": [
  1311. "application/json"
  1312. ]
  1313. }
  1314. },
  1315. "/catalog/services/{country_code}": {
  1316. "get": {
  1317. "responses": {
  1318. "200": {
  1319. "description": "OK",
  1320. "headers": {},
  1321. "examples": {
  1322. "application/json": {
  1323. "services": [
  1324. {
  1325. "name": "PayPal",
  1326. "bank_code": "PayPal",
  1327. "icon": [
  1328. "https://api.figo.me/assets/images/accounts/paypal.png",
  1329. {
  1330. "48x48": "https://api.figo.me/assets/images/accounts/paypal_48.png",
  1331. "60x60": "https://api.figo.me/assets/images/accounts/paypal_60.png",
  1332. "72x72": "https://api.figo.me/assets/images/accounts/paypal_72.png",
  1333. "84x84": "https://api.figo.me/assets/images/accounts/paypal_84.png",
  1334. "96x96": "https://api.figo.me/assets/images/accounts/paypal_96.png",
  1335. "120x120": "https://api.figo.me/assets/images/accounts/paypal_120.png",
  1336. "144x144": "https://api.figo.me/assets/images/accounts/paypal_144.png",
  1337. "192x192": "https://api.figo.me/assets/images/accounts/paypal_192.png",
  1338. "256x256": "https://api.figo.me/assets/images/accounts/paypal_256.png"
  1339. }
  1340. ],
  1341. "credentials": [
  1342. {
  1343. "label": "PIN oder Passwort",
  1344. "masked": true
  1345. }
  1346. ],
  1347. "advice": "Bitte geben Sie Ihre Kreditkartennummer und Ihr Passwort ein.",
  1348. "language": {
  1349. "available_languages": [
  1350. "de",
  1351. "en"
  1352. ],
  1353. "current_language": "de"
  1354. }
  1355. }
  1356. ]
  1357. }
  1358. },
  1359. "schema": {
  1360. "type": "object",
  1361. "properties": {
  1362. "services": {
  1363. "type": "array",
  1364. "items": {
  1365. "type": "object",
  1366. "properties": {
  1367. "name": {
  1368. "type": "string",
  1369. "description": "Human readable name of service"
  1370. },
  1371. "bank_code": {
  1372. "type": "string",
  1373. "description": "*figo Connect* internal ID of service"
  1374. },
  1375. "icon": {
  1376. "type": "array",
  1377. "items": [
  1378. {
  1379. "type": "string",
  1380. "enum": [
  1381. "https://api.figo.me/assets/images/accounts/paypal.png"
  1382. ]
  1383. },
  1384. {
  1385. "type": "object",
  1386. "properties": {
  1387. "48x48": {
  1388. "type": "string",
  1389. "enum": [
  1390. "https://api.figo.me/assets/images/accounts/paypal_48.png"
  1391. ]
  1392. },
  1393. "60x60": {
  1394. "type": "string",
  1395. "enum": [
  1396. "https://api.figo.me/assets/images/accounts/paypal_60.png"
  1397. ]
  1398. },
  1399. "72x72": {
  1400. "type": "string",
  1401. "enum": [
  1402. "https://api.figo.me/assets/images/accounts/paypal_72.png"
  1403. ]
  1404. },
  1405. "84x84": {
  1406. "type": "string",
  1407. "enum": [
  1408. "https://api.figo.me/assets/images/accounts/paypal_84.png"
  1409. ]
  1410. },
  1411. "96x96": {
  1412. "type": "string",
  1413. "enum": [
  1414. "https://api.figo.me/assets/images/accounts/paypal_96.png"
  1415. ]
  1416. },
  1417. "120x120": {
  1418. "type": "string",
  1419. "enum": [
  1420. "https://api.figo.me/assets/images/accounts/paypal_120.png"
  1421. ]
  1422. },
  1423. "144x144": {
  1424. "type": "string",
  1425. "enum": [
  1426. "https://api.figo.me/assets/images/accounts/paypal_144.png"
  1427. ]
  1428. },
  1429. "192x192": {
  1430. "type": "string",
  1431. "enum": [
  1432. "https://api.figo.me/assets/images/accounts/paypal_192.png"
  1433. ]
  1434. },
  1435. "256x256": {
  1436. "type": "string",
  1437. "enum": [
  1438. "https://api.figo.me/assets/images/accounts/paypal_256.png"
  1439. ]
  1440. }
  1441. },
  1442. "required": [
  1443. "48x48",
  1444. "60x60",
  1445. "72x72",
  1446. "84x84",
  1447. "96x96",
  1448. "120x120",
  1449. "144x144",
  1450. "192x192",
  1451. "256x256"
  1452. ],
  1453. "additionalProperties": false
  1454. }
  1455. ],
  1456. "description": "URL to an logo of the service, e.g. as a badge icon, and URLs for icons with additional resolutions"
  1457. },
  1458. "credentials": {
  1459. "type": "array",
  1460. "items": {
  1461. "type": "object",
  1462. "properties": {
  1463. "label": {
  1464. "type": "string",
  1465. "description": "Label for text input field"
  1466. },
  1467. "masked": {
  1468. "type": "boolean",
  1469. "description": "This indicates whether the this text input field is used for password entry and therefore should be masked on presentation."
  1470. }
  1471. }
  1472. },
  1473. "description": "List of credentials needed to connect to the service."
  1474. },
  1475. "advice": {
  1476. "type": "string",
  1477. "description": "Any additional advice useful to locate the required credentials"
  1478. },
  1479. "language": {
  1480. "type": "object",
  1481. "properties": {
  1482. "available_languages": {
  1483. "type": "array",
  1484. "items": [
  1485. {
  1486. "type": "string"
  1487. },
  1488. {
  1489. "type": "string"
  1490. }
  1491. ],
  1492. "description": "List of available languages"
  1493. },
  1494. "current_language": {
  1495. "type": "string",
  1496. "description": "Current language of catalog item"
  1497. }
  1498. },
  1499. "description": "Language information of catalog item"
  1500. }
  1501. },
  1502. "required": [
  1503. "icon"
  1504. ]
  1505. },
  1506. "description": "List of supported payment services"
  1507. }
  1508. }
  1509. }
  1510. }
  1511. },
  1512. "summary": "Read services Catalog by country",
  1513. "description": "**NOTE** You cannot use the demo client ID for this call.",
  1514. "tags": [
  1515. "Catalog"
  1516. ],
  1517. "parameters": [
  1518. {
  1519. "name": "country_code",
  1520. "in": "path",
  1521. "description": "Country code of the financial provider (ISO 3166-1 ALPHA 2). If omitted, services from all supported countries are included",
  1522. "required": false,
  1523. "type": "string"
  1524. }
  1525. ],
  1526. "produces": [
  1527. "application/json"
  1528. ]
  1529. }
  1530. },
  1531. "/catalog/{catalog_category}/{country_code}/{financial_provider_id}": {
  1532. "get": {
  1533. "responses": {
  1534. "200": {
  1535. "description": "OK",
  1536. "headers": {},
  1537. "examples": {
  1538. "application/json": {
  1539. "name": "PayPal",
  1540. "bank_code": "PayPal",
  1541. "icon": "https://api.figo.me/assets/images/accounts/paypal.png",
  1542. "credentials": [
  1543. {
  1544. "label": "PIN oder Passwort",
  1545. "masked": true
  1546. }
  1547. ],
  1548. "advice": "Bitte geben Sie Ihre Kreditkartennummer und Ihr Passwort ein.",
  1549. "language": {
  1550. "available_languages": [
  1551. "de",
  1552. "en"
  1553. ],
  1554. "current_language": "de"
  1555. },
  1556. "additional_icons": {
  1557. "48x48": "https://api.figo.me/assets/images/accounts/paypal_48.png",
  1558. "60x60": "https://api.figo.me/assets/images/accounts/paypal_60.png",
  1559. "72x72": "https://api.figo.me/assets/images/accounts/paypal_72.png",
  1560. "84x84": "https://api.figo.me/assets/images/accounts/paypal_84.png",
  1561. "96x96": "https://api.figo.me/assets/images/accounts/paypal_96.png",
  1562. "120x120": "https://api.figo.me/assets/images/accounts/paypal_120.png",
  1563. "144x144": "https://api.figo.me/assets/images/accounts/paypal_144.png",
  1564. "192x192": "https://api.figo.me/assets/images/accounts/paypal_192.png",
  1565. "256x256": "https://api.figo.me/assets/images/accounts/paypal_256.png"
  1566. }
  1567. }
  1568. },
  1569. "schema": {
  1570. "type": "object",
  1571. "properties": {
  1572. "name": {
  1573. "type": "string",
  1574. "description": "Human readable name of service"
  1575. },
  1576. "bank_code": {
  1577. "type": "string",
  1578. "description": "*figo Connect* internal ID of service"
  1579. },
  1580. "icon": {
  1581. "type": "string",
  1582. "enum": [
  1583. "https://api.figo.me/assets/images/accounts/paypal.png"
  1584. ],
  1585. "description": "URL to an logo of the service, e.g. as a badge icon"
  1586. },
  1587. "credentials": {
  1588. "type": "array",
  1589. "items": {
  1590. "type": "object",
  1591. "properties": {
  1592. "label": {
  1593. "type": "string",
  1594. "description": "Label for text input field"
  1595. },
  1596. "masked": {
  1597. "type": "boolean",
  1598. "description": "This indicates whether the this text input field is used for password entry and therefore should be masked on presentation."
  1599. }
  1600. }
  1601. },
  1602. "description": "List of credentials needed to connect to the service."
  1603. },
  1604. "advice": {
  1605. "type": "string",
  1606. "description": "Any additional advice useful to locate the required credentials"
  1607. },
  1608. "language": {
  1609. "type": "object",
  1610. "properties": {
  1611. "available_languages": {
  1612. "type": "array",
  1613. "items": [
  1614. {
  1615. "type": "string"
  1616. },
  1617. {
  1618. "type": "string"
  1619. }
  1620. ],
  1621. "description": "List of available languages"
  1622. },
  1623. "current_language": {
  1624. "type": "string",
  1625. "description": "Current language of catalog item"
  1626. }
  1627. },
  1628. "description": "Language information of catalog item"
  1629. },
  1630. "additional_icons": {
  1631. "type": "object",
  1632. "properties": {
  1633. "48x48": {
  1634. "type": "string"
  1635. },
  1636. "60x60": {
  1637. "type": "string"
  1638. },
  1639. "72x72": {
  1640. "type": "string"
  1641. },
  1642. "84x84": {
  1643. "type": "string"
  1644. },
  1645. "96x96": {
  1646. "type": "string"
  1647. },
  1648. "120x120": {
  1649. "type": "string"
  1650. },
  1651. "144x144": {
  1652. "type": "string"
  1653. },
  1654. "192x192": {
  1655. "type": "string"
  1656. },
  1657. "256x256": {
  1658. "type": "string"
  1659. }
  1660. },
  1661. "required": [
  1662. "48x48",
  1663. "60x60",
  1664. "72x72",
  1665. "84x84",
  1666. "96x96",
  1667. "120x120",
  1668. "144x144",
  1669. "192x192",
  1670. "256x256"
  1671. ],
  1672. "description": "Dictionary mapping from resolution to URL for additional resolutions of the banks icon."
  1673. }
  1674. },
  1675. "required": [
  1676. "icon"
  1677. ]
  1678. }
  1679. }
  1680. },
  1681. "summary": "Read individual Catalog Entry",
  1682. "description": "**NOTE** You cannot use the demo client ID for this call.\n\n**NOTE** The icon information currently has a different format than in the list view.",
  1683. "tags": [
  1684. "Catalog"
  1685. ],
  1686. "parameters": [
  1687. {
  1688. "name": "catalog_category",
  1689. "in": "path",
  1690. "description": "Type of financial providers to request. This can either be `banks` for regular banks or `services` for payment services like PayPal.",
  1691. "required": true,
  1692. "type": "string",
  1693. "enum": [
  1694. "banks",
  1695. "services"
  1696. ]
  1697. },
  1698. {
  1699. "name": "country_code",
  1700. "in": "path",
  1701. "description": "Country code of the financial provider (ISO 3166-1 ALPHA 2)",
  1702. "required": true,
  1703. "type": "string"
  1704. },
  1705. {
  1706. "name": "financial_provider_id",
  1707. "in": "path",
  1708. "description": "*figo Connect* internal ID of the financial provider. This can be a bank code for German banks, a BIC for European banks, or service names like `paypal`.",
  1709. "required": true,
  1710. "type": "string"
  1711. }
  1712. ],
  1713. "produces": [
  1714. "application/json"
  1715. ]
  1716. }
  1717. },
  1718. "/rest/accounts": {
  1719. "post": {
  1720. "responses": {
  1721. "200": {
  1722. "description": "OK",
  1723. "headers": {},
  1724. "examples": {
  1725. "application/json": {
  1726. "task_token": "YmB-BtvbWufLnbwgAVfP7XfLatwhrtu0sATfnZNR7LGP-aLXiZ7BKzLdZI--EqEPnwh_h6mCxToLEBhtA7LVd4uM4gTcZG8F6UJs47g6kWJ0"
  1727. }
  1728. },
  1729. "schema": {
  1730. "type": "object",
  1731. "properties": {
  1732. "task_token": {
  1733. "type": "string",
  1734. "description": "Token to monitor the setup process. Use this to call `/task/progress`."
  1735. }
  1736. }
  1737. }
  1738. }
  1739. },
  1740. "summary": "Connect to Bank Accounts",
  1741. "description": "",
  1742. "tags": [
  1743. "Accounts"
  1744. ],
  1745. "parameters": [
  1746. {
  1747. "name": "body",
  1748. "in": "body",
  1749. "schema": {
  1750. "anyOf": [
  1751. {
  1752. "$schema": "http://json-schema.org/draft-04/schema#",
  1753. "type": "object",
  1754. "properties": {
  1755. "bank_code": {
  1756. "type": "string",
  1757. "description": "Internal figo Connect bank code of the bank or service associated with the account"
  1758. },
  1759. "iban": {
  1760. "type": "string",
  1761. "description": "The IBAN of the account. If set, will override `bank_code`."
  1762. },
  1763. "country": {
  1764. "type": "string",
  1765. "description": "**DEPRECATED**"
  1766. },
  1767. "credentials": {
  1768. "type": "array",
  1769. "items": [
  1770. {
  1771. "type": "string"
  1772. },
  1773. {
  1774. "type": "string"
  1775. }
  1776. ],
  1777. "description": "List of credentials as demanded by the bank or service. They must be in the same order as in the credentials list from the login settings."
  1778. },
  1779. "save_pin": {
  1780. "type": "boolean",
  1781. "description": "This flag indicates whether the given PIN should be saved on the figo Connect server.",
  1782. "default": false
  1783. },
  1784. "disable_first_sync": {
  1785. "type": "boolean",
  1786. "description": "This flag indicates whether the initial synchronization of the account with figo Connect will be skipped.",
  1787. "default": false
  1788. },
  1789. "sync_tasks": {
  1790. "type": "array",
  1791. "items": {
  1792. "type": "string",
  1793. "enum": [
  1794. "transactions",
  1795. "standingOrders",
  1796. "categorizations"
  1797. ]
  1798. },
  1799. "default": [
  1800. "transactions"
  1801. ],
  1802. "description": "List of additional information to be fetched from the bank."
  1803. },
  1804. "redirect_uri": {
  1805. "type": "string",
  1806. "description": "The user will be redirected to this URI after completing the account setup. The value defaults to the first redirect URI configured for the client."
  1807. }
  1808. }
  1809. },
  1810. {
  1811. "$schema": "http://json-schema.org/draft-04/schema#",
  1812. "type": "object",
  1813. "properties": {
  1814. "bank_code": {
  1815. "type": "string",
  1816. "description": "Internal figo Connect bank code of the bank or service associated with the account"
  1817. },
  1818. "iban": {
  1819. "type": "string",
  1820. "description": "The IBAN of the account. If set, will override `bank_code`."
  1821. },
  1822. "country": {
  1823. "type": "string",
  1824. "description": "**DEPRECATED**"
  1825. },
  1826. "credentials": {
  1827. "type": "object",
  1828. "properties": {
  1829. "type": {
  1830. "type": "string",
  1831. "enum": [
  1832. "encrypted"
  1833. ]
  1834. },
  1835. "value": {
  1836. "type": "string",
  1837. "description": "Encrypted credentials"
  1838. }
  1839. },
  1840. "required": [
  1841. "type",
  1842. "value"
  1843. ],
  1844. "additionalProperties": false,
  1845. "description": "JWE encrypted list of credentials as demanded by the bank or service. They must be in the same order as in the credentials list from the login settings."
  1846. },
  1847. "save_pin": {
  1848. "type": "boolean",
  1849. "description": "This flag indicates whether the given PIN should be saved on the figo Connect server.",
  1850. "default": false
  1851. },
  1852. "disable_first_sync": {
  1853. "type": "boolean",
  1854. "description": "This flag indicates whether the initial synchronization of the account with figo Connect will be skipped.",
  1855. "default": false
  1856. },
  1857. "sync_tasks": {
  1858. "type": "array",
  1859. "items": {
  1860. "type": "string",
  1861. "enum": [
  1862. "transactions",
  1863. "standingOrders",
  1864. "categorizations"
  1865. ]
  1866. },
  1867. "default": [
  1868. "transactions"
  1869. ],
  1870. "description": "List of additional information to be fetched from the bank."
  1871. },
  1872. "redirect_uri": {
  1873. "type": "string",
  1874. "description": "The user will be redirected to this URI after completing the account setup. The value defaults to the first redirect URI configured for the client."
  1875. }
  1876. }
  1877. }
  1878. ]
  1879. }
  1880. }
  1881. ],
  1882. "produces": [
  1883. "application/json"
  1884. ]
  1885. }
  1886. },
  1887. "/rest/accounts/{account_id}": {
  1888. "get": {
  1889. "responses": {
  1890. "200": {
  1891. "description": "OK",
  1892. "headers": {},
  1893. "examples": {
  1894. "application/json": {
  1895. "auto_sync": true,
  1896. "preferred_tan_scheme": "",
  1897. "account_id": "A1.1",
  1898. "bank_id": "B607.1",
  1899. "name": "Girokonto",
  1900. "owner": "Max Mustermann",
  1901. "supported_tan_schemes": [
  1902. {
  1903. "tan_scheme_id": "M607.1",
  1904. "name": "iTAN",
  1905. "medium_name": "Girocard",
  1906. "additional_info": {}
  1907. }
  1908. ],
  1909. "iban": "DE67900900424711951500",
  1910. "bic": "DEMODE01",
  1911. "account_number": "4711951500",
  1912. "bank_code": "90090042",
  1913. "bank_name": "Demobank",
  1914. "balance": {
  1915. "balance": 3250.31,
  1916. "balance_date": "2017-02-20T00:00:00.000Z",
  1917. "monthly_spending_limit": 0,
  1918. "credit_line": 0
  1919. },
  1920. "currency": "EUR",
  1921. "type": "Giro account",
  1922. "icon": "https://api.figo.me/assets/images/accounts/default.png",
  1923. "additional_icons": {
  1924. "48x48": "https://api.figo.me/assets/images/accounts/default_48.png",
  1925. "60x60": "https://api.figo.me/assets/images/accounts/default_60.png",
  1926. "72x72": "https://api.figo.me/assets/images/accounts/default_72.png",
  1927. "84x84": "https://api.figo.me/assets/images/accounts/default_84.png",
  1928. "96x96": "https://api.figo.me/assets/images/accounts/default_96.png",
  1929. "120x120": "https://api.figo.me/assets/images/accounts/default_120.png",
  1930. "144x144": "https://api.figo.me/assets/images/accounts/default_144.png",
  1931. "192x192": "https://api.figo.me/assets/images/accounts/default_192.png",
  1932. "256x256": "https://api.figo.me/assets/images/accounts/default_256.png"
  1933. },
  1934. "supported_payments": {
  1935. "Transfer": {
  1936. "allowed_recipients": [],
  1937. "max_purpose_length": 108,
  1938. "supported_text_keys": [
  1939. 51,
  1940. 53
  1941. ],
  1942. "can_be_recurring": false,
  1943. "can_be_scheduled": false,
  1944. "supported_file_formats": []
  1945. }
  1946. },
  1947. "status": {
  1948. "code": 1,
  1949. "sync_timestamp": "2017-02-16T18:27:25.000Z",
  1950. "success_timestamp": "2017-02-16T18:27:25.000Z"
  1951. },
  1952. "verification_status": false,
  1953. "save_pin": true,
  1954. "in_total_balance": false
  1955. }
  1956. },
  1957. "schema": {
  1958. "type": "object",
  1959. "properties": {
  1960. "auto_sync": {
  1961. "type": "boolean",
  1962. "description": "This flag indicates whether the account will be automatically synchronized"
  1963. },
  1964. "preferred_tan_scheme": {
  1965. "type": "string",
  1966. "description": "**DEPRECATED**"
  1967. },
  1968. "account_id": {
  1969. "type": "string",
  1970. "description": "Internal figo Connect account ID"
  1971. },
  1972. "bank_id": {
  1973. "type": "string",
  1974. "description": "Internal figo Connect bank ID"
  1975. },
  1976. "name": {
  1977. "type": "string",
  1978. "description": "Name of account"
  1979. },
  1980. "owner": {
  1981. "type": "string",
  1982. "description": "Owner of account"
  1983. },
  1984. "supported_tan_schemes": {
  1985. "type": "array",
  1986. "items": {
  1987. "type": "object",
  1988. "properties": {
  1989. "tan_scheme_id": {
  1990. "type": "string",
  1991. "description": "Internal figo Connect TAN scheme ID"
  1992. },
  1993. "name": {
  1994. "type": "string",
  1995. "description": "TAN scheme name"
  1996. },
  1997. "medium_name": {
  1998. "type": "string",
  1999. "description": "TAN medium name"
  2000. },
  2001. "additional_info": {
  2002. "type": "object",
  2003. "properties": {},
  2004. "description": "Additional information on the TAN scheme"
  2005. }
  2006. },
  2007. "required": [
  2008. "tan_scheme_id"
  2009. ]
  2010. },
  2011. "description": "List of TAN schemes supported by this account"
  2012. },
  2013. "iban": {
  2014. "type": "string",
  2015. "description": "IBAN of the account"
  2016. },
  2017. "bic": {
  2018. "type": "string",
  2019. "description": "BIC of the bank"
  2020. },
  2021. "account_number": {
  2022. "type": "string",
  2023. "description": "The old school account number"
  2024. },
  2025. "bank_code": {
  2026. "type": "string",
  2027. "description": "The old school bank code"
  2028. },
  2029. "bank_name": {
  2030. "type": "string",
  2031. "description": "Name of the bank"
  2032. },
  2033. "balance": {
  2034. "type": "object",
  2035. "properties": {
  2036. "balance": {
  2037. "type": "number",
  2038. "description": "Account balance. This response parameter will be omitted if the balance is not yet known."
  2039. },
  2040. "balance_date": {
  2041. "type": "string",
  2042. "description": "Bank server timestamp of `balance`. This response parameter will be omitted if the balance is not yet known."
  2043. },
  2044. "monthly_spending_limit": {
  2045. "type": "number",
  2046. "description": "**DEPRECATED** This value is not used anymore and always set to `0`."
  2047. },
  2048. "credit_line": {
  2049. "type": "number",
  2050. "description": "**DEPRECATED** This value is not used anymore and always set to `0`."
  2051. }
  2052. },
  2053. "description": "Account balance"
  2054. },
  2055. "currency": {
  2056. "type": "string",
  2057. "description": "Three-character currency code (ISO 4217:2015)"
  2058. },
  2059. "type": {
  2060. "type": "string",
  2061. "enum": [
  2062. "Giro account",
  2063. "Savings account",
  2064. "Daily savings account",
  2065. "Credit card",
  2066. "Loan account",
  2067. "PayPal",
  2068. "Depot",
  2069. "Unknown"
  2070. ],
  2071. "description": "Account type"
  2072. },
  2073. "icon": {
  2074. "type": "string",
  2075. "description": "Bank icon"
  2076. },
  2077. "additional_icons": {
  2078. "type": "object",
  2079. "properties": {
  2080. "48x48": {
  2081. "type": "string"
  2082. },
  2083. "60x60": {
  2084. "type": "string"
  2085. },
  2086. "72x72": {
  2087. "type": "string"
  2088. },
  2089. "84x84": {
  2090. "type": "string"
  2091. },
  2092. "96x96": {
  2093. "type": "string"
  2094. },
  2095. "120x120": {
  2096. "type": "string"
  2097. },
  2098. "144x144": {
  2099. "type": "string"
  2100. },
  2101. "192x192": {
  2102. "type": "string"
  2103. },
  2104. "256x256": {
  2105. "type": "string"
  2106. }
  2107. },
  2108. "required": [
  2109. "48x48",
  2110. "60x60",
  2111. "72x72",
  2112. "84x84",
  2113. "96x96",
  2114. "120x120",
  2115. "144x144",
  2116. "192x192",
  2117. "256x256"
  2118. ],
  2119. "description": "Dictionary mapping from resolution to URL for additional resolutions of the banks icon"
  2120. },
  2121. "supported_payments": {
  2122. "type": "object",
  2123. "properties": {
  2124. "Transfer": {
  2125. "type": "object",
  2126. "properties": {
  2127. "allowed_recipients": {
  2128. "type": "array",
  2129. "items": {
  2130. "type": "string"
  2131. },
  2132. "description": "List of account IDs. The payment recipient must be one of these accounts. No restriction applies if this field is omitted"
  2133. },
  2134. "max_purpose_length": {
  2135. "type": "number",
  2136. "description": "Maximum string length of purpose text"
  2137. },
  2138. "supported_text_keys": {
  2139. "type": "array",
  2140. "items": [
  2141. {
  2142. "type": "number"
  2143. },
  2144. {
  2145. "type": "number"
  2146. }
  2147. ],
  2148. "description": "List of supported DTA text keys"
  2149. },
  2150. "can_be_recurring": {
  2151. "type": "boolean",
  2152. "description": "Indicates whether payments of this type can be recurring. This usually applies for standing orders."
  2153. },
  2154. "can_be_scheduled": {
  2155. "type": "boolean",
  2156. "description": "Indicates whether payments of this type can be scheduled to be executed on a specific date. This usually applies for standing orders."
  2157. },
  2158. "supported_file_formats": {
  2159. "type": "array",
  2160. "items": {
  2161. "type": "string"
  2162. },
  2163. "description": "List of supported payment file formats for file upload. Currently always empty"
  2164. }
  2165. }
  2166. }
  2167. },
  2168. "description": "Object where keys are payment types and values their payment parameters as supported by this account."
  2169. },
  2170. "status": {
  2171. "type": "object",
  2172. "properties": {
  2173. "code": {
  2174. "type": "number",
  2175. "description": "**DEPRECATED**"
  2176. },
  2177. "sync_timestamp": {
  2178. "type": "string",
  2179. "description": "Timestamp of last synchronization. For multiple accounts, the oldest timestamp is displayed."
  2180. },
  2181. "success_timestamp": {
  2182. "type": "string",
  2183. "description": "Timestamp of last successful synchronization. For multiple accounts, the oldest timestamp is displayed."
  2184. },
  2185. "message": {
  2186. "type": "string",
  2187. "description": "Human-readable error message"
  2188. }
  2189. },
  2190. "description": "Synchronization status"
  2191. },
  2192. "verification_status": {
  2193. "type": "boolean",
  2194. "description": "Status whether this account is verified"
  2195. },
  2196. "save_pin": {
  2197. "type": "boolean",
  2198. "description": "This flag indicates whether the user has chosen to save the PIN on the figo Connect server.",
  2199. "default": false
  2200. },
  2201. "in_total_balance": {
  2202. "type": "boolean",
  2203. "description": "**DEPRECATED**"
  2204. }
  2205. },
  2206. "required": [
  2207. "account_id",
  2208. "bank_id"
  2209. ]
  2210. }
  2211. }
  2212. },
  2213. "summary": "Read available Accounts",
  2214. "description": "",
  2215. "tags": [
  2216. "Accounts"
  2217. ],
  2218. "parameters": [
  2219. {
  2220. "name": "account_id",
  2221. "in": "path",
  2222. "description": "ID of a specific account. If omitted, a list of all the user's accounts is returned.",
  2223. "required": false,
  2224. "type": "string"
  2225. },
  2226. {
  2227. "name": "cents",
  2228. "in": "query",
  2229. "description": "If `true`, monetary amounts will be shown in cents.",
  2230. "required": false,
  2231. "type": "boolean",
  2232. "default": "false"
  2233. }
  2234. ],
  2235. "produces": [
  2236. "application/json"
  2237. ]
  2238. },
  2239. "put": {
  2240. "responses": {
  2241. "204": {
  2242. "description": "No Content",
  2243. "headers": {},
  2244. "examples": {}
  2245. }
  2246. },
  2247. "summary": "Modify Account",
  2248. "description": "",
  2249. "tags": [
  2250. "Accounts"
  2251. ],
  2252. "parameters": [
  2253. {
  2254. "name": "account_id",
  2255. "in": "path",
  2256. "description": "ID of a specific account",
  2257. "required": true,
  2258. "type": "string"
  2259. },
  2260. {
  2261. "name": "body",
  2262. "in": "body",
  2263. "schema": {
  2264. "$schema": "http://json-schema.org/draft-04/schema#",
  2265. "type": "object",
  2266. "properties": {
  2267. "auto_sync": {
  2268. "type": "boolean",
  2269. "description": "This flag indicates whether the account will be automatically synchronized"
  2270. },
  2271. "preferred_tan_scheme": {
  2272. "type": "string",
  2273. "description": "**DEPRECATED**"
  2274. }
  2275. }
  2276. }
  2277. }
  2278. ]
  2279. },
  2280. "delete": {
  2281. "responses": {
  2282. "204": {
  2283. "description": "No Content",
  2284. "headers": {},
  2285. "examples": {}
  2286. }
  2287. },
  2288. "summary": "Delete Account",
  2289. "description": "Once the last remaining account of a bank contact has been removed, the bank contact will be automatically removed as well",
  2290. "tags": [
  2291. "Accounts"
  2292. ],
  2293. "parameters": [
  2294. {
  2295. "name": "account_id",
  2296. "in": "path",
  2297. "description": "ID of a specific account",
  2298. "required": true,
  2299. "type": "string"
  2300. }
  2301. ]
  2302. }
  2303. },
  2304. "/rest/accounts/{account_id}/balance/": {
  2305. "get": {
  2306. "responses": {
  2307. "200": {
  2308. "description": "OK",
  2309. "headers": {},
  2310. "examples": {
  2311. "application/json": {
  2312. "balance": 3250.31,
  2313. "balance_date": "2017-02-20T00:00:00.000Z",
  2314. "monthly_spending_limit": 0,
  2315. "credit_line": 0
  2316. }
  2317. },
  2318. "schema": {
  2319. "type": "object",
  2320. "properties": {
  2321. "balance": {
  2322. "type": "number",
  2323. "description": "Account balance. This response parameter will be omitted if the balance is not yet known."
  2324. },
  2325. "balance_date": {
  2326. "type": "string",
  2327. "description": "Bank server timestamp of `balance`. This response parameter will be omitted if the balance is not yet known."
  2328. },
  2329. "monthly_spending_limit": {
  2330. "type": "number",
  2331. "description": "**DEPRECATED** This value is not used anymore and always set to `0`."
  2332. },
  2333. "credit_line": {
  2334. "type": "number",
  2335. "description": "**DEPRECATED** This value is not used anymore and always set to `0`."
  2336. }
  2337. }
  2338. }
  2339. }
  2340. },
  2341. "summary": "Read Account Balance",
  2342. "description": "",
  2343. "tags": [
  2344. "Accounts"
  2345. ],
  2346. "parameters": [
  2347. {
  2348. "name": "account_id",
  2349. "in": "path",
  2350. "description": "ID of a specific account. If omitted, a list of all the user's accounts is returned.",
  2351. "required": true,
  2352. "type": "string"
  2353. },
  2354. {
  2355. "name": "cents",
  2356. "in": "query",
  2357. "description": "If `true`, monetary amounts will be shown in cents.",
  2358. "required": false,
  2359. "type": "boolean",
  2360. "default": "false"
  2361. }
  2362. ],
  2363. "produces": [
  2364. "application/json"
  2365. ]
  2366. }
  2367. },
  2368. "/rest/sync": {
  2369. "post": {
  2370. "responses": {
  2371. "200": {
  2372. "description": "OK",
  2373. "headers": {},
  2374. "examples": {
  2375. "application/json": {
  2376. "task_token": "YmB-BtvbWufLnbwgAVfP7XfLatwhrtu0sATfnZNR7LGP-aLXiZ7BKzLdZI--EqEPnwh_h6mCxToLEBhtA7LVd4uM4gTcZG8F6UJs47g6kWJ0"
  2377. }
  2378. },
  2379. "schema": {
  2380. "type": "object",
  2381. "properties": {
  2382. "task_token": {
  2383. "type": "string",
  2384. "description": "Token to monitor the setup process. Use this to call `/task/progress`."
  2385. }
  2386. }
  2387. }
  2388. }
  2389. },
  2390. "summary": "Create Synchronization Task",
  2391. "description": "In order for *figo Connect* to have up-to-date transaction and account information, it needs to query the bank servers, a process which is called *synchronization*. With this call you can create a new task, synchronizing all (or the specified) accounts with the state returned by the bank. This call will immediately return a task token. Please see the chapter on [task processing](#task-processing) for more details.",
  2392. "tags": [
  2393. "Accounts"
  2394. ],
  2395. "parameters": [
  2396. {
  2397. "name": "body",
  2398. "in": "body",
  2399. "schema": {
  2400. "$schema": "http://json-schema.org/draft-04/schema#",
  2401. "type": "object",
  2402. "properties": {
  2403. "state": {
  2404. "type": "string",
  2405. "description": "Arbitrary string to maintain state between this request and the callback, e.g. it might contain a session ID from your application. The value should also contain a random component, which your application checks to prevent cross-site request forgery."
  2406. },
  2407. "redirect_uri": {
  2408. "type": "string",
  2409. "description": "At the end of the synchronization process a response will be sent to this callback URL. The value defaults to the first redirect URI configured for the client."
  2410. },
  2411. "disable_notifications": {
  2412. "type": "boolean",
  2413. "description": "This flag indicates whether notifications should be sent to your application. Since your application will be notified by the callback URL anyway, you might want to disable any additional notifications."
  2414. },
  2415. "if_not_synced_since": {
  2416. "type": "number",
  2417. "description": "If this parameter is set, only those accounts will be synchronized, which have not been synchronized within the specified number of minutes."
  2418. },
  2419. "auto_continue": {
  2420. "type": "boolean",
  2421. "description": "Automatically acknowledge and ignore any errors."
  2422. },
  2423. "account_ids": {
  2424. "type": "array",
  2425. "items": {
  2426. "type": "string"
  2427. },
  2428. "description": "Only sync the accounts with these IDs."
  2429. },
  2430. "sync_tasks": {
  2431. "type": "array",
  2432. "items": {
  2433. "type": "string",
  2434. "enum": [
  2435. "transactions",
  2436. "standingOrders",
  2437. "categorizations"
  2438. ]
  2439. },
  2440. "default": [
  2441. "transactions"
  2442. ],
  2443. "description": "List of additional information to be fetched from the bank"
  2444. }
  2445. },
  2446. "required": [
  2447. "state"
  2448. ]
  2449. }
  2450. }
  2451. ],
  2452. "produces": [
  2453. "application/json"
  2454. ]
  2455. }
  2456. },
  2457. "/rest/banks/{bank_id}": {
  2458. "get": {
  2459. "responses": {
  2460. "200": {
  2461. "description": "OK",
  2462. "headers": {},
  2463. "examples": {
  2464. "application/json": {
  2465. "bank_id": 1,
  2466. "bank_code": "90090042",
  2467. "sepa_creditor_id": "DE02ZZZ0123456789",
  2468. "save_pin": true
  2469. }
  2470. },
  2471. "schema": {
  2472. "type": "object",
  2473. "properties": {
  2474. "bank_id": {
  2475. "type": "number",
  2476. "description": "Internal figo Connect bank ID"
  2477. },
  2478. "bank_code": {
  2479. "type": "string",
  2480. "description": "The old school bank code"
  2481. },
  2482. "sepa_creditor_id": {
  2483. "type": "string",
  2484. "description": "SEPA direct debit creditor ID"
  2485. },
  2486. "save_pin": {
  2487. "type": "boolean",
  2488. "description": "This flag indicates whether the user has chosen to save the PIN on the figo Connect server."
  2489. }
  2490. }
  2491. }
  2492. }
  2493. },
  2494. "summary": "Read Bank Contact",
  2495. "description": "",
  2496. "tags": [
  2497. "Bank Contacts"
  2498. ],
  2499. "parameters": [
  2500. {
  2501. "name": "bank_id",
  2502. "in": "path",
  2503. "description": "Internal figo Connect bank ID",
  2504. "required": true,
  2505. "type": "string"
  2506. }
  2507. ],
  2508. "produces": [
  2509. "application/json"
  2510. ]
  2511. }
  2512. },
  2513. "/rest/banks/{bank_id}/remove_pin": {
  2514. "post": {
  2515. "responses": {
  2516. "204": {
  2517. "description": "No Content",
  2518. "headers": {},
  2519. "examples": {}
  2520. }
  2521. },
  2522. "summary": "Remove stored PIN from Bank Contact",
  2523. "description": "",
  2524. "tags": [
  2525. "Bank Contacts"
  2526. ],
  2527. "parameters": [
  2528. {
  2529. "name": "bank_id",
  2530. "in": "path",
  2531. "description": "Internal figo Connect bank ID",
  2532. "required": true,
  2533. "type": "string"
  2534. }
  2535. ]
  2536. }
  2537. },
  2538. "/rest/transactions": {
  2539. "get": {
  2540. "responses": {
  2541. "200": {
  2542. "description": "OK",
  2543. "headers": {},
  2544. "examples": {
  2545. "application/json": {
  2546. "deleted": [],
  2547. "status": {
  2548. "code": 1,
  2549. "sync_timestamp": "2017-02-16T18:27:25.000Z",
  2550. "success_timestamp": "2017-02-16T18:27:25.000Z"
  2551. },
  2552. "statistics": {
  2553. "deposit_max": 1612.12,
  2554. "deposit_sum": 61284.51,
  2555. "expense_max": 599.95,
  2556. "expense_sum": 12589.19
  2557. },
  2558. "transactions": [
  2559. {
  2560. "value_date": "2017-01-03T00:00:00.000Z",
  2561. "bank_name": "Demobank",
  2562. "account_id": "A1.1",
  2563. "bank_code": "90090042",
  2564. "currency": "EUR",
  2565. "purpose": "A2432122990100992929929",
  2566. "transaction_code": 4,
  2567. "booked": true,
  2568. "booking_date": "2017-01-03T00:00:00.000Z",
  2569. "name": "Amazing Services Europe",
  2570. "creation_timestamp": "2017-01-04T14:44:16.000Z",
  2571. "amount": -19.9,
  2572. "account_number": "4711951501",
  2573. "iban": "DE67900900424711951501",
  2574. "bic": "DEMODE01",
  2575. "visited": false,
  2576. "modification_timestamp": "2017-01-04T14:44:16.000Z",
  2577. "type": "Direct debit",
  2578. "transaction_id": "T1.1715",
  2579. "booking_text": "Lastschrift",
  2580. "categories": [
  2581. {
  2582. "id": 162,
  2583. "parent_id": 150,
  2584. "name": "Spende"
  2585. }
  2586. ],
  2587. "additional_info": {
  2588. "gross_amount": 0,
  2589. "fee": 0
  2590. }
  2591. }
  2592. ]
  2593. }
  2594. },
  2595. "schema": {
  2596. "type": "object",
  2597. "properties": {
  2598. "deleted": {
  2599. "type": "array",
  2600. "items": {
  2601. "type": "string"
  2602. },
  2603. "description": "List of deleted transaction IDs"
  2604. },
  2605. "status": {
  2606. "type": "object",
  2607. "properties": {
  2608. "code": {
  2609. "type": "number",
  2610. "description": "**DEPRECATED**"
  2611. },
  2612. "sync_timestamp": {
  2613. "type": "string",
  2614. "description": "Timestamp of last synchronization. For multiple accounts, the oldest timestamp is displayed."
  2615. },
  2616. "success_timestamp": {
  2617. "type": "string",
  2618. "description": "Timestamp of last successful synchronization. For multiple accounts, the oldest timestamp is displayed."
  2619. },
  2620. "message": {
  2621. "type": "string",
  2622. "description": "Human-readable error message"
  2623. }
  2624. },
  2625. "description": "Synchronization status"
  2626. },
  2627. "statistics": {
  2628. "type": "object",
  2629. "properties": {
  2630. "deposit_max": {
  2631. "type": "number",
  2632. "description": "Maximum deposit amount"
  2633. },
  2634. "deposit_sum": {
  2635. "type": "number",
  2636. "description": "Sum of deposits"
  2637. },
  2638. "expense_max": {
  2639. "type": "number",
  2640. "description": "Maximum expense amount"
  2641. },
  2642. "expense_sum": {
  2643. "type": "number",
  2644. "description": "Sum of expenses"
  2645. }
  2646. },
  2647. "description": "Statistics on the transactions"
  2648. },
  2649. "transactions": {
  2650. "type": "array",
  2651. "items": {
  2652. "type": "object",
  2653. "properties": {
  2654. "value_date": {
  2655. "type": "string",
  2656. "description": "Value date"
  2657. },
  2658. "bank_name": {
  2659. "type": "string",
  2660. "description": "Bank name of originator or recipient."
  2661. },
  2662. "account_id": {
  2663. "type": "string",
  2664. "description": "Internal figo Connect account ID"
  2665. },
  2666. "bank_code": {
  2667. "type": "string",
  2668. "description": "Bank code of originator or recipient. This field might be empty if the transaction has no bank code, e.g. interest transactions."
  2669. },
  2670. "currency": {
  2671. "type": "string",
  2672. "description": "Three-character currency code (ISO 4217:2015)"
  2673. },
  2674. "purpose": {
  2675. "type": "string",
  2676. "description": "Purpose text. This field might be empty if the transaction has no purpose."
  2677. },
  2678. "end_to_end_reference": {
  2679. "type": "string",
  2680. "description": "HBCI: A reference that can be filled by the payer of transaction, e.g. with your customer number"
  2681. },
  2682. "customer_reference": {
  2683. "type": "string",
  2684. "description": "HBCI: Customer reference, e.g. your insurance number"
  2685. },
  2686. "mandate_reference": {
  2687. "type": "string",
  2688. "description": "HBCI: SEPA mandate reference (for SEPA direct debits), must be unique in combination with `creditor_id`"
  2689. },
  2690. "creditor_id": {
  2691. "type": "string",
  2692. "description": "HBCI: SEPA creditor identifier (for SEPA direct debits), must be unique in combination with `mandate_reference`"
  2693. },
  2694. "prima_nota_number": {
  2695. "type": "string",
  2696. "description": "HBCI: Bank-internal number to group and identify transactions"
  2697. },
  2698. "booking_key": {
  2699. "type": "string",
  2700. "description": "HBCI: A key that indicates the purpose of a transaction, also called \"posting key\"/\"Buchungsschlüssel\"."
  2701. },
  2702. "text_key_addition": {
  2703. "type": "string",
  2704. "description": "HBCI: Additional key to already existing `transaction_key` field, also called \"business transaction key\"/\"Textschlüsselergänzng\". It helps to find a finer purpose of a transaction."
  2705. },
  2706. "sepa_purpose_code": {
  2707. "type": "string",
  2708. "description": "HBCI: Additional key to already existing `transaction_key` field, also called \"business transaction key\"/\"Textschlüsselergänzng\". It helps to find a finer purpose of a transaction."
  2709. },
  2710. "sepa_remittance_info": {
  2711. "type": "string",
  2712. "description": "HBCI: Pure purpose text without other SEPA fields."
  2713. },
  2714. "transaction_code": {
  2715. "type": "number",
  2716. "description": "Transaction type as [DTA Tx Key](https://www.hettwer-beratung.de/sepa-spezialwissen/sepa-technische-anforderungen/sepa-purpose-codes-vs-dta-textschl%C3%BCssel#cc-m-header-6186936181) code."
  2717. },
  2718. "booked": {
  2719. "type": "boolean",
  2720. "description": "Some banks provide information on transactions which have not yet been executed. These transactions are called pending, and the flag is set to `false`. As soon as the bank reports the execution of these transactions, this flag changes to `true`. If such a pending transaction fails to execute, it is automatically removed from the transaction list."
  2721. },
  2722. "booking_date": {
  2723. "type": "string",
  2724. "description": "Booking date"
  2725. },
  2726. "name": {
  2727. "type": "string",
  2728. "description": "Name of originator or recipient"
  2729. },
  2730. "creation_timestamp": {
  2731. "type": "string",
  2732. "description": "Internal creation timestamp on the figo Connect server"
  2733. },
  2734. "amount": {
  2735. "type": "number",
  2736. "description": "Transaction amount"
  2737. },
  2738. "account_number": {
  2739. "type": "string",
  2740. "description": "Account number of originator or recipient. This field might be empty if the transaction has no account number, e.g. interest transactions."
  2741. },
  2742. "iban": {
  2743. "type": "string",
  2744. "description": "IBAN of payer"
  2745. },
  2746. "bic": {
  2747. "type": "string",
  2748. "description": "BIC of payer"
  2749. },
  2750. "visited": {
  2751. "type": "boolean",
  2752. "description": "**DEPRECATED**"
  2753. },
  2754. "modification_timestamp": {
  2755. "type": "string",
  2756. "description": "Internal modification timestamp on the figo Connect server"
  2757. },
  2758. "type": {
  2759. "type": "string",
  2760. "enum": [
  2761. "Transfer",
  2762. "Standing order",
  2763. "Direct debit",
  2764. "Salary or rent",
  2765. "GeldKarte",
  2766. "Charges or interest",
  2767. "Direct debit"
  2768. ],
  2769. "description": "Transaction type to simplify your analysis of the users transaction"
  2770. },
  2771. "transaction_id": {
  2772. "type": "string",
  2773. "description": "Internal figo Connect transaction ID"
  2774. },
  2775. "booking_text": {
  2776. "type": "string",
  2777. "description": "Booking text. This field might be empty if the transaction has no booking text."
  2778. },
  2779. "categories": {
  2780. "type": "array",
  2781. "items": {
  2782. "type": "object",
  2783. "properties": {
  2784. "id": {
  2785. "type": "number",
  2786. "description": "ID of category"
  2787. },
  2788. "parent_id": {
  2789. "type": "number",
  2790. "description": "ID of parent category"
  2791. },
  2792. "name": {
  2793. "type": "string",
  2794. "description": "Name of category"
  2795. }
  2796. }
  2797. },
  2798. "description": "List of categories for this transaction. Categories are stored in a tree, and the figo API returns a path from the root to the leaf. That is, the list of category objects is ordered from general to specific. Categories are only returned to users with scope at least `categories=ro`."
  2799. },
  2800. "additional_info": {
  2801. "type": "object",
  2802. "properties": {
  2803. "gross_amount": {
  2804. "type": "number",
  2805. "description": "Gross amount of the transaction"
  2806. },
  2807. "fee": {
  2808. "type": "number",
  2809. "description": "Possible payed fees"
  2810. },
  2811. "referene_party_creditor": {
  2812. "type": "string",
  2813. "description": "HBCI: Deviating receiver of the transfer"
  2814. },
  2815. "reference_party_debitor": {
  2816. "type": "string",
  2817. "description": "HBCI: Deviating sender of the transfer"
  2818. },
  2819. "bank_reference": {
  2820. "type": "string",
  2821. "description": "HBCI: Bank reference or instruction ID, can be filled by the payers bank"
  2822. },
  2823. "debitor_id": {
  2824. "type": "string",
  2825. "description": "HBCI: An identifier of the payer"
  2826. },
  2827. "compensation_amount": {
  2828. "type": "string",
  2829. "description": "HBCI: Sum of reimbursement of out-of-pocket expenses plus processing fee in case of a national return / refund debit as well as an optional interest equalization (for SEPA direct debit returns)"
  2830. },
  2831. "original_amount": {
  2832. "type": "string",
  2833. "description": "HBCI: Amount of the original direct debit (for SEPA direct debit returns)"
  2834. }
  2835. },
  2836. "description": "Additional info on the transaction, if available."
  2837. }
  2838. },
  2839. "required": [
  2840. "account_id",
  2841. "transaction_id"
  2842. ]
  2843. },
  2844. "description": "List of transactions for this user"
  2845. }
  2846. }
  2847. }
  2848. }
  2849. },
  2850. "summary": "Read Transactions",
  2851. "description": "",
  2852. "tags": [
  2853. "Transactions"
  2854. ],
  2855. "parameters": [
  2856. {
  2857. "name": "cents",
  2858. "in": "query",
  2859. "description": "If `true`, monetary amounts will be shown in cents.",
  2860. "required": false,
  2861. "type": "boolean",
  2862. "default": "false"
  2863. },
  2864. {
  2865. "name": "since",
  2866. "in": "query",
  2867. "description": "Return only transactions after this date based on `since_type`. This parameter can either be a transaction ID or an ISO date. If provided as transaction ID the result will *not* contain this ID. If provided as ISO date, the result *will* contain this date. This behavior may change in the future.",
  2868. "required": false,
  2869. "type": "string"
  2870. },
  2871. {
  2872. "name": "since_type",
  2873. "in": "query",
  2874. "description": "This parameter defines how the parameter `since` will be interpreted.",
  2875. "required": false,
  2876. "type": "string",
  2877. "default": "booked",
  2878. "enum": [
  2879. "booked",
  2880. "created",
  2881. "modified"
  2882. ]
  2883. },
  2884. {
  2885. "name": "include_pending",
  2886. "in": "query",
  2887. "description": "This flag indicates whether pending transactions should be included in the response. Pending transactions are always included as a complete set, regardless of the `since` parameter. Before caching a copy of the pending transactions, all existing pending transactions for the same account must be removed from the local cache.",
  2888. "required": false,
  2889. "type": "boolean",
  2890. "default": "false"
  2891. },
  2892. {
  2893. "name": "sort",
  2894. "in": "query",
  2895. "description": "Determine whether results will be sorted in ascending or descending order.",
  2896. "required": false,
  2897. "type": "string",
  2898. "default": "desc",
  2899. "enum": [
  2900. "asc",
  2901. "desc"
  2902. ]
  2903. },
  2904. {
  2905. "name": "type",
  2906. "in": "query",
  2907. "description": "A list of transactions types which the transactions are filtered by.",
  2908. "required": false,
  2909. "type": "string"
  2910. },
  2911. {
  2912. "name": "offset",
  2913. "in": "query",
  2914. "description": "Skip this number of transactions in the response. In combination with the `count` parameter this can be used to paginate the result list.",
  2915. "required": false,
  2916. "type": "number"
  2917. },
  2918. {
  2919. "name": "count",
  2920. "in": "query",
  2921. "description": "Limit the number of returned transactions. In combination with the `offset` parameter this can be used to paginate the result list.",
  2922. "required": false,
  2923. "type": "number",
  2924. "default": 1000
  2925. },
  2926. {
  2927. "name": "until",
  2928. "in": "query",
  2929. "description": "Return only transactions which were booked on or before this date. Please provide as ISO date. It is not possible to use the `since_type` semantics with `until`.",
  2930. "required": false,
  2931. "type": "string"
  2932. },
  2933. {
  2934. "name": "filter",
  2935. "in": "query",
  2936. "description": "Filter transactions by given `key:value` combination. Possible keys: `date` (maps to `booking_date`, please use ISO date here, not datetime), `person` (maps to payer/payee `name`), `purpose`, `amount`. Values are interpreted using wildcards: `person:Max Mustermann` will match `%Max Mustermann%`.",
  2937. "required": false,
  2938. "type": "string"
  2939. },
  2940. {
  2941. "name": "include_statistics",
  2942. "in": "query",
  2943. "description": "If `true` includes statistics on the returned transactions: maximum deposit, total deposits, maximum expense, total expenses.",
  2944. "required": false,
  2945. "type": "boolean",
  2946. "default": "false"
  2947. },
  2948. {
  2949. "name": "accounts",
  2950. "in": "query",
  2951. "description": "Return transactions only from given comma-separated list of account IDs.",
  2952. "required": false,
  2953. "type": "string"
  2954. }
  2955. ],
  2956. "produces": [
  2957. "application/json"
  2958. ]
  2959. }
  2960. },
  2961. "/rest/transactions/{transaction_id}": {
  2962. "get": {
  2963. "responses": {
  2964. "200": {
  2965. "description": "OK",
  2966. "headers": {},
  2967. "examples": {
  2968. "application/json": {
  2969. "value_date": "2017-01-03T00:00:00.000Z",
  2970. "bank_name": "Demobank",
  2971. "account_id": "A1.1",
  2972. "bank_code": "90090042",
  2973. "currency": "EUR",
  2974. "purpose": "A2432122990100992929929",
  2975. "transaction_code": 4,
  2976. "booked": true,
  2977. "booking_date": "2017-01-03T00:00:00.000Z",
  2978. "name": "Amazing Services Europe",
  2979. "creation_timestamp": "2017-01-04T14:44:16.000Z",
  2980. "amount": -19.9,
  2981. "account_number": "4711951501",
  2982. "iban": "DE67900900424711951501",
  2983. "bic": "DEMODE01",
  2984. "visited": false,
  2985. "modification_timestamp": "2017-01-04T14:44:16.000Z",
  2986. "type": "Direct debit",
  2987. "transaction_id": "T1.1715",
  2988. "booking_text": "Lastschrift",
  2989. "categories": [
  2990. {
  2991. "id": 162,
  2992. "parent_id": 150,
  2993. "name": "Spende"
  2994. }
  2995. ],
  2996. "additional_info": {
  2997. "gross_amount": 0,
  2998. "fee": 0
  2999. }
  3000. }
  3001. },
  3002. "schema": {
  3003. "type": "object",
  3004. "properties": {
  3005. "value_date": {
  3006. "type": "string",
  3007. "description": "Value date"
  3008. },
  3009. "bank_name": {
  3010. "type": "string",
  3011. "description": "Bank name of originator or recipient."
  3012. },
  3013. "account_id": {
  3014. "type": "string",
  3015. "description": "Internal figo Connect account ID"
  3016. },
  3017. "bank_code": {
  3018. "type": "string",
  3019. "description": "Bank code of originator or recipient. This field might be empty if the transaction has no bank code, e.g. interest transactions."
  3020. },
  3021. "currency": {
  3022. "type": "string",
  3023. "description": "Three-character currency code (ISO 4217:2015)"
  3024. },
  3025. "purpose": {
  3026. "type": "string",
  3027. "description": "Purpose text. This field might be empty if the transaction has no purpose."
  3028. },
  3029. "end_to_end_reference": {
  3030. "type": "string",
  3031. "description": "HBCI: A reference that can be filled by the payer of transaction, e.g. with your customer number"
  3032. },
  3033. "customer_reference": {
  3034. "type": "string",
  3035. "description": "HBCI: Customer reference, e.g. your insurance number"
  3036. },
  3037. "mandate_reference": {
  3038. "type": "string",
  3039. "description": "HBCI: SEPA mandate reference (for SEPA direct debits), must be unique in combination with `creditor_id`"
  3040. },
  3041. "creditor_id": {
  3042. "type": "string",
  3043. "description": "HBCI: SEPA creditor identifier (for SEPA direct debits), must be unique in combination with `mandate_reference`"
  3044. },
  3045. "prima_nota_number": {
  3046. "type": "string",
  3047. "description": "HBCI: Bank-internal number to group and identify transactions"
  3048. },
  3049. "booking_key": {
  3050. "type": "string",
  3051. "description": "HBCI: A key that indicates the purpose of a transaction, also called \"posting key\"/\"Buchungsschlüssel\"."
  3052. },
  3053. "text_key_addition": {
  3054. "type": "string",
  3055. "description": "HBCI: Additional key to already existing `transaction_key` field, also called \"business transaction key\"/\"Textschlüsselergänzng\". It helps to find a finer purpose of a transaction."
  3056. },
  3057. "sepa_purpose_code": {
  3058. "type": "string",
  3059. "description": "HBCI: Additional key to already existing `transaction_key` field, also called \"business transaction key\"/\"Textschlüsselergänzng\". It helps to find a finer purpose of a transaction."
  3060. },
  3061. "sepa_remittance_info": {
  3062. "type": "string",
  3063. "description": "HBCI: Pure purpose text without other SEPA fields."
  3064. },
  3065. "transaction_code": {
  3066. "type": "number",
  3067. "description": "Transaction type as [DTA Tx Key](https://www.hettwer-beratung.de/sepa-spezialwissen/sepa-technische-anforderungen/sepa-purpose-codes-vs-dta-textschl%C3%BCssel#cc-m-header-6186936181) code."
  3068. },
  3069. "booked": {
  3070. "type": "boolean",
  3071. "description": "Some banks provide information on transactions which have not yet been executed. These transactions are called pending, and the flag is set to `false`. As soon as the bank reports the execution of these transactions, this flag changes to `true`. If such a pending transaction fails to execute, it is automatically removed from the transaction list."
  3072. },
  3073. "booking_date": {
  3074. "type": "string",
  3075. "description": "Booking date"
  3076. },
  3077. "name": {
  3078. "type": "string",
  3079. "description": "Name of originator or recipient"
  3080. },
  3081. "creation_timestamp": {
  3082. "type": "string",
  3083. "description": "Internal creation timestamp on the figo Connect server"
  3084. },
  3085. "amount": {
  3086. "type": "number",
  3087. "description": "Transaction amount"
  3088. },
  3089. "account_number": {
  3090. "type": "string",
  3091. "description": "Account number of originator or recipient. This field might be empty if the transaction has no account number, e.g. interest transactions."
  3092. },
  3093. "iban": {
  3094. "type": "string",
  3095. "description": "IBAN of payer"
  3096. },
  3097. "bic": {
  3098. "type": "string",
  3099. "description": "BIC of payer"
  3100. },
  3101. "visited": {
  3102. "type": "boolean",
  3103. "description": "**DEPRECATED**"
  3104. },
  3105. "modification_timestamp": {
  3106. "type": "string",
  3107. "description": "Internal modification timestamp on the figo Connect server"
  3108. },
  3109. "type": {
  3110. "type": "string",
  3111. "enum": [
  3112. "Transfer",
  3113. "Standing order",
  3114. "Direct debit",
  3115. "Salary or rent",
  3116. "GeldKarte",
  3117. "Charges or interest",
  3118. "Direct debit"
  3119. ],
  3120. "description": "Transaction type to simplify your analysis of the users transaction"
  3121. },
  3122. "transaction_id": {
  3123. "type": "string",
  3124. "description": "Internal figo Connect transaction ID"
  3125. },
  3126. "booking_text": {
  3127. "type": "string",
  3128. "description": "Booking text. This field might be empty if the transaction has no booking text."
  3129. },
  3130. "categories": {
  3131. "type": "array",
  3132. "items": {
  3133. "type": "object",
  3134. "properties": {
  3135. "id": {
  3136. "type": "number",
  3137. "description": "ID of category"
  3138. },
  3139. "parent_id": {
  3140. "type": "number",
  3141. "description": "ID of parent category"
  3142. },
  3143. "name": {
  3144. "type": "string",
  3145. "description": "Name of category"
  3146. }
  3147. }
  3148. },
  3149. "description": "List of categories for this transaction. Categories are stored in a tree, and the figo API returns a path from the root to the leaf. That is, the list of category objects is ordered from general to specific. Categories are only returned to users with scope at least `categories=ro`."
  3150. },
  3151. "additional_info": {
  3152. "type": "object",
  3153. "properties": {
  3154. "gross_amount": {
  3155. "type": "number",
  3156. "description": "Gross amount of the transaction"
  3157. },
  3158. "fee": {
  3159. "type": "number",
  3160. "description": "Possible payed fees"
  3161. },
  3162. "referene_party_creditor": {
  3163. "type": "string",
  3164. "description": "HBCI: Deviating receiver of the transfer"
  3165. },
  3166. "reference_party_debitor": {
  3167. "type": "string",
  3168. "description": "HBCI: Deviating sender of the transfer"
  3169. },
  3170. "bank_reference": {
  3171. "type": "string",
  3172. "description": "HBCI: Bank reference or instruction ID, can be filled by the payers bank"
  3173. },
  3174. "debitor_id": {
  3175. "type": "string",
  3176. "description": "HBCI: An identifier of the payer"
  3177. },
  3178. "compensation_amount": {
  3179. "type": "string",
  3180. "description": "HBCI: Sum of reimbursement of out-of-pocket expenses plus processing fee in case of a national return / refund debit as well as an optional interest equalization (for SEPA direct debit returns)"
  3181. },
  3182. "original_amount": {
  3183. "type": "string",
  3184. "description": "HBCI: Amount of the original direct debit (for SEPA direct debit returns)"
  3185. }
  3186. },
  3187. "description": "Additional info on the transaction, if available."
  3188. }
  3189. },
  3190. "required": [
  3191. "account_id",
  3192. "transaction_id"
  3193. ]
  3194. }
  3195. }
  3196. },
  3197. "summary": "Read single Transaction",
  3198. "description": "",
  3199. "tags": [
  3200. "Transactions"
  3201. ],
  3202. "parameters": [
  3203. {
  3204. "name": "transaction_id",
  3205. "in": "path",
  3206. "description": "ID of a specific transaction",
  3207. "required": true,
  3208. "type": "string"
  3209. },
  3210. {
  3211. "name": "cents",
  3212. "in": "query",
  3213. "description": "If `true`, monetary amounts will be shown in cents.",
  3214. "required": false,
  3215. "type": "boolean",
  3216. "default": "false"
  3217. }
  3218. ],
  3219. "produces": [
  3220. "application/json"
  3221. ]
  3222. },
  3223. "delete": {
  3224. "responses": {
  3225. "204": {
  3226. "description": "No Content",
  3227. "headers": {},
  3228. "examples": {}
  3229. }
  3230. },
  3231. "summary": "Delete Transactions",
  3232. "description": "",
  3233. "tags": [
  3234. "Transactions"
  3235. ],
  3236. "parameters": [
  3237. {
  3238. "name": "transaction_id",
  3239. "in": "path",
  3240. "description": "ID of transaction to delete. You can only delete one transaction at once.",
  3241. "required": true,
  3242. "type": "string"
  3243. }
  3244. ]
  3245. }
  3246. },
  3247. "/rest/accounts/{account_id}/transactions": {
  3248. "get": {
  3249. "responses": {
  3250. "200": {
  3251. "description": "OK",
  3252. "headers": {},
  3253. "examples": {
  3254. "application/json": {
  3255. "deleted": [],
  3256. "status": {
  3257. "code": 1,
  3258. "sync_timestamp": "2017-02-16T18:27:25.000Z",
  3259. "success_timestamp": "2017-02-16T18:27:25.000Z"
  3260. },
  3261. "statistics": {
  3262. "deposit_max": 1612.12,
  3263. "deposit_sum": 61284.51,
  3264. "expense_max": 599.95,
  3265. "expense_sum": 12589.19
  3266. },
  3267. "transactions": [
  3268. {
  3269. "value_date": "2017-01-03T00:00:00.000Z",
  3270. "bank_name": "Demobank",
  3271. "account_id": "A1.1",
  3272. "bank_code": "90090042",
  3273. "currency": "EUR",
  3274. "purpose": "A2432122990100992929929",
  3275. "transaction_code": 4,
  3276. "booked": true,
  3277. "booking_date": "2017-01-03T00:00:00.000Z",
  3278. "name": "Amazing Services Europe",
  3279. "creation_timestamp": "2017-01-04T14:44:16.000Z",
  3280. "amount": -19.9,
  3281. "account_number": "4711951501",
  3282. "iban": "DE67900900424711951501",
  3283. "bic": "DEMODE01",
  3284. "visited": false,
  3285. "modification_timestamp": "2017-01-04T14:44:16.000Z",
  3286. "type": "Direct debit",
  3287. "transaction_id": "T1.1715",
  3288. "booking_text": "Lastschrift",
  3289. "categories": [
  3290. {
  3291. "id": 162,
  3292. "parent_id": 150,
  3293. "name": "Spende"
  3294. }
  3295. ],
  3296. "additional_info": {
  3297. "gross_amount": 0,
  3298. "fee": 0
  3299. }
  3300. }
  3301. ]
  3302. }
  3303. },
  3304. "schema": {
  3305. "type": "object",
  3306. "properties": {
  3307. "deleted": {
  3308. "type": "array",
  3309. "items": {
  3310. "type": "string"
  3311. },
  3312. "description": "List of deleted transaction IDs"
  3313. },
  3314. "status": {
  3315. "type": "object",
  3316. "properties": {
  3317. "code": {
  3318. "type": "number",
  3319. "description": "**DEPRECATED**"
  3320. },
  3321. "sync_timestamp": {
  3322. "type": "string",
  3323. "description": "Timestamp of last synchronization. For multiple accounts, the oldest timestamp is displayed."
  3324. },
  3325. "success_timestamp": {
  3326. "type": "string",
  3327. "description": "Timestamp of last successful synchronization. For multiple accounts, the oldest timestamp is displayed."
  3328. },
  3329. "message": {
  3330. "type": "string",
  3331. "description": "Human-readable error message"
  3332. }
  3333. },
  3334. "description": "Synchronization status"
  3335. },
  3336. "statistics": {
  3337. "type": "object",
  3338. "properties": {
  3339. "deposit_max": {
  3340. "type": "number",
  3341. "description": "Maximum deposit amount"
  3342. },
  3343. "deposit_sum": {
  3344. "type": "number",
  3345. "description": "Sum of deposits"
  3346. },
  3347. "expense_max": {
  3348. "type": "number",
  3349. "description": "Maximum expense amount"
  3350. },
  3351. "expense_sum": {
  3352. "type": "number",
  3353. "description": "Sum of expenses"
  3354. }
  3355. },
  3356. "description": "Statistics on the transactions"
  3357. },
  3358. "transactions": {
  3359. "type": "array",
  3360. "items": {
  3361. "type": "object",
  3362. "properties": {
  3363. "value_date": {
  3364. "type": "string",
  3365. "description": "Value date"
  3366. },
  3367. "bank_name": {
  3368. "type": "string",
  3369. "description": "Bank name of originator or recipient."
  3370. },
  3371. "account_id": {
  3372. "type": "string",
  3373. "description": "Internal figo Connect account ID"
  3374. },
  3375. "bank_code": {
  3376. "type": "string",
  3377. "description": "Bank code of originator or recipient. This field might be empty if the transaction has no bank code, e.g. interest transactions."
  3378. },
  3379. "currency": {
  3380. "type": "string",
  3381. "description": "Three-character currency code (ISO 4217:2015)"
  3382. },
  3383. "purpose": {
  3384. "type": "string",
  3385. "description": "Purpose text. This field might be empty if the transaction has no purpose."
  3386. },
  3387. "end_to_end_reference": {
  3388. "type": "string",
  3389. "description": "HBCI: A reference that can be filled by the payer of transaction, e.g. with your customer number"
  3390. },
  3391. "customer_reference": {
  3392. "type": "string",
  3393. "description": "HBCI: Customer reference, e.g. your insurance number"
  3394. },
  3395. "mandate_reference": {
  3396. "type": "string",
  3397. "description": "HBCI: SEPA mandate reference (for SEPA direct debits), must be unique in combination with `creditor_id`"
  3398. },
  3399. "creditor_id": {
  3400. "type": "string",
  3401. "description": "HBCI: SEPA creditor identifier (for SEPA direct debits), must be unique in combination with `mandate_reference`"
  3402. },
  3403. "prima_nota_number": {
  3404. "type": "string",
  3405. "description": "HBCI: Bank-internal number to group and identify transactions"
  3406. },
  3407. "booking_key": {
  3408. "type": "string",
  3409. "description": "HBCI: A key that indicates the purpose of a transaction, also called \"posting key\"/\"Buchungsschlüssel\"."
  3410. },
  3411. "text_key_addition": {
  3412. "type": "string",
  3413. "description": "HBCI: Additional key to already existing `transaction_key` field, also called \"business transaction key\"/\"Textschlüsselergänzng\". It helps to find a finer purpose of a transaction."
  3414. },
  3415. "sepa_purpose_code": {
  3416. "type": "string",
  3417. "description": "HBCI: Additional key to already existing `transaction_key` field, also called \"business transaction key\"/\"Textschlüsselergänzng\". It helps to find a finer purpose of a transaction."
  3418. },
  3419. "sepa_remittance_info": {
  3420. "type": "string",
  3421. "description": "HBCI: Pure purpose text without other SEPA fields."
  3422. },
  3423. "transaction_code": {
  3424. "type": "number",
  3425. "description": "Transaction type as [DTA Tx Key](https://www.hettwer-beratung.de/sepa-spezialwissen/sepa-technische-anforderungen/sepa-purpose-codes-vs-dta-textschl%C3%BCssel#cc-m-header-6186936181) code."
  3426. },
  3427. "booked": {
  3428. "type": "boolean",
  3429. "description": "Some banks provide information on transactions which have not yet been executed. These transactions are called pending, and the flag is set to `false`. As soon as the bank reports the execution of these transactions, this flag changes to `true`. If such a pending transaction fails to execute, it is automatically removed from the transaction list."
  3430. },
  3431. "booking_date": {
  3432. "type": "string",
  3433. "description": "Booking date"
  3434. },
  3435. "name": {
  3436. "type": "string",
  3437. "description": "Name of originator or recipient"
  3438. },
  3439. "creation_timestamp": {
  3440. "type": "string",
  3441. "description": "Internal creation timestamp on the figo Connect server"
  3442. },
  3443. "amount": {
  3444. "type": "number",
  3445. "description": "Transaction amount"
  3446. },
  3447. "account_number": {
  3448. "type": "string",
  3449. "description": "Account number of originator or recipient. This field might be empty if the transaction has no account number, e.g. interest transactions."
  3450. },
  3451. "iban": {
  3452. "type": "string",
  3453. "description": "IBAN of payer"
  3454. },
  3455. "bic": {
  3456. "type": "string",
  3457. "description": "BIC of payer"
  3458. },
  3459. "visited": {
  3460. "type": "boolean",
  3461. "description": "**DEPRECATED**"
  3462. },
  3463. "modification_timestamp": {
  3464. "type": "string",
  3465. "description": "Internal modification timestamp on the figo Connect server"
  3466. },
  3467. "type": {
  3468. "type": "string",
  3469. "enum": [
  3470. "Transfer",
  3471. "Standing order",
  3472. "Direct debit",
  3473. "Salary or rent",
  3474. "GeldKarte",
  3475. "Charges or interest",
  3476. "Direct debit"
  3477. ],
  3478. "description": "Transaction type to simplify your analysis of the users transaction"
  3479. },
  3480. "transaction_id": {
  3481. "type": "string",
  3482. "description": "Internal figo Connect transaction ID"
  3483. },
  3484. "booking_text": {
  3485. "type": "string",
  3486. "description": "Booking text. This field might be empty if the transaction has no booking text."
  3487. },
  3488. "categories": {
  3489. "type": "array",
  3490. "items": {
  3491. "type": "object",
  3492. "properties": {
  3493. "id": {
  3494. "type": "number",
  3495. "description": "ID of category"
  3496. },
  3497. "parent_id": {
  3498. "type": "number",
  3499. "description": "ID of parent category"
  3500. },
  3501. "name": {
  3502. "type": "string",
  3503. "description": "Name of category"
  3504. }
  3505. }
  3506. },
  3507. "description": "List of categories for this transaction. Categories are stored in a tree, and the figo API returns a path from the root to the leaf. That is, the list of category objects is ordered from general to specific. Categories are only returned to users with scope at least `categories=ro`."
  3508. },
  3509. "additional_info": {
  3510. "type": "object",
  3511. "properties": {
  3512. "gross_amount": {
  3513. "type": "number",
  3514. "description": "Gross amount of the transaction"
  3515. },
  3516. "fee": {
  3517. "type": "number",
  3518. "description": "Possible payed fees"
  3519. },
  3520. "referene_party_creditor": {
  3521. "type": "string",
  3522. "description": "HBCI: Deviating receiver of the transfer"
  3523. },
  3524. "reference_party_debitor": {
  3525. "type": "string",
  3526. "description": "HBCI: Deviating sender of the transfer"
  3527. },
  3528. "bank_reference": {
  3529. "type": "string",
  3530. "description": "HBCI: Bank reference or instruction ID, can be filled by the payers bank"
  3531. },
  3532. "debitor_id": {
  3533. "type": "string",
  3534. "description": "HBCI: An identifier of the payer"
  3535. },
  3536. "compensation_amount": {
  3537. "type": "string",
  3538. "description": "HBCI: Sum of reimbursement of out-of-pocket expenses plus processing fee in case of a national return / refund debit as well as an optional interest equalization (for SEPA direct debit returns)"
  3539. },
  3540. "original_amount": {
  3541. "type": "string",
  3542. "description": "HBCI: Amount of the original direct debit (for SEPA direct debit returns)"
  3543. }
  3544. },
  3545. "description": "Additional info on the transaction, if available."
  3546. }
  3547. },
  3548. "required": [
  3549. "account_id",
  3550. "transaction_id"
  3551. ]
  3552. },
  3553. "description": "List of transactions for this user"
  3554. }
  3555. }
  3556. }
  3557. }
  3558. },
  3559. "summary": "Read Transactions by Account",
  3560. "description": "",
  3561. "tags": [
  3562. "Transactions"
  3563. ],
  3564. "parameters": [
  3565. {
  3566. "name": "cents",
  3567. "in": "query",
  3568. "description": "If `true`, monetary amounts will be shown in cents.",
  3569. "required": false,
  3570. "type": "boolean",
  3571. "default": "false"
  3572. },
  3573. {
  3574. "name": "since",
  3575. "in": "query",
  3576. "description": "Return only transactions after this date based on `since_type`. This parameter can either be a transaction ID or an ISO date. If provided as transaction ID the result will *not* contain this ID. If provided as ISO date, the result *will* contain this date. This behavior may change in the future.",
  3577. "required": false,
  3578. "type": "string"
  3579. },
  3580. {
  3581. "name": "since_type",
  3582. "in": "query",
  3583. "description": "This parameter defines how the parameter `since` will be interpreted.",
  3584. "required": false,
  3585. "type": "string",
  3586. "default": "booked",
  3587. "enum": [
  3588. "booked",
  3589. "created",
  3590. "modified"
  3591. ]
  3592. },
  3593. {
  3594. "name": "include_pending",
  3595. "in": "query",
  3596. "description": "This flag indicates whether pending transactions should be included in the response. Pending transactions are always included as a complete set, regardless of the `since` parameter. Before caching a copy of the pending transactions, all existing pending transactions for the same account must be removed from the local cache.",
  3597. "required": false,
  3598. "type": "boolean",
  3599. "default": "false"
  3600. },
  3601. {
  3602. "name": "sort",
  3603. "in": "query",
  3604. "description": "Determine whether results will be sorted in ascending or descending order.",
  3605. "required": false,
  3606. "type": "string",
  3607. "default": "desc",
  3608. "enum": [
  3609. "asc",
  3610. "desc"
  3611. ]
  3612. },
  3613. {
  3614. "name": "type",
  3615. "in": "query",
  3616. "description": "A list of transactions types which the transactions are filtered by.",
  3617. "required": false,
  3618. "type": "string"
  3619. },
  3620. {
  3621. "name": "offset",
  3622. "in": "query",
  3623. "description": "Skip this number of transactions in the response. In combination with the `count` parameter this can be used to paginate the result list.",
  3624. "required": false,
  3625. "type": "number"
  3626. },
  3627. {
  3628. "name": "count",
  3629. "in": "query",
  3630. "description": "Limit the number of returned transactions. In combination with the `offset` parameter this can be used to paginate the result list.",
  3631. "required": false,
  3632. "type": "number",
  3633. "default": 1000
  3634. },
  3635. {
  3636. "name": "until",
  3637. "in": "query",
  3638. "description": "Return only transactions which were booked on or before this date. Please provide as ISO date. It is not possible to use the `since_type` semantics with `until`.",
  3639. "required": false,
  3640. "type": "string"
  3641. },
  3642. {
  3643. "name": "filter",
  3644. "in": "query",
  3645. "description": "Filter transactions by given `key:value` combination. Possible keys: `date` (maps to `booking_date`, please use ISO date here, not datetime), `person` (maps to payer/payee `name`), `purpose`, `amount`. Values are interpreted using wildcards: `person:Max Mustermann` will match `%Max Mustermann%`.",
  3646. "required": false,
  3647. "type": "string"
  3648. },
  3649. {
  3650. "name": "include_statistics",
  3651. "in": "query",
  3652. "description": "If `true` includes statistics on the returned transactions: maximum deposit, total deposits, maximum expense, total expenses.",
  3653. "required": false,
  3654. "type": "boolean",
  3655. "default": "false"
  3656. }
  3657. ],
  3658. "produces": [
  3659. "application/json"
  3660. ]
  3661. }
  3662. },
  3663. "/rest/accounts/{account_id}/{transaction_id}": {
  3664. "get": {
  3665. "responses": {
  3666. "200": {
  3667. "description": "OK",
  3668. "headers": {},
  3669. "examples": {
  3670. "application/json": {
  3671. "value_date": "2017-01-03T00:00:00.000Z",
  3672. "bank_name": "Demobank",
  3673. "account_id": "A1.1",
  3674. "bank_code": "90090042",
  3675. "currency": "EUR",
  3676. "purpose": "A2432122990100992929929",
  3677. "transaction_code": 4,
  3678. "booked": true,
  3679. "booking_date": "2017-01-03T00:00:00.000Z",
  3680. "name": "Amazing Services Europe",
  3681. "creation_timestamp": "2017-01-04T14:44:16.000Z",
  3682. "amount": -19.9,
  3683. "account_number": "4711951501",
  3684. "iban": "DE67900900424711951501",
  3685. "bic": "DEMODE01",
  3686. "visited": false,
  3687. "modification_timestamp": "2017-01-04T14:44:16.000Z",
  3688. "type": "Direct debit",
  3689. "transaction_id": "T1.1715",
  3690. "booking_text": "Lastschrift",
  3691. "categories": [
  3692. {
  3693. "id": 162,
  3694. "parent_id": 150,
  3695. "name": "Spende"
  3696. }
  3697. ],
  3698. "additional_info": {
  3699. "gross_amount": 0,
  3700. "fee": 0
  3701. }
  3702. }
  3703. },
  3704. "schema": {
  3705. "type": "object",
  3706. "properties": {
  3707. "value_date": {
  3708. "type": "string",
  3709. "description": "Value date"
  3710. },
  3711. "bank_name": {
  3712. "type": "string",
  3713. "description": "Bank name of originator or recipient."
  3714. },
  3715. "account_id": {
  3716. "type": "string",
  3717. "description": "Internal figo Connect account ID"
  3718. },
  3719. "bank_code": {
  3720. "type": "string",
  3721. "description": "Bank code of originator or recipient. This field might be empty if the transaction has no bank code, e.g. interest transactions."
  3722. },
  3723. "currency": {
  3724. "type": "string",
  3725. "description": "Three-character currency code (ISO 4217:2015)"
  3726. },
  3727. "purpose": {
  3728. "type": "string",
  3729. "description": "Purpose text. This field might be empty if the transaction has no purpose."
  3730. },
  3731. "end_to_end_reference": {
  3732. "type": "string",
  3733. "description": "HBCI: A reference that can be filled by the payer of transaction, e.g. with your customer number"
  3734. },
  3735. "customer_reference": {
  3736. "type": "string",
  3737. "description": "HBCI: Customer reference, e.g. your insurance number"
  3738. },
  3739. "mandate_reference": {
  3740. "type": "string",
  3741. "description": "HBCI: SEPA mandate reference (for SEPA direct debits), must be unique in combination with `creditor_id`"
  3742. },
  3743. "creditor_id": {
  3744. "type": "string",
  3745. "description": "HBCI: SEPA creditor identifier (for SEPA direct debits), must be unique in combination with `mandate_reference`"
  3746. },
  3747. "prima_nota_number": {
  3748. "type": "string",
  3749. "description": "HBCI: Bank-internal number to group and identify transactions"
  3750. },
  3751. "booking_key": {
  3752. "type": "string",
  3753. "description": "HBCI: A key that indicates the purpose of a transaction, also called \"posting key\"/\"Buchungsschlüssel\"."
  3754. },
  3755. "text_key_addition": {
  3756. "type": "string",
  3757. "description": "HBCI: Additional key to already existing `transaction_key` field, also called \"business transaction key\"/\"Textschlüsselergänzng\". It helps to find a finer purpose of a transaction."
  3758. },
  3759. "sepa_purpose_code": {
  3760. "type": "string",
  3761. "description": "HBCI: Additional key to already existing `transaction_key` field, also called \"business transaction key\"/\"Textschlüsselergänzng\". It helps to find a finer purpose of a transaction."
  3762. },
  3763. "sepa_remittance_info": {
  3764. "type": "string",
  3765. "description": "HBCI: Pure purpose text without other SEPA fields."
  3766. },
  3767. "transaction_code": {
  3768. "type": "number",
  3769. "description": "Transaction type as [DTA Tx Key](https://www.hettwer-beratung.de/sepa-spezialwissen/sepa-technische-anforderungen/sepa-purpose-codes-vs-dta-textschl%C3%BCssel#cc-m-header-6186936181) code."
  3770. },
  3771. "booked": {
  3772. "type": "boolean",
  3773. "description": "Some banks provide information on transactions which have not yet been executed. These transactions are called pending, and the flag is set to `false`. As soon as the bank reports the execution of these transactions, this flag changes to `true`. If such a pending transaction fails to execute, it is automatically removed from the transaction list."
  3774. },
  3775. "booking_date": {
  3776. "type": "string",
  3777. "description": "Booking date"
  3778. },
  3779. "name": {
  3780. "type": "string",
  3781. "description": "Name of originator or recipient"
  3782. },
  3783. "creation_timestamp": {
  3784. "type": "string",
  3785. "description": "Internal creation timestamp on the figo Connect server"
  3786. },
  3787. "amount": {
  3788. "type": "number",
  3789. "description": "Transaction amount"
  3790. },
  3791. "account_number": {
  3792. "type": "string",
  3793. "description": "Account number of originator or recipient. This field might be empty if the transaction has no account number, e.g. interest transactions."
  3794. },
  3795. "iban": {
  3796. "type": "string",
  3797. "description": "IBAN of payer"
  3798. },
  3799. "bic": {
  3800. "type": "string",
  3801. "description": "BIC of payer"
  3802. },
  3803. "visited": {
  3804. "type": "boolean",
  3805. "description": "**DEPRECATED**"
  3806. },
  3807. "modification_timestamp": {
  3808. "type": "string",
  3809. "description": "Internal modification timestamp on the figo Connect server"
  3810. },
  3811. "type": {
  3812. "type": "string",
  3813. "enum": [
  3814. "Transfer",
  3815. "Standing order",
  3816. "Direct debit",
  3817. "Salary or rent",
  3818. "GeldKarte",
  3819. "Charges or interest",
  3820. "Direct debit"
  3821. ],
  3822. "description": "Transaction type to simplify your analysis of the users transaction"
  3823. },
  3824. "transaction_id": {
  3825. "type": "string",
  3826. "description": "Internal figo Connect transaction ID"
  3827. },
  3828. "booking_text": {
  3829. "type": "string",
  3830. "description": "Booking text. This field might be empty if the transaction has no booking text."
  3831. },
  3832. "categories": {
  3833. "type": "array",
  3834. "items": {
  3835. "type": "object",
  3836. "properties": {
  3837. "id": {
  3838. "type": "number",
  3839. "description": "ID of category"
  3840. },
  3841. "parent_id": {
  3842. "type": "number",
  3843. "description": "ID of parent category"
  3844. },
  3845. "name": {
  3846. "type": "string",
  3847. "description": "Name of category"
  3848. }
  3849. }
  3850. },
  3851. "description": "List of categories for this transaction. Categories are stored in a tree, and the figo API returns a path from the root to the leaf. That is, the list of category objects is ordered from general to specific. Categories are only returned to users with scope at least `categories=ro`."
  3852. },
  3853. "additional_info": {
  3854. "type": "object",
  3855. "properties": {
  3856. "gross_amount": {
  3857. "type": "number",
  3858. "description": "Gross amount of the transaction"
  3859. },
  3860. "fee": {
  3861. "type": "number",
  3862. "description": "Possible payed fees"
  3863. },
  3864. "referene_party_creditor": {
  3865. "type": "string",
  3866. "description": "HBCI: Deviating receiver of the transfer"
  3867. },
  3868. "reference_party_debitor": {
  3869. "type": "string",
  3870. "description": "HBCI: Deviating sender of the transfer"
  3871. },
  3872. "bank_reference": {
  3873. "type": "string",
  3874. "description": "HBCI: Bank reference or instruction ID, can be filled by the payers bank"
  3875. },
  3876. "debitor_id": {
  3877. "type": "string",
  3878. "description": "HBCI: An identifier of the payer"
  3879. },
  3880. "compensation_amount": {
  3881. "type": "string",
  3882. "description": "HBCI: Sum of reimbursement of out-of-pocket expenses plus processing fee in case of a national return / refund debit as well as an optional interest equalization (for SEPA direct debit returns)"
  3883. },
  3884. "original_amount": {
  3885. "type": "string",
  3886. "description": "HBCI: Amount of the original direct debit (for SEPA direct debit returns)"
  3887. }
  3888. },
  3889. "description": "Additional info on the transaction, if available."
  3890. }
  3891. },
  3892. "required": [
  3893. "account_id",
  3894. "transaction_id"
  3895. ]
  3896. }
  3897. }
  3898. },
  3899. "summary": "Read single Transaction by Account",
  3900. "description": "",
  3901. "tags": [
  3902. "Transactions"
  3903. ],
  3904. "parameters": [
  3905. {
  3906. "name": "account_id",
  3907. "in": "path",
  3908. "description": "ID of the account related to the transaction",
  3909. "required": true,
  3910. "type": "string"
  3911. },
  3912. {
  3913. "name": "transaction_id",
  3914. "in": "path",
  3915. "description": "ID of a specific transaction",
  3916. "required": true,
  3917. "type": "string"
  3918. },
  3919. {
  3920. "name": "cents",
  3921. "in": "query",
  3922. "description": "If `true`, monetary amounts will be shown in cents.",
  3923. "required": false,
  3924. "type": "boolean",
  3925. "default": "false"
  3926. }
  3927. ],
  3928. "produces": [
  3929. "application/json"
  3930. ]
  3931. }
  3932. },
  3933. "/rest/accounts/{account_id}/transactions/{transaction_id}": {
  3934. "delete": {
  3935. "responses": {
  3936. "204": {
  3937. "description": "No Content",
  3938. "headers": {},
  3939. "examples": {}
  3940. }
  3941. },
  3942. "summary": "Delete Transaction by Account",
  3943. "description": "",
  3944. "tags": [
  3945. "Transactions"
  3946. ],
  3947. "parameters": [
  3948. {
  3949. "name": "account_id",
  3950. "in": "path",
  3951. "description": "ID of the account related to the transaction",
  3952. "required": true,
  3953. "type": "string"
  3954. },
  3955. {
  3956. "name": "transaction_id",
  3957. "in": "path",
  3958. "description": "ID of transaction to delete. You can only delete one transaction at once.",
  3959. "required": true,
  3960. "type": "string"
  3961. }
  3962. ]
  3963. }
  3964. },
  3965. "/rest/accounts/{account_id}/payments": {
  3966. "post": {
  3967. "responses": {
  3968. "200": {
  3969. "description": "OK",
  3970. "headers": {},
  3971. "examples": {
  3972. "application/json": {
  3973. "name": "John Doe",
  3974. "iban": "DE67900900424711951501",
  3975. "amount": 22.8,
  3976. "purpose": "Thanks for all the fish.",
  3977. "currency": "EUR",
  3978. "text_key": 51,
  3979. "text_key_extension": 0,
  3980. "type": "SEPA Transfer",
  3981. "account_id": "A1.1",
  3982. "payment_id": "P1.2073",
  3983. "bank_name": "Demobank",
  3984. "bank_icon": "https://api.figo.me/assets/images/accounts/default.png",
  3985. "bank_additional_icons": {
  3986. "48x48": "https://api.figo.me/assets/images/accounts/default_48.png",
  3987. "60x60": "https://api.figo.me/assets/images/accounts/default_60.png",
  3988. "72x72": "https://api.figo.me/assets/images/accounts/default_72.png",
  3989. "84x84": "https://api.figo.me/assets/images/accounts/default_84.png",
  3990. "96x96": "https://api.figo.me/assets/images/accounts/default_96.png",
  3991. "120x120": "https://api.figo.me/assets/images/accounts/default_120.png",
  3992. "144x144": "https://api.figo.me/assets/images/accounts/default_144.png",
  3993. "192x192": "https://api.figo.me/assets/images/accounts/default_192.png",
  3994. "256x256": "https://api.figo.me/assets/images/accounts/default_256.png"
  3995. },
  3996. "submission_timestamp": "null",
  3997. "creation_timestamp": "2016-04-13T16:03:45.000Z",
  3998. "modification_timestamp": "2016-04-13T16:03:45.000Z"
  3999. }
  4000. },
  4001. "schema": {
  4002. "type": "object",
  4003. "properties": {
  4004. "name": {
  4005. "type": "string",
  4006. "description": "Name of creditor or debtor"
  4007. },
  4008. "account_number": {
  4009. "type": "string",
  4010. "description": "**DEPRECATED**"
  4011. },
  4012. "bank_code": {
  4013. "type": "string",
  4014. "description": "**DEPRECATED**"
  4015. },
  4016. "iban": {
  4017. "type": "string",
  4018. "description": "IBAN of creditor or debtor."
  4019. },
  4020. "amount": {
  4021. "type": "number",
  4022. "description": "Order amount"
  4023. },
  4024. "purpose": {
  4025. "type": "string",
  4026. "description": "Purpose text"
  4027. },
  4028. "currency": {
  4029. "type": "string",
  4030. "description": "Three-character currency code (ISO 4217:2015)"
  4031. },
  4032. "text_key": {
  4033. "type": "number",
  4034. "description": "DTA text key"
  4035. },
  4036. "text_key_extension": {
  4037. "type": "number",
  4038. "description": "DTA text key extension"
  4039. },
  4040. "type": {
  4041. "type": "string",
  4042. "enum": [
  4043. "Transfer",
  4044. "SEPA transfer"
  4045. ],
  4046. "description": "Payment type"
  4047. },
  4048. "account_id": {
  4049. "type": "string",
  4050. "description": "Internal figo Connect ID of the account"
  4051. },
  4052. "payment_id": {
  4053. "type": "string",
  4054. "description": "Internal figo Connect payment ID"
  4055. },
  4056. "bank_name": {
  4057. "type": "string",
  4058. "description": "Bank name of creditor or debtor"
  4059. },
  4060. "bank_icon": {
  4061. "type": "string",
  4062. "description": "Icon of creditor or debtor bank"
  4063. },
  4064. "bank_additional_icons": {
  4065. "type": "object",
  4066. "properties": {
  4067. "48x48": {
  4068. "type": "string"
  4069. },
  4070. "60x60": {
  4071. "type": "string"
  4072. },
  4073. "72x72": {
  4074. "type": "string"
  4075. },
  4076. "84x84": {
  4077. "type": "string"
  4078. },
  4079. "96x96": {
  4080. "type": "string"
  4081. },
  4082. "120x120": {
  4083. "type": "string"
  4084. },
  4085. "144x144": {
  4086. "type": "string"
  4087. },
  4088. "192x192": {
  4089. "type": "string"
  4090. },
  4091. "256x256": {
  4092. "type": "string"
  4093. }
  4094. },
  4095. "required": [
  4096. "48x48",
  4097. "60x60",
  4098. "72x72",
  4099. "84x84",
  4100. "96x96",
  4101. "120x120",
  4102. "144x144",
  4103. "192x192",
  4104. "256x256"
  4105. ],
  4106. "description": "Mapping from resolution to URL for additional resolutions of the banks icon."
  4107. },
  4108. "submission_timestamp": {
  4109. "type": [
  4110. "string",
  4111. "null"
  4112. ],
  4113. "description": "Timestamp of submission to the bank server. Is `null` if payment has not been submitted yet."
  4114. },
  4115. "creation_timestamp": {
  4116. "type": "string",
  4117. "description": "Internal creation timestamp on the figo Connect server."
  4118. },
  4119. "modification_timestamp": {
  4120. "type": "string",
  4121. "description": "Internal modification timestamp on the figo Connect server"
  4122. }
  4123. }
  4124. }
  4125. }
  4126. },
  4127. "summary": "Create a Payment",
  4128. "description": "Create a payment in the figo database. The payment can be viewed and modified before submission to the bank or service provider.",
  4129. "tags": [
  4130. "Payments"
  4131. ],
  4132. "parameters": [
  4133. {
  4134. "name": "account_id",
  4135. "in": "path",
  4136. "description": "Internal *figo Connect* ID of the account",
  4137. "required": true,
  4138. "type": "string"
  4139. },
  4140. {
  4141. "name": "body",
  4142. "in": "body",
  4143. "schema": {
  4144. "$schema": "http://json-schema.org/draft-04/schema#",
  4145. "type": "object",
  4146. "properties": {
  4147. "name": {
  4148. "type": "string",
  4149. "description": "Name of creditor or debtor"
  4150. },
  4151. "account_number": {
  4152. "type": "string",
  4153. "description": "**DEPRECATED**"
  4154. },
  4155. "bank_code": {
  4156. "type": "string",
  4157. "description": "**DEPRECATED**"
  4158. },
  4159. "iban": {
  4160. "type": "string",
  4161. "description": "IBAN of creditor or debtor."
  4162. },
  4163. "amount": {
  4164. "type": "number",
  4165. "description": "Order amount"
  4166. },
  4167. "purpose": {
  4168. "type": "string",
  4169. "description": "Purpose text"
  4170. },
  4171. "currency": {
  4172. "type": "string",
  4173. "description": "Three-character currency code (ISO 4217:2015)"
  4174. },
  4175. "text_key": {
  4176. "type": "number",
  4177. "description": "DTA text key"
  4178. },
  4179. "text_key_extension": {
  4180. "type": "number",
  4181. "description": "DTA text key extension"
  4182. },
  4183. "type": {
  4184. "type": "string",
  4185. "enum": [
  4186. "Transfer",
  4187. "SEPA transfer"
  4188. ],
  4189. "description": "Payment type"
  4190. },
  4191. "cents": {
  4192. "type": "boolean",
  4193. "description": "If `true`, the amount is submitted as cents."
  4194. }
  4195. },
  4196. "required": [
  4197. "name",
  4198. "iban",
  4199. "amount",
  4200. "purpose",
  4201. "type"
  4202. ]
  4203. }
  4204. }
  4205. ],
  4206. "produces": [
  4207. "application/json"
  4208. ]
  4209. },
  4210. "get": {
  4211. "responses": {
  4212. "200": {
  4213. "description": "OK",
  4214. "headers": {},
  4215. "examples": {
  4216. "application/json": {
  4217. "payments": [
  4218. {
  4219. "name": "John Doe",
  4220. "iban": "DE67900900424711951501",
  4221. "amount": 22.8,
  4222. "purpose": "Thanks for all the fish.",
  4223. "currency": "EUR",
  4224. "text_key": 51,
  4225. "text_key_extension": 0,
  4226. "type": "SEPA Transfer",
  4227. "account_id": "A1.1",
  4228. "payment_id": "P1.2073",
  4229. "bank_name": "Demobank",
  4230. "bank_icon": "https://api.figo.me/assets/images/accounts/default.png",
  4231. "bank_additional_icons": {
  4232. "48x48": "https://api.figo.me/assets/images/accounts/default_48.png",
  4233. "60x60": "https://api.figo.me/assets/images/accounts/default_60.png",
  4234. "72x72": "https://api.figo.me/assets/images/accounts/default_72.png",
  4235. "84x84": "https://api.figo.me/assets/images/accounts/default_84.png",
  4236. "96x96": "https://api.figo.me/assets/images/accounts/default_96.png",
  4237. "120x120": "https://api.figo.me/assets/images/accounts/default_120.png",
  4238. "144x144": "https://api.figo.me/assets/images/accounts/default_144.png",
  4239. "192x192": "https://api.figo.me/assets/images/accounts/default_192.png",
  4240. "256x256": "https://api.figo.me/assets/images/accounts/default_256.png"
  4241. },
  4242. "submission_timestamp": "null",
  4243. "creation_timestamp": "2016-04-13T16:03:45.000Z",
  4244. "modification_timestamp": "2016-04-13T16:03:45.000Z"
  4245. }
  4246. ]
  4247. }
  4248. },
  4249. "schema": {
  4250. "type": "object",
  4251. "properties": {
  4252. "payments": {
  4253. "type": "array",
  4254. "items": {
  4255. "type": "object",
  4256. "properties": {
  4257. "name": {
  4258. "type": "string",
  4259. "description": "Name of creditor or debtor"
  4260. },
  4261. "account_number": {
  4262. "type": "string",
  4263. "description": "**DEPRECATED**"
  4264. },
  4265. "bank_code": {
  4266. "type": "string",
  4267. "description": "**DEPRECATED**"
  4268. },
  4269. "iban": {
  4270. "type": "string",
  4271. "description": "IBAN of creditor or debtor."
  4272. },
  4273. "amount": {
  4274. "type": "number",
  4275. "description": "Order amount"
  4276. },
  4277. "purpose": {
  4278. "type": "string",
  4279. "description": "Purpose text"
  4280. },
  4281. "currency": {
  4282. "type": "string",
  4283. "description": "Three-character currency code (ISO 4217:2015)"
  4284. },
  4285. "text_key": {
  4286. "type": "number",
  4287. "description": "DTA text key"
  4288. },
  4289. "text_key_extension": {
  4290. "type": "number",
  4291. "description": "DTA text key extension"
  4292. },
  4293. "type": {
  4294. "type": "string",
  4295. "enum": [
  4296. "Transfer",
  4297. "SEPA transfer"
  4298. ],
  4299. "description": "Payment type"
  4300. },
  4301. "account_id": {
  4302. "type": "string",
  4303. "description": "Internal figo Connect ID of the account"
  4304. },
  4305. "payment_id": {
  4306. "type": "string",
  4307. "description": "Internal figo Connect payment ID"
  4308. },
  4309. "bank_name": {
  4310. "type": "string",
  4311. "description": "Bank name of creditor or debtor"
  4312. },
  4313. "bank_icon": {
  4314. "type": "string",
  4315. "description": "Icon of creditor or debtor bank"
  4316. },
  4317. "bank_additional_icons": {
  4318. "type": "object",
  4319. "properties": {
  4320. "48x48": {
  4321. "type": "string"
  4322. },
  4323. "60x60": {
  4324. "type": "string"
  4325. },
  4326. "72x72": {
  4327. "type": "string"
  4328. },
  4329. "84x84": {
  4330. "type": "string"
  4331. },
  4332. "96x96": {
  4333. "type": "string"
  4334. },
  4335. "120x120": {
  4336. "type": "string"
  4337. },
  4338. "144x144": {
  4339. "type": "string"
  4340. },
  4341. "192x192": {
  4342. "type": "string"
  4343. },
  4344. "256x256": {
  4345. "type": "string"
  4346. }
  4347. },
  4348. "required": [
  4349. "48x48",
  4350. "60x60",
  4351. "72x72",
  4352. "84x84",
  4353. "96x96",
  4354. "120x120",
  4355. "144x144",
  4356. "192x192",
  4357. "256x256"
  4358. ],
  4359. "description": "Mapping from resolution to URL for additional resolutions of the banks icon."
  4360. },
  4361. "submission_timestamp": {
  4362. "type": [
  4363. "string",
  4364. "null"
  4365. ],
  4366. "description": "Timestamp of submission to the bank server. Is `null` if payment has not been submitted yet."
  4367. },
  4368. "creation_timestamp": {
  4369. "type": "string",
  4370. "description": "Internal creation timestamp on the figo Connect server."
  4371. },
  4372. "modification_timestamp": {
  4373. "type": "string",
  4374. "description": "Internal modification timestamp on the figo Connect server"
  4375. }
  4376. }
  4377. },
  4378. "description": "List of payments for given account"
  4379. }
  4380. }
  4381. }
  4382. }
  4383. },
  4384. "summary": "Read Payments by Account",
  4385. "description": "",
  4386. "tags": [
  4387. "Payments"
  4388. ],
  4389. "parameters": [
  4390. {
  4391. "name": "account_id",
  4392. "in": "path",
  4393. "description": "Internal *figo Connect* ID of the account",
  4394. "required": true,
  4395. "type": "string"
  4396. }
  4397. ],
  4398. "produces": [
  4399. "application/json"
  4400. ]
  4401. },
  4402. "put": {
  4403. "responses": {
  4404. "200": {
  4405. "description": "OK",
  4406. "headers": {},
  4407. "examples": {
  4408. "application/json": {
  4409. "name": "John Doe",
  4410. "iban": "DE67900900424711951501",
  4411. "amount": 22.8,
  4412. "purpose": "Thanks for all the fish.",
  4413. "currency": "EUR",
  4414. "text_key": 51,
  4415. "text_key_extension": 0,
  4416. "account_id": "A1.1",
  4417. "payment_id": "P1.2073",
  4418. "bank_name": "Demobank",
  4419. "bank_icon": "https://api.figo.me/assets/images/accounts/default.png",
  4420. "bank_additional_icons": {
  4421. "48x48": "https://api.figo.me/assets/images/accounts/default_48.png",
  4422. "60x60": "https://api.figo.me/assets/images/accounts/default_60.png",
  4423. "72x72": "https://api.figo.me/assets/images/accounts/default_72.png",
  4424. "84x84": "https://api.figo.me/assets/images/accounts/default_84.png",
  4425. "96x96": "https://api.figo.me/assets/images/accounts/default_96.png",
  4426. "120x120": "https://api.figo.me/assets/images/accounts/default_120.png",
  4427. "144x144": "https://api.figo.me/assets/images/accounts/default_144.png",
  4428. "192x192": "https://api.figo.me/assets/images/accounts/default_192.png",
  4429. "256x256": "https://api.figo.me/assets/images/accounts/default_256.png"
  4430. },
  4431. "submission_timestamp": "null",
  4432. "creation_timestamp": "2016-04-13T16:03:45.000Z",
  4433. "modification_timestamp": "2016-04-13T16:03:45.000Z",
  4434. "type": "SEPA standing order",
  4435. "interval": "quarterly",
  4436. "execution_day": 15,
  4437. "first_execution_date": "2015-05-15T00:00:00.000Z",
  4438. "last_execution_date": "2017-01-15T00:00:00.000Z"
  4439. }
  4440. },
  4441. "schema": {
  4442. "type": "object",
  4443. "properties": {
  4444. "name": {
  4445. "type": "string",
  4446. "description": "Name of creditor or debtor"
  4447. },
  4448. "account_number": {
  4449. "type": "string",
  4450. "description": "**DEPRECATED**"
  4451. },
  4452. "bank_code": {
  4453. "type": "string",
  4454. "description": "**DEPRECATED**"
  4455. },
  4456. "iban": {
  4457. "type": "string",
  4458. "description": "IBAN of creditor or debtor."
  4459. },
  4460. "amount": {
  4461. "type": "number",
  4462. "description": "Order amount"
  4463. },
  4464. "purpose": {
  4465. "type": "string",
  4466. "description": "Purpose text"
  4467. },
  4468. "currency": {
  4469. "type": "string",
  4470. "description": "Three-character currency code (ISO 4217:2015)"
  4471. },
  4472. "text_key": {
  4473. "type": "number",
  4474. "description": "DTA text key"
  4475. },
  4476. "text_key_extension": {
  4477. "type": "number",
  4478. "description": "DTA text key extension"
  4479. },
  4480. "account_id": {
  4481. "type": "string",
  4482. "description": "Internal figo Connect ID of the account"
  4483. },
  4484. "payment_id": {
  4485. "type": "string",
  4486. "description": "Internal figo Connect payment ID"
  4487. },
  4488. "bank_name": {
  4489. "type": "string",
  4490. "description": "Bank name of creditor or debtor"
  4491. },
  4492. "bank_icon": {
  4493. "type": "string",
  4494. "description": "Icon of creditor or debtor bank"
  4495. },
  4496. "bank_additional_icons": {
  4497. "type": "object",
  4498. "properties": {
  4499. "48x48": {
  4500. "type": "string"
  4501. },
  4502. "60x60": {
  4503. "type": "string"
  4504. },
  4505. "72x72": {
  4506. "type": "string"
  4507. },
  4508. "84x84": {
  4509. "type": "string"
  4510. },
  4511. "96x96": {
  4512. "type": "string"
  4513. },
  4514. "120x120": {
  4515. "type": "string"
  4516. },
  4517. "144x144": {
  4518. "type": "string"
  4519. },
  4520. "192x192": {
  4521. "type": "string"
  4522. },
  4523. "256x256": {
  4524. "type": "string"
  4525. }
  4526. },
  4527. "required": [
  4528. "48x48",
  4529. "60x60",
  4530. "72x72",
  4531. "84x84",
  4532. "96x96",
  4533. "120x120",
  4534. "144x144",
  4535. "192x192",
  4536. "256x256"
  4537. ],
  4538. "description": "Mapping from resolution to URL for additional resolutions of the banks icon."
  4539. },
  4540. "submission_timestamp": {
  4541. "type": [
  4542. "string",
  4543. "null"
  4544. ],
  4545. "description": "Timestamp of submission to the bank server. Is `null` if payment has not been submitted yet."
  4546. },
  4547. "creation_timestamp": {
  4548. "type": "string",
  4549. "description": "Internal creation timestamp on the figo Connect server."
  4550. },
  4551. "modification_timestamp": {
  4552. "type": "string",
  4553. "description": "Internal modification timestamp on the figo Connect server"
  4554. },
  4555. "type": {
  4556. "type": "string",
  4557. "enum": [
  4558. "SEPA standing order"
  4559. ],
  4560. "description": "Payment type, must be set to `SEPA standing order` to be recognized as a standing order instead of a regular payment."
  4561. },
  4562. "interval": {
  4563. "type": "string",
  4564. "enum": [
  4565. "weekly",
  4566. "monthly",
  4567. "two monthly",
  4568. "four monthly",
  4569. "quarterly",
  4570. "half yearly",
  4571. "yearly"
  4572. ],
  4573. "description": "Interval in which the standing order will be executed"
  4574. },
  4575. "execution_day": {
  4576. "type": "number",
  4577. "description": "Identifier of the day when the standing order will be regularly executed. Permitted values depend on the `interval`."
  4578. },
  4579. "first_execution_date": {
  4580. "type": "string",
  4581. "description": "The first date when the standing order will be executed"
  4582. },
  4583. "last_execution_date": {
  4584. "type": "string",
  4585. "description": "The last date when the standing order will be executed. The day of month must be the same as that of the first execution."
  4586. }
  4587. },
  4588. "required": [
  4589. "type",
  4590. "interval",
  4591. "execution_day",
  4592. "first_execution_date"
  4593. ]
  4594. }
  4595. }
  4596. },
  4597. "summary": "Modify Standing Order",
  4598. "description": "To modify an existing standing order, conduct the following steps:\n\n1. [Synchronize accounts](#accounts-synchronization-create-synchronization-task), including `standingOrders` in `sync_tasks`\n\n2. `GET /rest/standing_orders` and pick `standing_order_id` of the one to modify\n\n3. `PUT /rest/accounts/<account_id>/payments` with `standing_order_id` and fields to modify. Response contains a `payment_id`.\n\n4. `POST /rest/accounts/<account_id>/payments/<payment_id>/submit` to submit modified standing order to bank. Returns a `task_token`.\n\n5. [Complete task as usual](#task-processing).",
  4599. "tags": [
  4600. "Standing Orders"
  4601. ],
  4602. "parameters": [
  4603. {
  4604. "name": "account_id",
  4605. "in": "path",
  4606. "description": "Internal *figo Connect* ID of the account",
  4607. "required": true,
  4608. "type": "string"
  4609. },
  4610. {
  4611. "name": "body",
  4612. "in": "body",
  4613. "schema": {
  4614. "$schema": "http://json-schema.org/draft-04/schema#",
  4615. "type": "object",
  4616. "properties": {
  4617. "standing_order_id": {
  4618. "type": "string",
  4619. "description": "Internal figo Connect ID of standing order to modify"
  4620. },
  4621. "amount": {
  4622. "type": "number",
  4623. "description": "Transaction amount"
  4624. },
  4625. "name": {
  4626. "type": "string",
  4627. "description": "Name of creditor or debtor"
  4628. },
  4629. "purpose": {
  4630. "type": "string",
  4631. "description": "Purpose text"
  4632. },
  4633. "interval": {
  4634. "type": "string",
  4635. "enum": [
  4636. "weekly",
  4637. "monthly",
  4638. "two monthly",
  4639. "four monthly",
  4640. "quarterly",
  4641. "half yearly",
  4642. "yearly"
  4643. ],
  4644. "description": "Interval in which the standing order will be executed"
  4645. },
  4646. "execution_day": {
  4647. "type": "number",
  4648. "description": "Identifier of the day when the standing order will be regularly executed. Permitted values depend on the `interval`."
  4649. },
  4650. "first_execution_date": {
  4651. "type": "string",
  4652. "description": "The first date when the standing order will be executed"
  4653. },
  4654. "last_execution_date": {
  4655. "type": "string",
  4656. "description": "The last date when the standing order will be executed"
  4657. }
  4658. },
  4659. "required": [
  4660. "standing_order_id"
  4661. ]
  4662. }
  4663. }
  4664. ],
  4665. "produces": [
  4666. "application/json"
  4667. ]
  4668. }
  4669. },
  4670. "/rest/payments": {
  4671. "get": {
  4672. "responses": {
  4673. "200": {
  4674. "description": "OK",
  4675. "headers": {},
  4676. "examples": {
  4677. "application/json": {
  4678. "payments": [
  4679. {
  4680. "name": "John Doe",
  4681. "iban": "DE67900900424711951501",
  4682. "amount": 22.8,
  4683. "purpose": "Thanks for all the fish.",
  4684. "currency": "EUR",
  4685. "text_key": 51,
  4686. "text_key_extension": 0,
  4687. "type": "SEPA Transfer",
  4688. "account_id": "A1.1",
  4689. "payment_id": "P1.2073",
  4690. "bank_name": "Demobank",
  4691. "bank_icon": "https://api.figo.me/assets/images/accounts/default.png",
  4692. "bank_additional_icons": {
  4693. "48x48": "https://api.figo.me/assets/images/accounts/default_48.png",
  4694. "60x60": "https://api.figo.me/assets/images/accounts/default_60.png",
  4695. "72x72": "https://api.figo.me/assets/images/accounts/default_72.png",
  4696. "84x84": "https://api.figo.me/assets/images/accounts/default_84.png",
  4697. "96x96": "https://api.figo.me/assets/images/accounts/default_96.png",
  4698. "120x120": "https://api.figo.me/assets/images/accounts/default_120.png",
  4699. "144x144": "https://api.figo.me/assets/images/accounts/default_144.png",
  4700. "192x192": "https://api.figo.me/assets/images/accounts/default_192.png",
  4701. "256x256": "https://api.figo.me/assets/images/accounts/default_256.png"
  4702. },
  4703. "submission_timestamp": "null",
  4704. "creation_timestamp": "2016-04-13T16:03:45.000Z",
  4705. "modification_timestamp": "2016-04-13T16:03:45.000Z"
  4706. }
  4707. ]
  4708. }
  4709. },
  4710. "schema": {
  4711. "type": "object",
  4712. "properties": {
  4713. "payments": {
  4714. "type": "array",
  4715. "items": {
  4716. "type": "object",
  4717. "properties": {
  4718. "name": {
  4719. "type": "string",
  4720. "description": "Name of creditor or debtor"
  4721. },
  4722. "account_number": {
  4723. "type": "string",
  4724. "description": "**DEPRECATED**"
  4725. },
  4726. "bank_code": {
  4727. "type": "string",
  4728. "description": "**DEPRECATED**"
  4729. },
  4730. "iban": {
  4731. "type": "string",
  4732. "description": "IBAN of creditor or debtor."
  4733. },
  4734. "amount": {
  4735. "type": "number",
  4736. "description": "Order amount"
  4737. },
  4738. "purpose": {
  4739. "type": "string",
  4740. "description": "Purpose text"
  4741. },
  4742. "currency": {
  4743. "type": "string",
  4744. "description": "Three-character currency code (ISO 4217:2015)"
  4745. },
  4746. "text_key": {
  4747. "type": "number",
  4748. "description": "DTA text key"
  4749. },
  4750. "text_key_extension": {
  4751. "type": "number",
  4752. "description": "DTA text key extension"
  4753. },
  4754. "type": {
  4755. "type": "string",
  4756. "enum": [
  4757. "Transfer",
  4758. "SEPA transfer"
  4759. ],
  4760. "description": "Payment type"
  4761. },
  4762. "account_id": {
  4763. "type": "string",
  4764. "description": "Internal figo Connect ID of the account"
  4765. },
  4766. "payment_id": {
  4767. "type": "string",
  4768. "description": "Internal figo Connect payment ID"
  4769. },
  4770. "bank_name": {
  4771. "type": "string",
  4772. "description": "Bank name of creditor or debtor"
  4773. },
  4774. "bank_icon": {
  4775. "type": "string",
  4776. "description": "Icon of creditor or debtor bank"
  4777. },
  4778. "bank_additional_icons": {
  4779. "type": "object",
  4780. "properties": {
  4781. "48x48": {
  4782. "type": "string"
  4783. },
  4784. "60x60": {
  4785. "type": "string"
  4786. },
  4787. "72x72": {
  4788. "type": "string"
  4789. },
  4790. "84x84": {
  4791. "type": "string"
  4792. },
  4793. "96x96": {
  4794. "type": "string"
  4795. },
  4796. "120x120": {
  4797. "type": "string"
  4798. },
  4799. "144x144": {
  4800. "type": "string"
  4801. },
  4802. "192x192": {
  4803. "type": "string"
  4804. },
  4805. "256x256": {
  4806. "type": "string"
  4807. }
  4808. },
  4809. "required": [
  4810. "48x48",
  4811. "60x60",
  4812. "72x72",
  4813. "84x84",
  4814. "96x96",
  4815. "120x120",
  4816. "144x144",
  4817. "192x192",
  4818. "256x256"
  4819. ],
  4820. "description": "Mapping from resolution to URL for additional resolutions of the banks icon."
  4821. },
  4822. "submission_timestamp": {
  4823. "type": [
  4824. "string",
  4825. "null"
  4826. ],
  4827. "description": "Timestamp of submission to the bank server. Is `null` if payment has not been submitted yet."
  4828. },
  4829. "creation_timestamp": {
  4830. "type": "string",
  4831. "description": "Internal creation timestamp on the figo Connect server."
  4832. },
  4833. "modification_timestamp": {
  4834. "type": "string",
  4835. "description": "Internal modification timestamp on the figo Connect server"
  4836. }
  4837. }
  4838. },
  4839. "description": "List of payments"
  4840. }
  4841. }
  4842. }
  4843. }
  4844. },
  4845. "summary": "Read Payments",
  4846. "description": "View unsubmitted payments as stored in the figo database.",
  4847. "tags": [
  4848. "Payments"
  4849. ],
  4850. "parameters": [],
  4851. "produces": [
  4852. "application/json"
  4853. ]
  4854. }
  4855. },
  4856. "/rest/payments/{payment_id}": {
  4857. "get": {
  4858. "responses": {
  4859. "200": {
  4860. "description": "OK",
  4861. "headers": {},
  4862. "examples": {
  4863. "application/json": {
  4864. "name": "John Doe",
  4865. "iban": "DE67900900424711951501",
  4866. "amount": 22.8,
  4867. "purpose": "Thanks for all the fish.",
  4868. "currency": "EUR",
  4869. "text_key": 51,
  4870. "text_key_extension": 0,
  4871. "type": "SEPA Transfer",
  4872. "account_id": "A1.1",
  4873. "payment_id": "P1.2073",
  4874. "bank_name": "Demobank",
  4875. "bank_icon": "https://api.figo.me/assets/images/accounts/default.png",
  4876. "bank_additional_icons": {
  4877. "48x48": "https://api.figo.me/assets/images/accounts/default_48.png",
  4878. "60x60": "https://api.figo.me/assets/images/accounts/default_60.png",
  4879. "72x72": "https://api.figo.me/assets/images/accounts/default_72.png",
  4880. "84x84": "https://api.figo.me/assets/images/accounts/default_84.png",
  4881. "96x96": "https://api.figo.me/assets/images/accounts/default_96.png",
  4882. "120x120": "https://api.figo.me/assets/images/accounts/default_120.png",
  4883. "144x144": "https://api.figo.me/assets/images/accounts/default_144.png",
  4884. "192x192": "https://api.figo.me/assets/images/accounts/default_192.png",
  4885. "256x256": "https://api.figo.me/assets/images/accounts/default_256.png"
  4886. },
  4887. "submission_timestamp": "null",
  4888. "creation_timestamp": "2016-04-13T16:03:45.000Z",
  4889. "modification_timestamp": "2016-04-13T16:03:45.000Z"
  4890. }
  4891. },
  4892. "schema": {
  4893. "type": "object",
  4894. "properties": {
  4895. "name": {
  4896. "type": "string",
  4897. "description": "Name of creditor or debtor"
  4898. },
  4899. "account_number": {
  4900. "type": "string",
  4901. "description": "**DEPRECATED**"
  4902. },
  4903. "bank_code": {
  4904. "type": "string",
  4905. "description": "**DEPRECATED**"
  4906. },
  4907. "iban": {
  4908. "type": "string",
  4909. "description": "IBAN of creditor or debtor."
  4910. },
  4911. "amount": {
  4912. "type": "number",
  4913. "description": "Order amount"
  4914. },
  4915. "purpose": {
  4916. "type": "string",
  4917. "description": "Purpose text"
  4918. },
  4919. "currency": {
  4920. "type": "string",
  4921. "description": "Three-character currency code (ISO 4217:2015)"
  4922. },
  4923. "text_key": {
  4924. "type": "number",
  4925. "description": "DTA text key"
  4926. },
  4927. "text_key_extension": {
  4928. "type": "number",
  4929. "description": "DTA text key extension"
  4930. },
  4931. "type": {
  4932. "type": "string",
  4933. "enum": [
  4934. "Transfer",
  4935. "SEPA transfer"
  4936. ],
  4937. "description": "Payment type"
  4938. },
  4939. "account_id": {
  4940. "type": "string",
  4941. "description": "Internal figo Connect ID of the account"
  4942. },
  4943. "payment_id": {
  4944. "type": "string",
  4945. "description": "Internal figo Connect payment ID"
  4946. },
  4947. "bank_name": {
  4948. "type": "string",
  4949. "description": "Bank name of creditor or debtor"
  4950. },
  4951. "bank_icon": {
  4952. "type": "string",
  4953. "description": "Icon of creditor or debtor bank"
  4954. },
  4955. "bank_additional_icons": {
  4956. "type": "object",
  4957. "properties": {
  4958. "48x48": {
  4959. "type": "string"
  4960. },
  4961. "60x60": {
  4962. "type": "string"
  4963. },
  4964. "72x72": {
  4965. "type": "string"
  4966. },
  4967. "84x84": {
  4968. "type": "string"
  4969. },
  4970. "96x96": {
  4971. "type": "string"
  4972. },
  4973. "120x120": {
  4974. "type": "string"
  4975. },
  4976. "144x144": {
  4977. "type": "string"
  4978. },
  4979. "192x192": {
  4980. "type": "string"
  4981. },
  4982. "256x256": {
  4983. "type": "string"
  4984. }
  4985. },
  4986. "required": [
  4987. "48x48",
  4988. "60x60",
  4989. "72x72",
  4990. "84x84",
  4991. "96x96",
  4992. "120x120",
  4993. "144x144",
  4994. "192x192",
  4995. "256x256"
  4996. ],
  4997. "description": "Mapping from resolution to URL for additional resolutions of the banks icon."
  4998. },
  4999. "submission_timestamp": {
  5000. "type": [
  5001. "string",
  5002. "null"
  5003. ],
  5004. "description": "Timestamp of submission to the bank server. Is `null` if payment has not been submitted yet."
  5005. },
  5006. "creation_timestamp": {
  5007. "type": "string",
  5008. "description": "Internal creation timestamp on the figo Connect server."
  5009. },
  5010. "modification_timestamp": {
  5011. "type": "string",
  5012. "description": "Internal modification timestamp on the figo Connect server"
  5013. }
  5014. }
  5015. }
  5016. }
  5017. },
  5018. "summary": "Read single Payment",
  5019. "description": "View unsubmitted payment as stored in the figo database.",
  5020. "tags": [
  5021. "Payments"
  5022. ],
  5023. "parameters": [
  5024. {
  5025. "name": "payment_id",
  5026. "in": "path",
  5027. "description": "Internal *figo Connect* ID of the payment",
  5028. "required": false,
  5029. "type": "string"
  5030. }
  5031. ],
  5032. "produces": [
  5033. "application/json"
  5034. ]
  5035. }
  5036. },
  5037. "/rest/accounts/{account_id}/payments/{payment_id}": {
  5038. "get": {
  5039. "responses": {
  5040. "200": {
  5041. "description": "OK",
  5042. "headers": {},
  5043. "examples": {
  5044. "application/json": {
  5045. "name": "John Doe",
  5046. "iban": "DE67900900424711951501",
  5047. "amount": 22.8,
  5048. "purpose": "Thanks for all the fish.",
  5049. "currency": "EUR",
  5050. "text_key": 51,
  5051. "text_key_extension": 0,
  5052. "type": "SEPA Transfer",
  5053. "account_id": "A1.1",
  5054. "payment_id": "P1.2073",
  5055. "bank_name": "Demobank",
  5056. "bank_icon": "https://api.figo.me/assets/images/accounts/default.png",
  5057. "bank_additional_icons": {
  5058. "48x48": "https://api.figo.me/assets/images/accounts/default_48.png",
  5059. "60x60": "https://api.figo.me/assets/images/accounts/default_60.png",
  5060. "72x72": "https://api.figo.me/assets/images/accounts/default_72.png",
  5061. "84x84": "https://api.figo.me/assets/images/accounts/default_84.png",
  5062. "96x96": "https://api.figo.me/assets/images/accounts/default_96.png",
  5063. "120x120": "https://api.figo.me/assets/images/accounts/default_120.png",
  5064. "144x144": "https://api.figo.me/assets/images/accounts/default_144.png",
  5065. "192x192": "https://api.figo.me/assets/images/accounts/default_192.png",
  5066. "256x256": "https://api.figo.me/assets/images/accounts/default_256.png"
  5067. },
  5068. "submission_timestamp": "null",
  5069. "creation_timestamp": "2016-04-13T16:03:45.000Z",
  5070. "modification_timestamp": "2016-04-13T16:03:45.000Z"
  5071. }
  5072. },
  5073. "schema": {
  5074. "type": "object",
  5075. "properties": {
  5076. "name": {
  5077. "type": "string",
  5078. "description": "Name of creditor or debtor"
  5079. },
  5080. "account_number": {
  5081. "type": "string",
  5082. "description": "**DEPRECATED**"
  5083. },
  5084. "bank_code": {
  5085. "type": "string",
  5086. "description": "**DEPRECATED**"
  5087. },
  5088. "iban": {
  5089. "type": "string",
  5090. "description": "IBAN of creditor or debtor."
  5091. },
  5092. "amount": {
  5093. "type": "number",
  5094. "description": "Order amount"
  5095. },
  5096. "purpose": {
  5097. "type": "string",
  5098. "description": "Purpose text"
  5099. },
  5100. "currency": {
  5101. "type": "string",
  5102. "description": "Three-character currency code (ISO 4217:2015)"
  5103. },
  5104. "text_key": {
  5105. "type": "number",
  5106. "description": "DTA text key"
  5107. },
  5108. "text_key_extension": {
  5109. "type": "number",
  5110. "description": "DTA text key extension"
  5111. },
  5112. "type": {
  5113. "type": "string",
  5114. "enum": [
  5115. "Transfer",
  5116. "SEPA transfer"
  5117. ],
  5118. "description": "Payment type"
  5119. },
  5120. "account_id": {
  5121. "type": "string",
  5122. "description": "Internal figo Connect ID of the account"
  5123. },
  5124. "payment_id": {
  5125. "type": "string",
  5126. "description": "Internal figo Connect payment ID"
  5127. },
  5128. "bank_name": {
  5129. "type": "string",
  5130. "description": "Bank name of creditor or debtor"
  5131. },
  5132. "bank_icon": {
  5133. "type": "string",
  5134. "description": "Icon of creditor or debtor bank"
  5135. },
  5136. "bank_additional_icons": {
  5137. "type": "object",
  5138. "properties": {
  5139. "48x48": {
  5140. "type": "string"
  5141. },
  5142. "60x60": {
  5143. "type": "string"
  5144. },
  5145. "72x72": {
  5146. "type": "string"
  5147. },
  5148. "84x84": {
  5149. "type": "string"
  5150. },
  5151. "96x96": {
  5152. "type": "string"
  5153. },
  5154. "120x120": {
  5155. "type": "string"
  5156. },
  5157. "144x144": {
  5158. "type": "string"
  5159. },
  5160. "192x192": {
  5161. "type": "string"
  5162. },
  5163. "256x256": {
  5164. "type": "string"
  5165. }
  5166. },
  5167. "required": [
  5168. "48x48",
  5169. "60x60",
  5170. "72x72",
  5171. "84x84",
  5172. "96x96",
  5173. "120x120",
  5174. "144x144",
  5175. "192x192",
  5176. "256x256"
  5177. ],
  5178. "description": "Mapping from resolution to URL for additional resolutions of the banks icon."
  5179. },
  5180. "submission_timestamp": {
  5181. "type": [
  5182. "string",
  5183. "null"
  5184. ],
  5185. "description": "Timestamp of submission to the bank server. Is `null` if payment has not been submitted yet."
  5186. },
  5187. "creation_timestamp": {
  5188. "type": "string",
  5189. "description": "Internal creation timestamp on the figo Connect server."
  5190. },
  5191. "modification_timestamp": {
  5192. "type": "string",
  5193. "description": "Internal modification timestamp on the figo Connect server"
  5194. }
  5195. }
  5196. }
  5197. }
  5198. },
  5199. "summary": "Read single Payment by Account",
  5200. "description": "",
  5201. "tags": [
  5202. "Payments"
  5203. ],
  5204. "parameters": [
  5205. {
  5206. "name": "account_id",
  5207. "in": "path",
  5208. "description": "Internal *figo Connect* ID of the account",
  5209. "required": true,
  5210. "type": "string"
  5211. },
  5212. {
  5213. "name": "payment_id",
  5214. "in": "path",
  5215. "description": "Internal *figo Connect* ID of the payment",
  5216. "required": true,
  5217. "type": "string"
  5218. },
  5219. {
  5220. "name": "account_id",
  5221. "in": "path",
  5222. "description": "Internal *figo Connect* ID of the account",
  5223. "required": true,
  5224. "type": "string"
  5225. },
  5226. {
  5227. "name": "payment_id",
  5228. "in": "path",
  5229. "description": "Internal *figo Connect* ID of the payment",
  5230. "required": false,
  5231. "type": "string"
  5232. }
  5233. ],
  5234. "produces": [
  5235. "application/json"
  5236. ]
  5237. },
  5238. "put": {
  5239. "responses": {
  5240. "200": {
  5241. "description": "OK",
  5242. "headers": {},
  5243. "examples": {
  5244. "application/json": {
  5245. "name": "John Doe",
  5246. "iban": "DE67900900424711951501",
  5247. "amount": 22.8,
  5248. "purpose": "Thanks for all the fish.",
  5249. "currency": "EUR",
  5250. "text_key": 51,
  5251. "text_key_extension": 0,
  5252. "type": "SEPA Transfer",
  5253. "account_id": "A1.1",
  5254. "payment_id": "P1.2073",
  5255. "bank_name": "Demobank",
  5256. "bank_icon": "https://api.figo.me/assets/images/accounts/default.png",
  5257. "bank_additional_icons": {
  5258. "48x48": "https://api.figo.me/assets/images/accounts/default_48.png",
  5259. "60x60": "https://api.figo.me/assets/images/accounts/default_60.png",
  5260. "72x72": "https://api.figo.me/assets/images/accounts/default_72.png",
  5261. "84x84": "https://api.figo.me/assets/images/accounts/default_84.png",
  5262. "96x96": "https://api.figo.me/assets/images/accounts/default_96.png",
  5263. "120x120": "https://api.figo.me/assets/images/accounts/default_120.png",
  5264. "144x144": "https://api.figo.me/assets/images/accounts/default_144.png",
  5265. "192x192": "https://api.figo.me/assets/images/accounts/default_192.png",
  5266. "256x256": "https://api.figo.me/assets/images/accounts/default_256.png"
  5267. },
  5268. "submission_timestamp": "null",
  5269. "creation_timestamp": "2016-04-13T16:03:45.000Z",
  5270. "modification_timestamp": "2016-04-13T16:03:45.000Z"
  5271. }
  5272. },
  5273. "schema": {
  5274. "type": "object",
  5275. "properties": {
  5276. "name": {
  5277. "type": "string",
  5278. "description": "Name of creditor or debtor"
  5279. },
  5280. "account_number": {
  5281. "type": "string",
  5282. "description": "**DEPRECATED**"
  5283. },
  5284. "bank_code": {
  5285. "type": "string",
  5286. "description": "**DEPRECATED**"
  5287. },
  5288. "iban": {
  5289. "type": "string",
  5290. "description": "IBAN of creditor or debtor."
  5291. },
  5292. "amount": {
  5293. "type": "number",
  5294. "description": "Order amount"
  5295. },
  5296. "purpose": {
  5297. "type": "string",
  5298. "description": "Purpose text"
  5299. },
  5300. "currency": {
  5301. "type": "string",
  5302. "description": "Three-character currency code (ISO 4217:2015)"
  5303. },
  5304. "text_key": {
  5305. "type": "number",
  5306. "description": "DTA text key"
  5307. },
  5308. "text_key_extension": {
  5309. "type": "number",
  5310. "description": "DTA text key extension"
  5311. },
  5312. "type": {
  5313. "type": "string",
  5314. "enum": [
  5315. "Transfer",
  5316. "SEPA transfer"
  5317. ],
  5318. "description": "Payment type"
  5319. },
  5320. "account_id": {
  5321. "type": "string",
  5322. "description": "Internal figo Connect ID of the account"
  5323. },
  5324. "payment_id": {
  5325. "type": "string",
  5326. "description": "Internal figo Connect payment ID"
  5327. },
  5328. "bank_name": {
  5329. "type": "string",
  5330. "description": "Bank name of creditor or debtor"
  5331. },
  5332. "bank_icon": {
  5333. "type": "string",
  5334. "description": "Icon of creditor or debtor bank"
  5335. },
  5336. "bank_additional_icons": {
  5337. "type": "object",
  5338. "properties": {
  5339. "48x48": {
  5340. "type": "string"
  5341. },
  5342. "60x60": {
  5343. "type": "string"
  5344. },
  5345. "72x72": {
  5346. "type": "string"
  5347. },
  5348. "84x84": {
  5349. "type": "string"
  5350. },
  5351. "96x96": {
  5352. "type": "string"
  5353. },
  5354. "120x120": {
  5355. "type": "string"
  5356. },
  5357. "144x144": {
  5358. "type": "string"
  5359. },
  5360. "192x192": {
  5361. "type": "string"
  5362. },
  5363. "256x256": {
  5364. "type": "string"
  5365. }
  5366. },
  5367. "required": [
  5368. "48x48",
  5369. "60x60",
  5370. "72x72",
  5371. "84x84",
  5372. "96x96",
  5373. "120x120",
  5374. "144x144",
  5375. "192x192",
  5376. "256x256"
  5377. ],
  5378. "description": "Mapping from resolution to URL for additional resolutions of the banks icon."
  5379. },
  5380. "submission_timestamp": {
  5381. "type": [
  5382. "string",
  5383. "null"
  5384. ],
  5385. "description": "Timestamp of submission to the bank server. Is `null` if payment has not been submitted yet."
  5386. },
  5387. "creation_timestamp": {
  5388. "type": "string",
  5389. "description": "Internal creation timestamp on the figo Connect server."
  5390. },
  5391. "modification_timestamp": {
  5392. "type": "string",
  5393. "description": "Internal modification timestamp on the figo Connect server"
  5394. }
  5395. }
  5396. }
  5397. }
  5398. },
  5399. "summary": "Modify a Payment",
  5400. "description": "",
  5401. "tags": [
  5402. "Payments"
  5403. ],
  5404. "parameters": [
  5405. {
  5406. "name": "account_id",
  5407. "in": "path",
  5408. "description": "Internal *figo Connect* ID of the account",
  5409. "required": true,
  5410. "type": "string"
  5411. },
  5412. {
  5413. "name": "payment_id",
  5414. "in": "path",
  5415. "description": "Internal *figo Connect* ID of the payment",
  5416. "required": true,
  5417. "type": "string"
  5418. },
  5419. {
  5420. "name": "body",
  5421. "in": "body",
  5422. "schema": {
  5423. "$schema": "http://json-schema.org/draft-04/schema#",
  5424. "type": "object",
  5425. "properties": {
  5426. "name": {
  5427. "type": "string",
  5428. "description": "Name of creditor or debtor"
  5429. },
  5430. "account_number": {
  5431. "type": "string",
  5432. "description": "**DEPRECATED**"
  5433. },
  5434. "bank_code": {
  5435. "type": "string",
  5436. "description": "**DEPRECATED**"
  5437. },
  5438. "iban": {
  5439. "type": "string",
  5440. "description": "IBAN of creditor or debtor."
  5441. },
  5442. "amount": {
  5443. "type": "number",
  5444. "description": "Order amount"
  5445. },
  5446. "purpose": {
  5447. "type": "string",
  5448. "description": "Purpose text"
  5449. },
  5450. "currency": {
  5451. "type": "string",
  5452. "description": "Three-character currency code (ISO 4217:2015)"
  5453. },
  5454. "text_key": {
  5455. "type": "number",
  5456. "description": "DTA text key"
  5457. },
  5458. "text_key_extension": {
  5459. "type": "number",
  5460. "description": "DTA text key extension"
  5461. },
  5462. "type": {
  5463. "type": "string",
  5464. "enum": [
  5465. "Transfer",
  5466. "SEPA transfer"
  5467. ],
  5468. "description": "Payment type"
  5469. },
  5470. "cents": {
  5471. "type": "boolean",
  5472. "description": "If `true`, the amount is submitted as cents."
  5473. }
  5474. },
  5475. "required": [
  5476. "type"
  5477. ]
  5478. }
  5479. }
  5480. ],
  5481. "produces": [
  5482. "application/json"
  5483. ]
  5484. },
  5485. "delete": {
  5486. "responses": {
  5487. "204": {
  5488. "description": "No Content",
  5489. "headers": {},
  5490. "examples": {}
  5491. }
  5492. },
  5493. "summary": "Delete a Payment",
  5494. "description": "",
  5495. "tags": [
  5496. "Payments"
  5497. ],
  5498. "parameters": [
  5499. {
  5500. "name": "account_id",
  5501. "in": "path",
  5502. "description": "Internal *figo Connect* ID of the account",
  5503. "required": true,
  5504. "type": "string"
  5505. },
  5506. {
  5507. "name": "payment_id",
  5508. "in": "path",
  5509. "description": "Internal *figo Connect* ID of the payment",
  5510. "required": true,
  5511. "type": "string"
  5512. }
  5513. ]
  5514. }
  5515. },
  5516. "/rest/accounts/{account_id}/payments/{payment_id}/submit": {
  5517. "post": {
  5518. "responses": {
  5519. "200": {
  5520. "description": "OK",
  5521. "headers": {},
  5522. "examples": {
  5523. "application/json": {
  5524. "task_token": "YmB-BtvbWufLnbwgAVfP7XfLatwhrtu0sATfnZNR7LGP-aLXiZ7BKzLdZI--EqEPnwh_h6mCxToLEBhtA7LVd4uM4gTcZG8F6UJs47g6kWJ0"
  5525. }
  5526. },
  5527. "schema": {
  5528. "type": "object",
  5529. "properties": {
  5530. "task_token": {
  5531. "type": "string",
  5532. "description": "Token to monitor the submission process. Use this to call `/task/progress`."
  5533. }
  5534. }
  5535. }
  5536. }
  5537. },
  5538. "summary": "Submit a Payment to Bank Server",
  5539. "description": "",
  5540. "tags": [
  5541. "Payments"
  5542. ],
  5543. "parameters": [
  5544. {
  5545. "name": "account_id",
  5546. "in": "path",
  5547. "description": "Internal *figo Connect* ID of the account",
  5548. "required": true,
  5549. "type": "string"
  5550. },
  5551. {
  5552. "name": "payment_id",
  5553. "in": "path",
  5554. "description": "Internal *figo Connect* ID of the payment",
  5555. "required": true,
  5556. "type": "string"
  5557. },
  5558. {
  5559. "name": "body",
  5560. "in": "body",
  5561. "schema": {
  5562. "$schema": "http://json-schema.org/draft-04/schema#",
  5563. "type": "object",
  5564. "properties": {
  5565. "redirect_uri": {
  5566. "type": "string",
  5567. "description": "At the end of the submission process a response will be sent to this callback URL. The value defaults to the first redirect URI configured for the client. This field may also assume the value `close_window` for use in the figo web interface. It implies that after completing a TAN challenge, the window is closed instead of triggering a redirect."
  5568. },
  5569. "state": {
  5570. "type": "string",
  5571. "description": "The value can be any kind of string that will be forwarded in the callback response message. It serves two purposes: The value is used to maintain state between this request and the notification message, e.g. it might contain a user ID from your application. The value should also contain a random component, which your application checks to mitigate cross-site request forgery."
  5572. },
  5573. "tan_scheme_id": {
  5574. "type": "string",
  5575. "description": "TAN scheme ID of user-selected TAN scheme"
  5576. }
  5577. },
  5578. "required": [
  5579. "state",
  5580. "tan_scheme_id"
  5581. ]
  5582. }
  5583. }
  5584. ],
  5585. "produces": [
  5586. "application/json"
  5587. ]
  5588. }
  5589. },
  5590. "/rest/accounts/{account_id}/payments/": {
  5591. "post": {
  5592. "responses": {
  5593. "200": {
  5594. "description": "OK",
  5595. "headers": {},
  5596. "examples": {
  5597. "application/json": {
  5598. "name": "John Doe",
  5599. "iban": "DE67900900424711951501",
  5600. "amount": 22.8,
  5601. "purpose": "Thanks for all the fish.",
  5602. "currency": "EUR",
  5603. "text_key": 51,
  5604. "text_key_extension": 0,
  5605. "cents": false,
  5606. "type": "SEPA standing order",
  5607. "interval": "quarterly",
  5608. "execution_day": 15,
  5609. "first_execution_date": "2015-05-15T00:00:00.000Z",
  5610. "last_execution_date": "2017-01-15T00:00:00.000Z",
  5611. "standing_order_id": "S01.1",
  5612. "account_id": "A1.1",
  5613. "creation_timestamp": "2015-05-01T00:00:00.000Z",
  5614. "modification_timestamp": "2016-04-13T16:03:45.000Z"
  5615. }
  5616. },
  5617. "schema": {
  5618. "type": "object",
  5619. "properties": {
  5620. "name": {
  5621. "type": "string",
  5622. "description": "Name of creditor or debtor"
  5623. },
  5624. "account_number": {
  5625. "type": "string",
  5626. "description": "**DEPRECATED**"
  5627. },
  5628. "bank_code": {
  5629. "type": "string",
  5630. "description": "**DEPRECATED**"
  5631. },
  5632. "iban": {
  5633. "type": "string",
  5634. "description": "IBAN of creditor or debtor."
  5635. },
  5636. "amount": {
  5637. "type": "number",
  5638. "description": "Order amount"
  5639. },
  5640. "purpose": {
  5641. "type": "string",
  5642. "description": "Purpose text"
  5643. },
  5644. "currency": {
  5645. "type": "string",
  5646. "description": "Three-character currency code (ISO 4217:2015)"
  5647. },
  5648. "text_key": {
  5649. "type": "number",
  5650. "description": "DTA text key"
  5651. },
  5652. "text_key_extension": {
  5653. "type": "number",
  5654. "description": "DTA text key extension"
  5655. },
  5656. "cents": {
  5657. "type": "boolean",
  5658. "description": "If `true`, the amount is submitted as cents."
  5659. },
  5660. "type": {
  5661. "type": "string",
  5662. "enum": [
  5663. "SEPA standing order"
  5664. ],
  5665. "description": "Payment type, must be set to `SEPA standing order` to be recognized as a standing order instead of a regular payment."
  5666. },
  5667. "interval": {
  5668. "type": "string",
  5669. "enum": [
  5670. "weekly",
  5671. "monthly",
  5672. "two monthly",
  5673. "four monthly",
  5674. "quarterly",
  5675. "half yearly",
  5676. "yearly"
  5677. ],
  5678. "description": "Interval in which the standing order will be executed"
  5679. },
  5680. "execution_day": {
  5681. "type": "number",
  5682. "description": "Identifier of the day when the standing order will be regularly executed. Permitted values depend on the `interval`."
  5683. },
  5684. "first_execution_date": {
  5685. "type": "string",
  5686. "description": "The first date when the standing order will be executed"
  5687. },
  5688. "last_execution_date": {
  5689. "type": "string",
  5690. "description": "The last date when the standing order will be executed. The day of month must be the same as that of the first execution."
  5691. },
  5692. "standing_order_id": {
  5693. "type": "string",
  5694. "description": "Internal figo Connect standing order ID"
  5695. },
  5696. "account_id": {
  5697. "type": "string",
  5698. "description": "Internal figo Connect ID of the account"
  5699. },
  5700. "creation_timestamp": {
  5701. "type": "string",
  5702. "description": "Internal creation timestamp on the figo Connect server."
  5703. },
  5704. "modification_timestamp": {
  5705. "type": "string",
  5706. "description": "Internal modification timestamp on the figo Connect server"
  5707. }
  5708. },
  5709. "required": [
  5710. "name",
  5711. "iban",
  5712. "amount",
  5713. "purpose",
  5714. "type",
  5715. "type",
  5716. "interval",
  5717. "execution_day",
  5718. "first_execution_date"
  5719. ]
  5720. }
  5721. }
  5722. },
  5723. "summary": "Create Standing Order  ",
  5724. "description": "",
  5725. "tags": [
  5726. "Standing Orders"
  5727. ],
  5728. "parameters": [
  5729. {
  5730. "name": "account_id",
  5731. "in": "path",
  5732. "description": "Internal *figo Connect* ID of the account",
  5733. "required": true,
  5734. "type": "string"
  5735. },
  5736. {
  5737. "name": "body",
  5738. "in": "body",
  5739. "schema": {
  5740. "$schema": "http://json-schema.org/draft-04/schema#",
  5741. "type": "object",
  5742. "properties": {
  5743. "name": {
  5744. "type": "string",
  5745. "description": "Name of creditor or debtor"
  5746. },
  5747. "account_number": {
  5748. "type": "string",
  5749. "description": "**DEPRECATED**"
  5750. },
  5751. "bank_code": {
  5752. "type": "string",
  5753. "description": "**DEPRECATED**"
  5754. },
  5755. "iban": {
  5756. "type": "string",
  5757. "description": "IBAN of creditor or debtor."
  5758. },
  5759. "amount": {
  5760. "type": "number",
  5761. "description": "Order amount"
  5762. },
  5763. "purpose": {
  5764. "type": "string",
  5765. "description": "Purpose text"
  5766. },
  5767. "currency": {
  5768. "type": "string",
  5769. "description": "Three-character currency code (ISO 4217:2015)"
  5770. },
  5771. "text_key": {
  5772. "type": "number",
  5773. "description": "DTA text key"
  5774. },
  5775. "text_key_extension": {
  5776. "type": "number",
  5777. "description": "DTA text key extension"
  5778. },
  5779. "cents": {
  5780. "type": "boolean",
  5781. "description": "If `true`, the amount is submitted as cents."
  5782. },
  5783. "type": {
  5784. "type": "string",
  5785. "enum": [
  5786. "SEPA standing order"
  5787. ],
  5788. "description": "Payment type, must be set to `SEPA standing order` to be recognized as a standing order instead of a regular payment."
  5789. },
  5790. "interval": {
  5791. "type": "string",
  5792. "enum": [
  5793. "weekly",
  5794. "monthly",
  5795. "two monthly",
  5796. "four monthly",
  5797. "quarterly",
  5798. "half yearly",
  5799. "yearly"
  5800. ],
  5801. "description": "Interval in which the standing order will be executed"
  5802. },
  5803. "execution_day": {
  5804. "type": "number",
  5805. "description": "Identifier of the day when the standing order will be regularly executed. Permitted values depend on the `interval`."
  5806. },
  5807. "first_execution_date": {
  5808. "type": "string",
  5809. "description": "The first date when the standing order will be executed"
  5810. },
  5811. "last_execution_date": {
  5812. "type": "string",
  5813. "description": "The last date when the standing order will be executed. The day of month must be the same as that of the first execution."
  5814. }
  5815. },
  5816. "required": [
  5817. "name",
  5818. "iban",
  5819. "amount",
  5820. "purpose",
  5821. "type",
  5822. "type",
  5823. "interval",
  5824. "execution_day",
  5825. "first_execution_date"
  5826. ]
  5827. }
  5828. }
  5829. ],
  5830. "produces": [
  5831. "application/json"
  5832. ]
  5833. }
  5834. },
  5835. "/rest/standing_orders": {
  5836. "get": {
  5837. "responses": {
  5838. "200": {
  5839. "description": "OK",
  5840. "headers": {},
  5841. "examples": {
  5842. "application/json": {
  5843. "standing_orders": [
  5844. {
  5845. "name": "John Doe",
  5846. "iban": "DE67900900424711951501",
  5847. "amount": 22.8,
  5848. "purpose": "Thanks for all the fish.",
  5849. "currency": "EUR",
  5850. "text_key": 51,
  5851. "text_key_extension": 0,
  5852. "cents": false,
  5853. "type": "SEPA standing order",
  5854. "interval": "quarterly",
  5855. "execution_day": 15,
  5856. "first_execution_date": "2015-05-15T00:00:00.000Z",
  5857. "last_execution_date": "2017-01-15T00:00:00.000Z",
  5858. "standing_order_id": "S01.1",
  5859. "account_id": "A1.1",
  5860. "creation_timestamp": "2015-05-01T00:00:00.000Z",
  5861. "modification_timestamp": "2016-04-13T16:03:45.000Z"
  5862. }
  5863. ]
  5864. }
  5865. },
  5866. "schema": {
  5867. "type": "object",
  5868. "properties": {
  5869. "standing_orders": {
  5870. "type": "array",
  5871. "items": {
  5872. "type": "object",
  5873. "properties": {
  5874. "name": {
  5875. "type": "string",
  5876. "description": "Name of creditor or debtor"
  5877. },
  5878. "account_number": {
  5879. "type": "string",
  5880. "description": "**DEPRECATED**"
  5881. },
  5882. "bank_code": {
  5883. "type": "string",
  5884. "description": "**DEPRECATED**"
  5885. },
  5886. "iban": {
  5887. "type": "string",
  5888. "description": "IBAN of creditor or debtor."
  5889. },
  5890. "amount": {
  5891. "type": "number",
  5892. "description": "Order amount"
  5893. },
  5894. "purpose": {
  5895. "type": "string",
  5896. "description": "Purpose text"
  5897. },
  5898. "currency": {
  5899. "type": "string",
  5900. "description": "Three-character currency code (ISO 4217:2015)"
  5901. },
  5902. "text_key": {
  5903. "type": "number",
  5904. "description": "DTA text key"
  5905. },
  5906. "text_key_extension": {
  5907. "type": "number",
  5908. "description": "DTA text key extension"
  5909. },
  5910. "cents": {
  5911. "type": "boolean",
  5912. "description": "If `true`, the amount is submitted as cents."
  5913. },
  5914. "type": {
  5915. "type": "string",
  5916. "enum": [
  5917. "SEPA standing order"
  5918. ],
  5919. "description": "Payment type, must be set to `SEPA standing order` to be recognized as a standing order instead of a regular payment."
  5920. },
  5921. "interval": {
  5922. "type": "string",
  5923. "enum": [
  5924. "weekly",
  5925. "monthly",
  5926. "two monthly",
  5927. "four monthly",
  5928. "quarterly",
  5929. "half yearly",
  5930. "yearly"
  5931. ],
  5932. "description": "Interval in which the standing order will be executed"
  5933. },
  5934. "execution_day": {
  5935. "type": "number",
  5936. "description": "Identifier of the day when the standing order will be regularly executed. Permitted values depend on the `interval`."
  5937. },
  5938. "first_execution_date": {
  5939. "type": "string",
  5940. "description": "The first date when the standing order will be executed"
  5941. },
  5942. "last_execution_date": {
  5943. "type": "string",
  5944. "description": "The last date when the standing order will be executed. The day of month must be the same as that of the first execution."
  5945. },
  5946. "standing_order_id": {
  5947. "type": "string",
  5948. "description": "Internal figo Connect standing order ID"
  5949. },
  5950. "account_id": {
  5951. "type": "string",
  5952. "description": "Internal figo Connect ID of the account"
  5953. },
  5954. "creation_timestamp": {
  5955. "type": "string",
  5956. "description": "Internal creation timestamp on the figo Connect server."
  5957. },
  5958. "modification_timestamp": {
  5959. "type": "string",
  5960. "description": "Internal modification timestamp on the figo Connect server"
  5961. }
  5962. },
  5963. "required": [
  5964. "name",
  5965. "iban",
  5966. "amount",
  5967. "purpose",
  5968. "type",
  5969. "type",
  5970. "interval",
  5971. "execution_day",
  5972. "first_execution_date"
  5973. ]
  5974. },
  5975. "description": "List of active standing orders"
  5976. }
  5977. }
  5978. }
  5979. }
  5980. },
  5981. "summary": "Read Standing Orders",
  5982. "description": "",
  5983. "tags": [
  5984. "Standing Orders"
  5985. ],
  5986. "parameters": [
  5987. {
  5988. "name": "cents",
  5989. "in": "query",
  5990. "description": "If `true`, the amount of the standing order will be shown in cents.",
  5991. "required": false,
  5992. "type": "boolean",
  5993. "default": "false"
  5994. }
  5995. ],
  5996. "produces": [
  5997. "application/json"
  5998. ]
  5999. }
  6000. },
  6001. "/rest/standing_orders/{standing_order_id}": {
  6002. "get": {
  6003. "responses": {
  6004. "200": {
  6005. "description": "OK",
  6006. "headers": {},
  6007. "examples": {
  6008. "application/json": {
  6009. "name": "John Doe",
  6010. "iban": "DE67900900424711951501",
  6011. "amount": 22.8,
  6012. "purpose": "Thanks for all the fish.",
  6013. "currency": "EUR",
  6014. "text_key": 51,
  6015. "text_key_extension": 0,
  6016. "cents": false,
  6017. "type": "SEPA standing order",
  6018. "interval": "quarterly",
  6019. "execution_day": 15,
  6020. "first_execution_date": "2015-05-15T00:00:00.000Z",
  6021. "last_execution_date": "2017-01-15T00:00:00.000Z",
  6022. "standing_order_id": "S01.1",
  6023. "account_id": "A1.1",
  6024. "creation_timestamp": "2015-05-01T00:00:00.000Z",
  6025. "modification_timestamp": "2016-04-13T16:03:45.000Z"
  6026. }
  6027. },
  6028. "schema": {
  6029. "type": "object",
  6030. "properties": {
  6031. "name": {
  6032. "type": "string",
  6033. "description": "Name of creditor or debtor"
  6034. },
  6035. "account_number": {
  6036. "type": "string",
  6037. "description": "**DEPRECATED**"
  6038. },
  6039. "bank_code": {
  6040. "type": "string",
  6041. "description": "**DEPRECATED**"
  6042. },
  6043. "iban": {
  6044. "type": "string",
  6045. "description": "IBAN of creditor or debtor."
  6046. },
  6047. "amount": {
  6048. "type": "number",
  6049. "description": "Order amount"
  6050. },
  6051. "purpose": {
  6052. "type": "string",
  6053. "description": "Purpose text"
  6054. },
  6055. "currency": {
  6056. "type": "string",
  6057. "description": "Three-character currency code (ISO 4217:2015)"
  6058. },
  6059. "text_key": {
  6060. "type": "number",
  6061. "description": "DTA text key"
  6062. },
  6063. "text_key_extension": {
  6064. "type": "number",
  6065. "description": "DTA text key extension"
  6066. },
  6067. "cents": {
  6068. "type": "boolean",
  6069. "description": "If `true`, the amount is submitted as cents."
  6070. },
  6071. "type": {
  6072. "type": "string",
  6073. "enum": [
  6074. "SEPA standing order"
  6075. ],
  6076. "description": "Payment type, must be set to `SEPA standing order` to be recognized as a standing order instead of a regular payment."
  6077. },
  6078. "interval": {
  6079. "type": "string",
  6080. "enum": [
  6081. "weekly",
  6082. "monthly",
  6083. "two monthly",
  6084. "four monthly",
  6085. "quarterly",
  6086. "half yearly",
  6087. "yearly"
  6088. ],
  6089. "description": "Interval in which the standing order will be executed"
  6090. },
  6091. "execution_day": {
  6092. "type": "number",
  6093. "description": "Identifier of the day when the standing order will be regularly executed. Permitted values depend on the `interval`."
  6094. },
  6095. "first_execution_date": {
  6096. "type": "string",
  6097. "description": "The first date when the standing order will be executed"
  6098. },
  6099. "last_execution_date": {
  6100. "type": "string",
  6101. "description": "The last date when the standing order will be executed. The day of month must be the same as that of the first execution."
  6102. },
  6103. "standing_order_id": {
  6104. "type": "string",
  6105. "description": "Internal figo Connect standing order ID"
  6106. },
  6107. "account_id": {
  6108. "type": "string",
  6109. "description": "Internal figo Connect ID of the account"
  6110. },
  6111. "creation_timestamp": {
  6112. "type": "string",
  6113. "description": "Internal creation timestamp on the figo Connect server."
  6114. },
  6115. "modification_timestamp": {
  6116. "type": "string",
  6117. "description": "Internal modification timestamp on the figo Connect server"
  6118. }
  6119. },
  6120. "required": [
  6121. "name",
  6122. "iban",
  6123. "amount",
  6124. "purpose",
  6125. "type",
  6126. "type",
  6127. "interval",
  6128. "execution_day",
  6129. "first_execution_date"
  6130. ]
  6131. }
  6132. }
  6133. },
  6134. "summary": "Read single Standing Order",
  6135. "description": "",
  6136. "tags": [
  6137. "Standing Orders"
  6138. ],
  6139. "parameters": [
  6140. {
  6141. "name": "standing_order_id",
  6142. "in": "path",
  6143. "description": "ID of a specific standing order",
  6144. "required": false,
  6145. "type": "string"
  6146. },
  6147. {
  6148. "name": "cents",
  6149. "in": "query",
  6150. "description": "If `true`, monetary amounts will be shown in cents.",
  6151. "required": false,
  6152. "type": "boolean",
  6153. "default": "false"
  6154. }
  6155. ],
  6156. "produces": [
  6157. "application/json"
  6158. ]
  6159. }
  6160. },
  6161. "/rest/account/{account_id}/standing_orders": {
  6162. "get": {
  6163. "responses": {
  6164. "200": {
  6165. "description": "OK",
  6166. "headers": {},
  6167. "examples": {
  6168. "application/json": {
  6169. "standing_orders": [
  6170. {
  6171. "name": "John Doe",
  6172. "iban": "DE67900900424711951501",
  6173. "amount": 22.8,
  6174. "purpose": "Thanks for all the fish.",
  6175. "currency": "EUR",
  6176. "text_key": 51,
  6177. "text_key_extension": 0,
  6178. "cents": false,
  6179. "type": "SEPA standing order",
  6180. "interval": "quarterly",
  6181. "execution_day": 15,
  6182. "first_execution_date": "2015-05-15T00:00:00.000Z",
  6183. "last_execution_date": "2017-01-15T00:00:00.000Z",
  6184. "standing_order_id": "S01.1",
  6185. "account_id": "A1.1",
  6186. "creation_timestamp": "2015-05-01T00:00:00.000Z",
  6187. "modification_timestamp": "2016-04-13T16:03:45.000Z"
  6188. }
  6189. ]
  6190. }
  6191. },
  6192. "schema": {
  6193. "type": "object",
  6194. "properties": {
  6195. "standing_orders": {
  6196. "type": "array",
  6197. "items": {
  6198. "type": "object",
  6199. "properties": {
  6200. "name": {
  6201. "type": "string",
  6202. "description": "Name of creditor or debtor"
  6203. },
  6204. "account_number": {
  6205. "type": "string",
  6206. "description": "**DEPRECATED**"
  6207. },
  6208. "bank_code": {
  6209. "type": "string",
  6210. "description": "**DEPRECATED**"
  6211. },
  6212. "iban": {
  6213. "type": "string",
  6214. "description": "IBAN of creditor or debtor."
  6215. },
  6216. "amount": {
  6217. "type": "number",
  6218. "description": "Order amount"
  6219. },
  6220. "purpose": {
  6221. "type": "string",
  6222. "description": "Purpose text"
  6223. },
  6224. "currency": {
  6225. "type": "string",
  6226. "description": "Three-character currency code (ISO 4217:2015)"
  6227. },
  6228. "text_key": {
  6229. "type": "number",
  6230. "description": "DTA text key"
  6231. },
  6232. "text_key_extension": {
  6233. "type": "number",
  6234. "description": "DTA text key extension"
  6235. },
  6236. "cents": {
  6237. "type": "boolean",
  6238. "description": "If `true`, the amount is submitted as cents."
  6239. },
  6240. "type": {
  6241. "type": "string",
  6242. "enum": [
  6243. "SEPA standing order"
  6244. ],
  6245. "description": "Payment type, must be set to `SEPA standing order` to be recognized as a standing order instead of a regular payment."
  6246. },
  6247. "interval": {
  6248. "type": "string",
  6249. "enum": [
  6250. "weekly",
  6251. "monthly",
  6252. "two monthly",
  6253. "four monthly",
  6254. "quarterly",
  6255. "half yearly",
  6256. "yearly"
  6257. ],
  6258. "description": "Interval in which the standing order will be executed"
  6259. },
  6260. "execution_day": {
  6261. "type": "number",
  6262. "description": "Identifier of the day when the standing order will be regularly executed. Permitted values depend on the `interval`."
  6263. },
  6264. "first_execution_date": {
  6265. "type": "string",
  6266. "description": "The first date when the standing order will be executed"
  6267. },
  6268. "last_execution_date": {
  6269. "type": "string",
  6270. "description": "The last date when the standing order will be executed. The day of month must be the same as that of the first execution."
  6271. },
  6272. "standing_order_id": {
  6273. "type": "string",
  6274. "description": "Internal figo Connect standing order ID"
  6275. },
  6276. "account_id": {
  6277. "type": "string",
  6278. "description": "Internal figo Connect ID of the account"
  6279. },
  6280. "creation_timestamp": {
  6281. "type": "string",
  6282. "description": "Internal creation timestamp on the figo Connect server."
  6283. },
  6284. "modification_timestamp": {
  6285. "type": "string",
  6286. "description": "Internal modification timestamp on the figo Connect server"
  6287. }
  6288. },
  6289. "required": [
  6290. "name",
  6291. "iban",
  6292. "amount",
  6293. "purpose",
  6294. "type",
  6295. "type",
  6296. "interval",
  6297. "execution_day",
  6298. "first_execution_date"
  6299. ]
  6300. },
  6301. "description": "List of active standing orders"
  6302. }
  6303. }
  6304. }
  6305. }
  6306. },
  6307. "summary": "Read Standing Orders by Account",
  6308. "description": "",
  6309. "tags": [
  6310. "Standing Orders"
  6311. ],
  6312. "parameters": [
  6313. {
  6314. "name": "account_id",
  6315. "in": "path",
  6316. "description": "Internal *figo Connect* ID of the account",
  6317. "required": true,
  6318. "type": "string"
  6319. },
  6320. {
  6321. "name": "cents",
  6322. "in": "query",
  6323. "description": "If `true`, the amount of the standing order will be shown in cents.",
  6324. "required": false,
  6325. "type": "boolean",
  6326. "default": "false"
  6327. }
  6328. ],
  6329. "produces": [
  6330. "application/json"
  6331. ]
  6332. }
  6333. },
  6334. "/rest/account/{account_id}/standing_orders/{standing_order_id}": {
  6335. "get": {
  6336. "responses": {
  6337. "200": {
  6338. "description": "OK",
  6339. "headers": {},
  6340. "examples": {
  6341. "application/json": {
  6342. "name": "John Doe",
  6343. "iban": "DE67900900424711951501",
  6344. "amount": 22.8,
  6345. "purpose": "Thanks for all the fish.",
  6346. "currency": "EUR",
  6347. "text_key": 51,
  6348. "text_key_extension": 0,
  6349. "cents": false,
  6350. "type": "SEPA standing order",
  6351. "interval": "quarterly",
  6352. "execution_day": 15,
  6353. "first_execution_date": "2015-05-15T00:00:00.000Z",
  6354. "last_execution_date": "2017-01-15T00:00:00.000Z",
  6355. "standing_order_id": "S01.1",
  6356. "account_id": "A1.1",
  6357. "creation_timestamp": "2015-05-01T00:00:00.000Z",
  6358. "modification_timestamp": "2016-04-13T16:03:45.000Z"
  6359. }
  6360. },
  6361. "schema": {
  6362. "type": "object",
  6363. "properties": {
  6364. "name": {
  6365. "type": "string",
  6366. "description": "Name of creditor or debtor"
  6367. },
  6368. "account_number": {
  6369. "type": "string",
  6370. "description": "**DEPRECATED**"
  6371. },
  6372. "bank_code": {
  6373. "type": "string",
  6374. "description": "**DEPRECATED**"
  6375. },
  6376. "iban": {
  6377. "type": "string",
  6378. "description": "IBAN of creditor or debtor."
  6379. },
  6380. "amount": {
  6381. "type": "number",
  6382. "description": "Order amount"
  6383. },
  6384. "purpose": {
  6385. "type": "string",
  6386. "description": "Purpose text"
  6387. },
  6388. "currency": {
  6389. "type": "string",
  6390. "description": "Three-character currency code (ISO 4217:2015)"
  6391. },
  6392. "text_key": {
  6393. "type": "number",
  6394. "description": "DTA text key"
  6395. },
  6396. "text_key_extension": {
  6397. "type": "number",
  6398. "description": "DTA text key extension"
  6399. },
  6400. "cents": {
  6401. "type": "boolean",
  6402. "description": "If `true`, the amount is submitted as cents."
  6403. },
  6404. "type": {
  6405. "type": "string",
  6406. "enum": [
  6407. "SEPA standing order"
  6408. ],
  6409. "description": "Payment type, must be set to `SEPA standing order` to be recognized as a standing order instead of a regular payment."
  6410. },
  6411. "interval": {
  6412. "type": "string",
  6413. "enum": [
  6414. "weekly",
  6415. "monthly",
  6416. "two monthly",
  6417. "four monthly",
  6418. "quarterly",
  6419. "half yearly",
  6420. "yearly"
  6421. ],
  6422. "description": "Interval in which the standing order will be executed"
  6423. },
  6424. "execution_day": {
  6425. "type": "number",
  6426. "description": "Identifier of the day when the standing order will be regularly executed. Permitted values depend on the `interval`."
  6427. },
  6428. "first_execution_date": {
  6429. "type": "string",
  6430. "description": "The first date when the standing order will be executed"
  6431. },
  6432. "last_execution_date": {
  6433. "type": "string",
  6434. "description": "The last date when the standing order will be executed. The day of month must be the same as that of the first execution."
  6435. },
  6436. "standing_order_id": {
  6437. "type": "string",
  6438. "description": "Internal figo Connect standing order ID"
  6439. },
  6440. "account_id": {
  6441. "type": "string",
  6442. "description": "Internal figo Connect ID of the account"
  6443. },
  6444. "creation_timestamp": {
  6445. "type": "string",
  6446. "description": "Internal creation timestamp on the figo Connect server."
  6447. },
  6448. "modification_timestamp": {
  6449. "type": "string",
  6450. "description": "Internal modification timestamp on the figo Connect server"
  6451. }
  6452. },
  6453. "required": [
  6454. "name",
  6455. "iban",
  6456. "amount",
  6457. "purpose",
  6458. "type",
  6459. "type",
  6460. "interval",
  6461. "execution_day",
  6462. "first_execution_date"
  6463. ]
  6464. }
  6465. }
  6466. },
  6467. "summary": "Read single Standing Order by Account",
  6468. "description": "",
  6469. "tags": [
  6470. "Standing Orders"
  6471. ],
  6472. "parameters": [
  6473. {
  6474. "name": "account_id",
  6475. "in": "path",
  6476. "description": "Internal *figo Connect* ID of the account",
  6477. "required": true,
  6478. "type": "string"
  6479. },
  6480. {
  6481. "name": "standing_order_id",
  6482. "in": "path",
  6483. "description": "ID of a specific standing order",
  6484. "required": false,
  6485. "type": "string"
  6486. },
  6487. {
  6488. "name": "cents",
  6489. "in": "query",
  6490. "description": "If `true`, monetary amounts will be shown in cents.",
  6491. "required": false,
  6492. "type": "boolean",
  6493. "default": "false"
  6494. }
  6495. ],
  6496. "produces": [
  6497. "application/json"
  6498. ]
  6499. }
  6500. },
  6501. "/rest/{account_id}/payments/{payment_id}/submit": {
  6502. "post": {
  6503. "responses": {
  6504. "200": {
  6505. "description": "OK",
  6506. "headers": {},
  6507. "examples": {
  6508. "application/json": {
  6509. "task_token": "YmB-BtvbWufLnbwgAVfP7XfLatwhrtu0sATfnZNR7LGP-aLXiZ7BKzLdZI--EqEPnwh_h6mCxToLEBhtA7LVd4uM4gTcZG8F6UJs47g6kWJ0"
  6510. }
  6511. },
  6512. "schema": {
  6513. "type": "object",
  6514. "properties": {
  6515. "task_token": {
  6516. "type": "string",
  6517. "description": "Token to monitor a task"
  6518. }
  6519. }
  6520. }
  6521. }
  6522. },
  6523. "summary": "Submit Standing Order",
  6524. "description": "",
  6525. "tags": [
  6526. "Standing Orders"
  6527. ],
  6528. "parameters": [
  6529. {
  6530. "name": "account_id",
  6531. "in": "path",
  6532. "description": "Internal *figo Connect* ID of the account",
  6533. "required": true,
  6534. "type": "string"
  6535. },
  6536. {
  6537. "name": "payment_id",
  6538. "in": "path",
  6539. "description": "ID of a specific standing order",
  6540. "required": true,
  6541. "type": "string"
  6542. },
  6543. {
  6544. "name": "body",
  6545. "in": "body",
  6546. "schema": {
  6547. "$schema": "http://json-schema.org/draft-04/schema#",
  6548. "type": "object",
  6549. "properties": {
  6550. "redirect_uri": {
  6551. "type": "string",
  6552. "description": "At the end of the submission process a response will be sent to this callback URL. The value defaults to the first redirect URI configured for the client. This field may also assume the value `close_window` for use in the figo web interface. It implies that after completing a TAN challenge, the window is closed instead of triggering a redirect."
  6553. },
  6554. "state": {
  6555. "type": "string",
  6556. "description": "The value can be any kind of string that will be forwarded in the callback response message. It serves two purposes: The value is used to maintain state between this request and the notification message, e.g. it might contain a user ID from your application. The value should also contain a random component, which your application checks to mitigate cross-site request forgery."
  6557. },
  6558. "tan_scheme_id": {
  6559. "type": "string",
  6560. "description": "TAN scheme ID of user-selected TAN scheme"
  6561. }
  6562. },
  6563. "required": [
  6564. "state",
  6565. "tan_scheme_id"
  6566. ]
  6567. }
  6568. }
  6569. ],
  6570. "produces": [
  6571. "application/json"
  6572. ]
  6573. }
  6574. },
  6575. "/rest/accounts/{account_id}/payments/{standing_order_id}": {
  6576. "delete": {
  6577. "responses": {
  6578. "200": {
  6579. "description": "OK",
  6580. "headers": {},
  6581. "examples": {
  6582. "application/json": {
  6583. "task_token": "YmB-BtvbWufLnbwgAVfP7XfLatwhrtu0sATfnZNR7LGP-aLXiZ7BKzLdZI--EqEPnwh_h6mCxToLEBhtA7LVd4uM4gTcZG8F6UJs47g6kWJ0"
  6584. }
  6585. },
  6586. "schema": {
  6587. "type": "object",
  6588. "properties": {
  6589. "task_token": {
  6590. "type": "string",
  6591. "description": "Token to monitor a task"
  6592. }
  6593. }
  6594. }
  6595. }
  6596. },
  6597. "summary": "Delete Standing Order",
  6598. "description": "",
  6599. "tags": [
  6600. "Standing Orders"
  6601. ],
  6602. "parameters": [
  6603. {
  6604. "name": "standing_order_id",
  6605. "in": "path",
  6606. "description": "ID of a specific standing order",
  6607. "required": true,
  6608. "type": "string"
  6609. },
  6610. {
  6611. "name": "submit",
  6612. "in": "query",
  6613. "description": "If `true`, the standing order will be deleted from the *figo Connect* servers and the bank server. It this parameter is set to `false`, the standing order will be deleted from *figo Connect* backend only.",
  6614. "required": false,
  6615. "type": "boolean",
  6616. "default": "false"
  6617. },
  6618. {
  6619. "name": "continue",
  6620. "in": "query",
  6621. "description": "If `true`, the standing order will deleted even when it was changed since the last sync. If this parameter is set to `false`, the standing order will not be deleted in case it is not in sync between figo and the corresponding bank.",
  6622. "required": false,
  6623. "type": "boolean",
  6624. "default": "false"
  6625. },
  6626. {
  6627. "name": "tan_scheme_id",
  6628. "in": "query",
  6629. "description": "ID of the TAN scheme, used for deleting the standing order",
  6630. "required": false,
  6631. "type": "string"
  6632. }
  6633. ],
  6634. "produces": [
  6635. "application/json"
  6636. ]
  6637. }
  6638. },
  6639. "/rest/accounts/{account_id}/securites/{security_id}": {
  6640. "get": {
  6641. "responses": {
  6642. "200": {
  6643. "description": "OK",
  6644. "headers": {},
  6645. "examples": {
  6646. "application/json": {
  6647. "security_id": "S1.2",
  6648. "account_id": "A1.4",
  6649. "name": "Mustermann AG, Vorzugsaktien",
  6650. "market": "XASX",
  6651. "isin": "DE0123456790",
  6652. "wkn": "123457",
  6653. "currency": "EUR",
  6654. "quantity": 100,
  6655. "amount": 5460,
  6656. "amount_original_currency": 0,
  6657. "exchange_rate": 0,
  6658. "price": 54.6,
  6659. "price_currency": "EUR",
  6660. "purchase_price": 42.75,
  6661. "purchase_price_currency": "EUR",
  6662. "visited": "false",
  6663. "trade_timestamp": "1999-05-28T22:59:59.000Z",
  6664. "creation_timestamp": "2014-07-01T22:00:00.000Z",
  6665. "modification_timestamp": "2016-08-10T04:57:06.000Z"
  6666. }
  6667. },
  6668. "schema": {
  6669. "type": "object",
  6670. "properties": {
  6671. "security_id": {
  6672. "type": "string",
  6673. "description": "Internal figo Connect security ID"
  6674. },
  6675. "account_id": {
  6676. "type": "string",
  6677. "description": "Internal figo Connect account ID the security is held on"
  6678. },
  6679. "name": {
  6680. "type": "string",
  6681. "description": "Name of the security"
  6682. },
  6683. "market": {
  6684. "type": "string",
  6685. "description": "Market the security is traded on"
  6686. },
  6687. "isin": {
  6688. "type": "string",
  6689. "description": "String International Securities Identification Number"
  6690. },
  6691. "wkn": {
  6692. "type": "string",
  6693. "description": "Wertpapierkennnummer (WKN), if available"
  6694. },
  6695. "currency": {
  6696. "type": "string",
  6697. "description": "Account currency, three-character code (ISO 4217:2015)"
  6698. },
  6699. "quantity": {
  6700. "type": "number",
  6701. "description": "Quantity in stock"
  6702. },
  6703. "amount": {
  6704. "type": "number",
  6705. "description": "Monetary value in account currency"
  6706. },
  6707. "amount_original_currency": {
  6708. "type": "number",
  6709. "description": "Monetary value in trading currency"
  6710. },
  6711. "exchange_rate": {
  6712. "type": "number",
  6713. "description": "Exchange rate between trading and account currency"
  6714. },
  6715. "price": {
  6716. "type": "number",
  6717. "description": "Trading price"
  6718. },
  6719. "price_currency": {
  6720. "type": "string",
  6721. "description": "Currency of trading price"
  6722. },
  6723. "purchase_price": {
  6724. "type": "number",
  6725. "description": "Purchase price"
  6726. },
  6727. "purchase_price_currency": {
  6728. "type": "string",
  6729. "description": "Currency of purchase price"
  6730. },
  6731. "visited": {
  6732. "type": "string",
  6733. "description": "**DEPRECATED**"
  6734. },
  6735. "trade_timestamp": {
  6736. "type": "string",
  6737. "description": "Trading timestamp"
  6738. },
  6739. "creation_timestamp": {
  6740. "type": "string",
  6741. "description": "Internal creation timestamp on the figo Connect server"
  6742. },
  6743. "modification_timestamp": {
  6744. "type": "string",
  6745. "description": "Internal modification timestamp on the figo Connect server"
  6746. }
  6747. }
  6748. }
  6749. }
  6750. },
  6751. "summary": "Get single Security",
  6752. "description": "",
  6753. "tags": [
  6754. "Securities"
  6755. ],
  6756. "parameters": [
  6757. {
  6758. "name": "account_id",
  6759. "in": "path",
  6760. "description": "ID of the account for which to retrieve securities",
  6761. "required": true,
  6762. "type": "string"
  6763. },
  6764. {
  6765. "name": "security_id",
  6766. "in": "path",
  6767. "description": "ID of a specific security",
  6768. "required": true,
  6769. "type": "string"
  6770. },
  6771. {
  6772. "name": "cents",
  6773. "in": "query",
  6774. "description": "If `true`, monetary amounts will be shown in cents.",
  6775. "required": false,
  6776. "type": "boolean",
  6777. "default": "false"
  6778. }
  6779. ],
  6780. "produces": [
  6781. "application/json"
  6782. ]
  6783. }
  6784. },
  6785. "/rest/securities": {
  6786. "get": {
  6787. "responses": {
  6788. "200": {
  6789. "description": "OK",
  6790. "headers": {},
  6791. "examples": {
  6792. "application/json": {
  6793. "deleted": [],
  6794. "status": {
  6795. "code": 1,
  6796. "sync_timestamp": "2017-02-16T18:27:25.000Z",
  6797. "success_timestamp": "2017-02-16T18:27:25.000Z"
  6798. },
  6799. "securities": [
  6800. {
  6801. "security_id": "S1.2",
  6802. "account_id": "A1.4",
  6803. "name": "Mustermann AG, Vorzugsaktien",
  6804. "market": "XASX",
  6805. "isin": "DE0123456790",
  6806. "wkn": "123457",
  6807. "currency": "EUR",
  6808. "quantity": 100,
  6809. "amount": 5460,
  6810. "amount_original_currency": 0,
  6811. "exchange_rate": 0,
  6812. "price": 54.6,
  6813. "price_currency": "EUR",
  6814. "purchase_price": 42.75,
  6815. "purchase_price_currency": "EUR",
  6816. "visited": "false",
  6817. "trade_timestamp": "1999-05-28T22:59:59.000Z",
  6818. "creation_timestamp": "2014-07-01T22:00:00.000Z",
  6819. "modification_timestamp": "2016-08-10T04:57:06.000Z"
  6820. }
  6821. ]
  6822. }
  6823. },
  6824. "schema": {
  6825. "type": "object",
  6826. "properties": {
  6827. "deleted": {
  6828. "type": "array",
  6829. "items": {
  6830. "type": "string"
  6831. },
  6832. "description": "List of deleted securities IDs"
  6833. },
  6834. "status": {
  6835. "type": "object",
  6836. "properties": {
  6837. "code": {
  6838. "type": "number",
  6839. "description": "**DEPRECATED**"
  6840. },
  6841. "sync_timestamp": {
  6842. "type": "string",
  6843. "description": "Timestamp of last synchronization. For multiple accounts, the oldest timestamp is displayed."
  6844. },
  6845. "success_timestamp": {
  6846. "type": "string",
  6847. "description": "Timestamp of last successful synchronization. For multiple accounts, the oldest timestamp is displayed."
  6848. },
  6849. "message": {
  6850. "type": "string",
  6851. "description": "Human-readable error message"
  6852. }
  6853. },
  6854. "description": "Synchronization status"
  6855. },
  6856. "securities": {
  6857. "type": "array",
  6858. "items": {
  6859. "type": "object",
  6860. "properties": {
  6861. "security_id": {
  6862. "type": "string",
  6863. "description": "Internal figo Connect security ID"
  6864. },
  6865. "account_id": {
  6866. "type": "string",
  6867. "description": "Internal figo Connect account ID the security is held on"
  6868. },
  6869. "name": {
  6870. "type": "string",
  6871. "description": "Name of the security"
  6872. },
  6873. "market": {
  6874. "type": "string",
  6875. "description": "Market the security is traded on"
  6876. },
  6877. "isin": {
  6878. "type": "string",
  6879. "description": "String International Securities Identification Number"
  6880. },
  6881. "wkn": {
  6882. "type": "string",
  6883. "description": "Wertpapierkennnummer (WKN), if available"
  6884. },
  6885. "currency": {
  6886. "type": "string",
  6887. "description": "Account currency, three-character code (ISO 4217:2015)"
  6888. },
  6889. "quantity": {
  6890. "type": "number",
  6891. "description": "Quantity in stock"
  6892. },
  6893. "amount": {
  6894. "type": "number",
  6895. "description": "Monetary value in account currency"
  6896. },
  6897. "amount_original_currency": {
  6898. "type": "number",
  6899. "description": "Monetary value in trading currency"
  6900. },
  6901. "exchange_rate": {
  6902. "type": "number",
  6903. "description": "Exchange rate between trading and account currency"
  6904. },
  6905. "price": {
  6906. "type": "number",
  6907. "description": "Trading price"
  6908. },
  6909. "price_currency": {
  6910. "type": "string",
  6911. "description": "Currency of trading price"
  6912. },
  6913. "purchase_price": {
  6914. "type": "number",
  6915. "description": "Purchase price"
  6916. },
  6917. "purchase_price_currency": {
  6918. "type": "string",
  6919. "description": "Currency of purchase price"
  6920. },
  6921. "visited": {
  6922. "type": "string",
  6923. "description": "**DEPRECATED**"
  6924. },
  6925. "trade_timestamp": {
  6926. "type": "string",
  6927. "description": "Trading timestamp"
  6928. },
  6929. "creation_timestamp": {
  6930. "type": "string",
  6931. "description": "Internal creation timestamp on the figo Connect server"
  6932. },
  6933. "modification_timestamp": {
  6934. "type": "string",
  6935. "description": "Internal modification timestamp on the figo Connect server"
  6936. }
  6937. }
  6938. },
  6939. "description": "List of securities for this user"
  6940. }
  6941. }
  6942. }
  6943. }
  6944. },
  6945. "summary": "Get Securities",
  6946. "description": "",
  6947. "tags": [
  6948. "Securities"
  6949. ],
  6950. "parameters": [
  6951. {
  6952. "name": "cents",
  6953. "in": "query",
  6954. "description": "If `true`, monetary amounts will be shown in cents.",
  6955. "required": false,
  6956. "type": "boolean",
  6957. "default": "false"
  6958. },
  6959. {
  6960. "name": "since",
  6961. "in": "query",
  6962. "description": "Return only securities after this ISO date, based on `since_type`.",
  6963. "required": false,
  6964. "type": "string"
  6965. },
  6966. {
  6967. "name": "since_type",
  6968. "in": "query",
  6969. "description": "This parameter defines how the parameter `since` will be interpreted.",
  6970. "required": false,
  6971. "type": "string",
  6972. "default": "created",
  6973. "enum": [
  6974. "traded",
  6975. "created",
  6976. "modified"
  6977. ]
  6978. },
  6979. {
  6980. "name": "offset",
  6981. "in": "query",
  6982. "description": "Offset into the implicit complete list of securities used as starting point for the returned list of securities. In combination with the `count` parameter this can be used to paginate the result list.",
  6983. "required": false,
  6984. "type": "number"
  6985. },
  6986. {
  6987. "name": "count",
  6988. "in": "query",
  6989. "description": "Limit the number of returned securities. In combination with the `offset` parameter this can be used to paginate the result list.",
  6990. "required": false,
  6991. "type": "number",
  6992. "default": 1000
  6993. },
  6994. {
  6995. "name": "accounts",
  6996. "in": "query",
  6997. "description": "Filter the securities to be only from these account IDs.",
  6998. "required": false,
  6999. "type": "string"
  7000. }
  7001. ],
  7002. "produces": [
  7003. "application/json"
  7004. ]
  7005. }
  7006. },
  7007. "/rest/accounts/{account_id}/securities": {
  7008. "get": {
  7009. "responses": {
  7010. "200": {
  7011. "description": "OK",
  7012. "headers": {},
  7013. "examples": {
  7014. "application/json": {
  7015. "deleted": [],
  7016. "status": {
  7017. "code": 1,
  7018. "sync_timestamp": "2017-02-16T18:27:25.000Z",
  7019. "success_timestamp": "2017-02-16T18:27:25.000Z"
  7020. },
  7021. "securities": [
  7022. {
  7023. "security_id": "S1.2",
  7024. "account_id": "A1.4",
  7025. "name": "Mustermann AG, Vorzugsaktien",
  7026. "market": "XASX",
  7027. "isin": "DE0123456790",
  7028. "wkn": "123457",
  7029. "currency": "EUR",
  7030. "quantity": 100,
  7031. "amount": 5460,
  7032. "amount_original_currency": 0,
  7033. "exchange_rate": 0,
  7034. "price": 54.6,
  7035. "price_currency": "EUR",
  7036. "purchase_price": 42.75,
  7037. "purchase_price_currency": "EUR",
  7038. "visited": "false",
  7039. "trade_timestamp": "1999-05-28T22:59:59.000Z",
  7040. "creation_timestamp": "2014-07-01T22:00:00.000Z",
  7041. "modification_timestamp": "2016-08-10T04:57:06.000Z"
  7042. }
  7043. ]
  7044. }
  7045. },
  7046. "schema": {
  7047. "type": "object",
  7048. "properties": {
  7049. "deleted": {
  7050. "type": "array",
  7051. "items": {
  7052. "type": "string"
  7053. },
  7054. "description": "List of deleted securities IDs"
  7055. },
  7056. "status": {
  7057. "type": "object",
  7058. "properties": {
  7059. "code": {
  7060. "type": "number",
  7061. "description": "**DEPRECATED**"
  7062. },
  7063. "sync_timestamp": {
  7064. "type": "string",
  7065. "description": "Timestamp of last synchronization. For multiple accounts, the oldest timestamp is displayed."
  7066. },
  7067. "success_timestamp": {
  7068. "type": "string",
  7069. "description": "Timestamp of last successful synchronization. For multiple accounts, the oldest timestamp is displayed."
  7070. },
  7071. "message": {
  7072. "type": "string",
  7073. "description": "Human-readable error message"
  7074. }
  7075. },
  7076. "description": "Synchronization status"
  7077. },
  7078. "securities": {
  7079. "type": "array",
  7080. "items": {
  7081. "type": "object",
  7082. "properties": {
  7083. "security_id": {
  7084. "type": "string",
  7085. "description": "Internal figo Connect security ID"
  7086. },
  7087. "account_id": {
  7088. "type": "string",
  7089. "description": "Internal figo Connect account ID the security is held on"
  7090. },
  7091. "name": {
  7092. "type": "string",
  7093. "description": "Name of the security"
  7094. },
  7095. "market": {
  7096. "type": "string",
  7097. "description": "Market the security is traded on"
  7098. },
  7099. "isin": {
  7100. "type": "string",
  7101. "description": "String International Securities Identification Number"
  7102. },
  7103. "wkn": {
  7104. "type": "string",
  7105. "description": "Wertpapierkennnummer (WKN), if available"
  7106. },
  7107. "currency": {
  7108. "type": "string",
  7109. "description": "Account currency, three-character code (ISO 4217:2015)"
  7110. },
  7111. "quantity": {
  7112. "type": "number",
  7113. "description": "Quantity in stock"
  7114. },
  7115. "amount": {
  7116. "type": "number",
  7117. "description": "Monetary value in account currency"
  7118. },
  7119. "amount_original_currency": {
  7120. "type": "number",
  7121. "description": "Monetary value in trading currency"
  7122. },
  7123. "exchange_rate": {
  7124. "type": "number",
  7125. "description": "Exchange rate between trading and account currency"
  7126. },
  7127. "price": {
  7128. "type": "number",
  7129. "description": "Trading price"
  7130. },
  7131. "price_currency": {
  7132. "type": "string",
  7133. "description": "Currency of trading price"
  7134. },
  7135. "purchase_price": {
  7136. "type": "number",
  7137. "description": "Purchase price"
  7138. },
  7139. "purchase_price_currency": {
  7140. "type": "string",
  7141. "description": "Currency of purchase price"
  7142. },
  7143. "visited": {
  7144. "type": "string",
  7145. "description": "**DEPRECATED**"
  7146. },
  7147. "trade_timestamp": {
  7148. "type": "string",
  7149. "description": "Trading timestamp"
  7150. },
  7151. "creation_timestamp": {
  7152. "type": "string",
  7153. "description": "Internal creation timestamp on the figo Connect server"
  7154. },
  7155. "modification_timestamp": {
  7156. "type": "string",
  7157. "description": "Internal modification timestamp on the figo Connect server"
  7158. }
  7159. }
  7160. },
  7161. "description": "List of securities for this user"
  7162. }
  7163. }
  7164. }
  7165. }
  7166. },
  7167. "summary": "Get Securities by Account",
  7168. "description": "",
  7169. "tags": [
  7170. "Securities"
  7171. ],
  7172. "parameters": [
  7173. {
  7174. "name": "account_id",
  7175. "in": "path",
  7176. "description": "ID of the account for which to retrieve securities",
  7177. "required": true,
  7178. "type": "string"
  7179. },
  7180. {
  7181. "name": "cents",
  7182. "in": "query",
  7183. "description": "If `true`, monetary amounts will be shown in cents.",
  7184. "required": false,
  7185. "type": "boolean",
  7186. "default": "false"
  7187. },
  7188. {
  7189. "name": "since",
  7190. "in": "query",
  7191. "description": "Return only securities after this ISO date, based on `since_type`.",
  7192. "required": false,
  7193. "type": "string"
  7194. },
  7195. {
  7196. "name": "since_type",
  7197. "in": "query",
  7198. "description": "This parameter defines how the parameter `since` will be interpreted.",
  7199. "required": false,
  7200. "type": "string",
  7201. "default": "created",
  7202. "enum": [
  7203. "traded",
  7204. "created",
  7205. "modified"
  7206. ]
  7207. },
  7208. {
  7209. "name": "offset",
  7210. "in": "query",
  7211. "description": "Offset into the implicit complete list of securities used as starting point for the returned list of securities. In combination with the `count` parameter this can be used to paginate the result list.",
  7212. "required": false,
  7213. "type": "number"
  7214. },
  7215. {
  7216. "name": "count",
  7217. "in": "query",
  7218. "description": "Limit the number of returned securities. In combination with the `offset` parameter this can be used to paginate the result list.",
  7219. "required": false,
  7220. "type": "number",
  7221. "default": 1000
  7222. }
  7223. ],
  7224. "produces": [
  7225. "application/json"
  7226. ]
  7227. }
  7228. },
  7229. "/rest/notifications/": {
  7230. "post": {
  7231. "responses": {
  7232. "200": {
  7233. "description": "OK",
  7234. "headers": {},
  7235. "examples": {
  7236. "application/json": {
  7237. "observe_key": "/rest/transactions",
  7238. "notify_uri": "http://figo.me/test",
  7239. "state": "qwe",
  7240. "notification_id": "N1.8324"
  7241. }
  7242. },
  7243. "schema": {
  7244. "type": "object",
  7245. "properties": {
  7246. "observe_key": {
  7247. "type": "string",
  7248. "description": "Notification key"
  7249. },
  7250. "notify_uri": {
  7251. "type": "string",
  7252. "description": "Notification messages will be sent to this URL. The URL schemes `https://` and `http://` are used for webhooks."
  7253. },
  7254. "state": {
  7255. "type": "string",
  7256. "description": "The value can be any kind of string that will be forwarded in the notification message. It serves two purposes: The value is used to maintain state between this request and the notification message, e.g. it might contain a user ID from your application. The value should also contain a random component, which your application checks to mitigate cross-site request forgery."
  7257. },
  7258. "notification_id": {
  7259. "type": "string",
  7260. "description": "Notification ID"
  7261. }
  7262. }
  7263. }
  7264. }
  7265. },
  7266. "summary": "Create Notification",
  7267. "description": "",
  7268. "tags": [
  7269. "Notifications"
  7270. ],
  7271. "parameters": [
  7272. {
  7273. "name": "body",
  7274. "in": "body",
  7275. "schema": {
  7276. "$schema": "http://json-schema.org/draft-04/schema#",
  7277. "type": "object",
  7278. "properties": {
  7279. "observe_key": {
  7280. "type": "string",
  7281. "description": "Notification key"
  7282. },
  7283. "notify_uri": {
  7284. "type": "string",
  7285. "description": "Notification messages will be sent to this URL. The URL schemes `https://` and `http://` are used for webhooks."
  7286. },
  7287. "state": {
  7288. "type": "string",
  7289. "description": "The value can be any kind of string that will be forwarded in the notification message. It serves two purposes: The value is used to maintain state between this request and the notification message, e.g. it might contain a user ID from your application. The value should also contain a random component, which your application checks to mitigate cross-site request forgery."
  7290. }
  7291. }
  7292. }
  7293. }
  7294. ],
  7295. "produces": [
  7296. "application/json"
  7297. ]
  7298. }
  7299. },
  7300. "/rest/notifications/{notification_id}": {
  7301. "get": {
  7302. "responses": {
  7303. "200": {
  7304. "description": "OK",
  7305. "headers": {},
  7306. "examples": {
  7307. "application/json": {
  7308. "notifications": [
  7309. {
  7310. "observe_key": "/rest/transactions",
  7311. "notify_uri": "http://figo.me/test",
  7312. "state": "qwe",
  7313. "notification_id": "N1.8324"
  7314. }
  7315. ]
  7316. }
  7317. },
  7318. "schema": {
  7319. "type": "object",
  7320. "properties": {
  7321. "notifications": {
  7322. "type": "array",
  7323. "items": {
  7324. "type": "object",
  7325. "properties": {
  7326. "observe_key": {
  7327. "type": "string",
  7328. "description": "Notification key"
  7329. },
  7330. "notify_uri": {
  7331. "type": "string",
  7332. "description": "Notification messages will be sent to this URL. The URL schemes `https://` and `http://` are used for webhooks."
  7333. },
  7334. "state": {
  7335. "type": "string",
  7336. "description": "The value can be any kind of string that will be forwarded in the notification message. It serves two purposes: The value is used to maintain state between this request and the notification message, e.g. it might contain a user ID from your application. The value should also contain a random component, which your application checks to mitigate cross-site request forgery."
  7337. },
  7338. "notification_id": {
  7339. "type": "string",
  7340. "description": "Notification ID"
  7341. }
  7342. }
  7343. },
  7344. "description": "List of notifications"
  7345. }
  7346. }
  7347. }
  7348. }
  7349. },
  7350. "summary": "Read Notifications",
  7351. "description": "",
  7352. "tags": [
  7353. "Notifications"
  7354. ],
  7355. "parameters": [
  7356. {
  7357. "name": "notification_id",
  7358. "in": "path",
  7359. "description": "ID of a specific notification",
  7360. "required": true,
  7361. "type": "string"
  7362. }
  7363. ],
  7364. "produces": [
  7365. "application/json"
  7366. ]
  7367. },
  7368. "put": {
  7369. "responses": {
  7370. "200": {
  7371. "description": "OK",
  7372. "headers": {},
  7373. "examples": {
  7374. "application/json": {
  7375. "observe_key": "/rest/transactions",
  7376. "notify_uri": "http://figo.me/test",
  7377. "state": "qwe",
  7378. "notification_id": "N1.8324"
  7379. }
  7380. },
  7381. "schema": {
  7382. "type": "object",
  7383. "properties": {
  7384. "observe_key": {
  7385. "type": "string",
  7386. "description": "Notification key"
  7387. },
  7388. "notify_uri": {
  7389. "type": "string",
  7390. "description": "Notification messages will be sent to this URL. The URL schemes `https://` and `http://` are used for webhooks."
  7391. },
  7392. "state": {
  7393. "type": "string",
  7394. "description": "The value can be any kind of string that will be forwarded in the notification message. It serves two purposes: The value is used to maintain state between this request and the notification message, e.g. it might contain a user ID from your application. The value should also contain a random component, which your application checks to mitigate cross-site request forgery."
  7395. },
  7396. "notification_id": {
  7397. "type": "string",
  7398. "description": "Notification ID"
  7399. }
  7400. }
  7401. }
  7402. }
  7403. },
  7404. "summary": "Modify Notification",
  7405. "description": "",
  7406. "tags": [
  7407. "Notifications"
  7408. ],
  7409. "parameters": [
  7410. {
  7411. "name": "notification_id",
  7412. "in": "path",
  7413. "description": "ID of a specific notification",
  7414. "required": true,
  7415. "type": "string"
  7416. },
  7417. {
  7418. "name": "body",
  7419. "in": "body",
  7420. "schema": {
  7421. "$schema": "http://json-schema.org/draft-04/schema#",
  7422. "type": "object",
  7423. "properties": {
  7424. "observe_key": {
  7425. "type": "string",
  7426. "description": "Notification key"
  7427. },
  7428. "notify_uri": {
  7429. "type": "string",
  7430. "description": "Notification messages will be sent to this URL. The URL schemes `https://` and `http://` are used for webhooks."
  7431. },
  7432. "state": {
  7433. "type": "string",
  7434. "description": "The value can be any kind of string that will be forwarded in the notification message. It serves two purposes: The value is used to maintain state between this request and the notification message, e.g. it might contain a user ID from your application. The value should also contain a random component, which your application checks to mitigate cross-site request forgery."
  7435. }
  7436. }
  7437. }
  7438. }
  7439. ],
  7440. "produces": [
  7441. "application/json"
  7442. ]
  7443. },
  7444. "delete": {
  7445. "responses": {
  7446. "204": {
  7447. "description": "No Content",
  7448. "headers": {},
  7449. "examples": {}
  7450. }
  7451. },
  7452. "summary": "Delete Notification",
  7453. "description": "",
  7454. "tags": [
  7455. "Notifications"
  7456. ],
  7457. "parameters": [
  7458. {
  7459. "name": "notification_id",
  7460. "in": "path",
  7461. "description": "ID of a specific notification",
  7462. "required": true,
  7463. "type": "string"
  7464. }
  7465. ]
  7466. }
  7467. },
  7468. "/task/progress": {
  7469. "post": {
  7470. "responses": {
  7471. "200": {
  7472. "description": "OK",
  7473. "headers": {},
  7474. "examples": {
  7475. "application/json": {
  7476. "account_id": "A1.1",
  7477. "message": "Connecting to server...",
  7478. "is_waiting_for_pin": false,
  7479. "is_waiting_for_response": false,
  7480. "is_erroneous": false,
  7481. "is_ended": false,
  7482. "standing_order_id": "SO1.1",
  7483. "error": {
  7484. "code": 10000,
  7485. "name": "Zugangdaten sind inkorrekt",
  7486. "message": "Bitte geben Sie ihre korrekten Online-Banking Zugangsdaten ein.",
  7487. "description": "Die Anmeldung zum Online-Zugang Ihrer Bank ist fehlgeschlagen. Bitte überprüfen Sie Ihre Benutzerkennung.",
  7488. "group": "user"
  7489. }
  7490. }
  7491. },
  7492. "schema": {
  7493. "type": "object",
  7494. "properties": {
  7495. "account_id": {
  7496. "type": "string",
  7497. "description": "Internal figo Connect account id"
  7498. },
  7499. "message": {
  7500. "type": "string",
  7501. "description": "Status message or error message for currently processed account"
  7502. },
  7503. "is_waiting_for_pin": {
  7504. "type": "boolean",
  7505. "description": "The figo Connect server waits for a PIN."
  7506. },
  7507. "is_waiting_for_response": {
  7508. "type": "boolean",
  7509. "description": "The figo Connect server waits for a response to the parameter `challenge`."
  7510. },
  7511. "is_erroneous": {
  7512. "type": "boolean",
  7513. "description": "An error occurred."
  7514. },
  7515. "is_ended": {
  7516. "type": "boolean",
  7517. "description": "Communication with the bank server has been completed."
  7518. },
  7519. "challenge": {
  7520. "type": "object",
  7521. "properties": {},
  7522. "description": "This object provides all information if a TAN is needed for further processing"
  7523. },
  7524. "standing_order_id": {
  7525. "type": "string",
  7526. "description": "This field is only set to the respective ID when deleting a standing order."
  7527. },
  7528. "error": {
  7529. "type": "object",
  7530. "properties": {
  7531. "code": {
  7532. "type": "number",
  7533. "description": "[Error code](#error-handling)"
  7534. },
  7535. "name": {
  7536. "type": "string",
  7537. "description": "Error name"
  7538. },
  7539. "message": {
  7540. "type": "string",
  7541. "description": "Error response of the bank"
  7542. },
  7543. "description": {
  7544. "type": "string",
  7545. "description": "Error description"
  7546. },
  7547. "group": {
  7548. "type": "string",
  7549. "description": "[Error group](#error-handling)"
  7550. }
  7551. },
  7552. "description": "Task processing error object"
  7553. }
  7554. }
  7555. }
  7556. }
  7557. },
  7558. "summary": "Interact with tasks",
  7559. "description": "While the *figo Connect* server communicates with a bank server, your application can monitor its progress by periodically polling this method. This method will start a task on the first call if it wasn't started already.",
  7560. "tags": [
  7561. "Task processing"
  7562. ],
  7563. "parameters": [
  7564. {
  7565. "name": "id",
  7566. "in": "query",
  7567. "description": "Task token",
  7568. "required": true,
  7569. "type": "string"
  7570. },
  7571. {
  7572. "name": "body",
  7573. "in": "body",
  7574. "schema": {
  7575. "anyOf": [
  7576. {
  7577. "$schema": "http://json-schema.org/draft-04/schema#",
  7578. "type": "object",
  7579. "properties": {
  7580. "continue": {
  7581. "type": "boolean",
  7582. "description": "This flag signals to continue after an error condition or to skip a PIN or challenge-response entry",
  7583. "default": false
  7584. }
  7585. }
  7586. },
  7587. {
  7588. "$schema": "http://json-schema.org/draft-04/schema#",
  7589. "type": "object",
  7590. "properties": {
  7591. "continue": {
  7592. "type": "boolean",
  7593. "description": "This flag signals to continue after an error condition or to skip a PIN or challenge-response entry",
  7594. "default": false
  7595. },
  7596. "pin": {
  7597. "type": "string",
  7598. "description": "PIN/Password to the user's online banking account"
  7599. },
  7600. "save_pin": {
  7601. "type": "boolean",
  7602. "description": "This flag indicates whether the given PIN should be saved on the figo Connect server",
  7603. "default": false
  7604. }
  7605. }
  7606. },
  7607. {
  7608. "$schema": "http://json-schema.org/draft-04/schema#",
  7609. "type": "object",
  7610. "properties": {
  7611. "continue": {
  7612. "type": "boolean",
  7613. "description": "This flag signals to continue after an error condition or to skip a PIN or challenge-response entry",
  7614. "default": false
  7615. },
  7616. "pin": {
  7617. "type": "object",
  7618. "properties": {
  7619. "type": {
  7620. "type": "string",
  7621. "enum": [
  7622. "encrypted"
  7623. ]
  7624. },
  7625. "value": {
  7626. "type": "string",
  7627. "description": "Encrypted PIN"
  7628. }
  7629. }
  7630. }
  7631. }
  7632. },
  7633. {
  7634. "$schema": "http://json-schema.org/draft-04/schema#",
  7635. "type": "object",
  7636. "properties": {
  7637. "continue": {
  7638. "type": "boolean",
  7639. "description": "This flag signals to continue after an error condition or to skip a PIN or challenge-response entry",
  7640. "default": false
  7641. },
  7642. "response": {
  7643. "type": "string",
  7644. "description": "Response to TAN challenge"
  7645. }
  7646. }
  7647. },
  7648. {
  7649. "$schema": "http://json-schema.org/draft-04/schema#",
  7650. "type": "object",
  7651. "properties": {
  7652. "continue": {
  7653. "type": "boolean",
  7654. "description": "This flag signals to continue after an error condition or to skip a PIN or challenge-response entry",
  7655. "default": false
  7656. },
  7657. "response": {
  7658. "type": "object",
  7659. "properties": {
  7660. "type": {
  7661. "type": "string",
  7662. "enum": [
  7663. "encrypted"
  7664. ]
  7665. },
  7666. "value": {
  7667. "type": "string",
  7668. "description": "Encrypted TAN"
  7669. }
  7670. }
  7671. }
  7672. }
  7673. }
  7674. ]
  7675. }
  7676. }
  7677. ],
  7678. "produces": [
  7679. "application/json"
  7680. ]
  7681. }
  7682. },
  7683. "/task/cancel": {
  7684. "post": {
  7685. "responses": {
  7686. "204": {
  7687. "description": "No Content",
  7688. "headers": {},
  7689. "examples": {}
  7690. }
  7691. },
  7692. "summary": "Cancel Task",
  7693. "description": "Depending on the task type, canceling it might not be possible. In addition if the task has ended in the mean time, it will still be canceled.",
  7694. "tags": [
  7695. "Task processing"
  7696. ],
  7697. "parameters": [
  7698. {
  7699. "name": "id",
  7700. "in": "query",
  7701. "description": "Task token",
  7702. "required": true,
  7703. "type": "string"
  7704. }
  7705. ]
  7706. }
  7707. },
  7708. "/task/start": {
  7709. "get": {
  7710. "responses": {
  7711. "200": {
  7712. "description": "OK",
  7713. "headers": {},
  7714. "examples": {}
  7715. },
  7716. "302": {
  7717. "description": "Found",
  7718. "headers": {},
  7719. "examples": {}
  7720. }
  7721. },
  7722. "summary": "Start Task",
  7723. "description": "**DEPRECATED** (Needed for browser usage only)\n\nStart communication with bank server. After your application obtained a task token, you can direct the user’s web browser to a popup window of *figo Connect*. The popup window will ask the user for their account PIN, perform two-factor authentication or ask for a TAN. It also displays status messages as the task proceeds.",
  7724. "tags": [
  7725. "Task processing"
  7726. ],
  7727. "parameters": [
  7728. {
  7729. "name": "id",
  7730. "in": "query",
  7731. "description": "Task token",
  7732. "required": true,
  7733. "type": "string"
  7734. }
  7735. ]
  7736. }
  7737. }
  7738. }
  7739. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement