The figo Connect API

Welcome to the figo Connect API. This API allows you to easily access your bank account including transaction history and submitting payments.

For a general introduction to figo and figo Connect please visit our main page.

Registering your application

Applications that would like to access the figo Connect have to register with us beforehand. If you would like to use figo Connect in your application, please email us. We would love to hear from you what you have in mind and will generate a client identifier and client secret for your application without any bureaucracy.

SDKs and Samples

This 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.

Language Download
Python https://github.com/figo-connect/python-figo
Ruby https://github.com/figo-connect/ruby-figo
Node.js https://github.com/figo-connect/node-figo
PHP https://github.com/figo-connect/php-figo
Java https://github.com/figo-connect/java-figo
.net https://github.com/figo-connect/net-figo

Please also have a look into the other repositories in our GitHub account for examples on how to use them and figo Connect in general.

Technical foundation

Base API Endpoint: https://api.figo.me

Figo 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.

As 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 SHA1 certificate fingerprints will be published here:

3A:62:54:4D:86:B4:34:38:EA:34:64:4E:95:10:A9:FF:37:27:69:C0

Data Representation

This 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 as fallback for the response representation.

Currently this API supports the following data reresentations:

MIME type Comments
application/json fully supported and tested as input and output
application/x-www-form-urlencoded supported as input. Mainly aimed at OAuth process

If you would prefer other data representations, please let us know.

Versioning

Whenever possible changes to figo API are made backwards-compatible, but if this is not the case the client should signal wich version he would like to receive by providing the HTTP header field Figo-Version. Currently the following values are defined:

Value Description
2014-01-01 General base version of the API

Error handling

In general this API returns the appropriate HTTP return codes in order to signal an error condition. In order to provide further details on the error encountered the payload of the response contains two fields: - error: a code-like string value specifying the class of error encountered - error_description: a human (but not user) readable string, describing the exact error This payload is encoded following the same rules as normal return data.

This API has to make exceptions to this principle wherever mandated by the OAuth RFCs, which take precedence.

Username & password policy

This API requires a certain minimum complexity for usernames and passwords. This is ensured by the server, but for a great user experience we recommend to pre-check that on the client.

Usernames have to be at least 3 characters long, contain exactly one @-character. In addition, they might not start or end with an @ character.

Currently there are no requirements for passwords, but this might change in the future.

Authentication

This API uses OAuth 2 for authentication purposes, but provides different levels of access depending on the kind of integration planned:

Depending on the use-case of figo inside your application, we will advise you on the most suitable implementation strategy. If you ether have the need to change your integration strategy or the scope assigned to your client, please email us.

Calling the figo Connect API

    curl -H "Authorization: Bearer ASHWLIkouP2O6_bgA2wWReRhletgWKHYjLqDaqb0LFfamim9RjexTo22ujRIP_cjLiRiSyQXyt2kM1eXU2XLFZQ0Hro15HikJQT_eNeT_9XQ" https://api.figo.me/rest/accounts

Independent of the level of access used by your application, this API uses two ways for the technical part of the authentication: representing a client or representing a user

Authenticating as Client

In this case no user is involved, but the client acts in a global context. This is mainly used for login and user management actions. In order to authenticate the client classical HTTP Basic authentication is used. The client should provide its client ID as username and its client secret as password.

Authenticating as User

In order to access any information belonging to a user, a client has to authenticate with a token linking itself to the user. This token is called an access token and contains information on the client, the user and the level of access the client has to the users data. In order to authenticate using such an access token the HTTP header Authorization is set to Bearer .

Such an access token is either returned, when

Authentication Errors

In case of an authentication error a HTTP code 401 response is returned containing further details on the kind if error in the WWW-Authenticate header.

Demo Access

This API provides a comprehensive demo access and user infrastructure, allowing you to prototype applications using the figo Connect or figo Connect native integration levels without registering an application. Two limitations apply to this kind of access:

Demo Client

Demo User

Scope

This API uses the following OAuth scopes for managing what your client can do at best. In case of using figo Connect, these can be further limited by the user connecting your application to his figo account. When registering your application we will advise you on the most suitable scope and if you encounter a need to change it, please email us.

The following scopes designed the level of access your application has, each one can be either read-only or read-write.

Scope Description
accounts Access to the list of accounts and their details
balance Access to the account balance and limits
transactions Access to transaction lists and their details
payments Access to the payments
user Access to the figo Account settings
clients Access to the figo Connect client management

In addition this API uses the following flags to signal single bit permissions.

Flag Description
submit_payments Allow submission of payments to bank server
offline Access figo Connect when the user is not present
create_user Allow creation of figo Accounts

API Calls

Obtain authorization code

https://api.figo.me/auth/code?response_type=code&client_id=CaESKmC8MAhNpDe5rvmWnSkRE_7pkkVIIgMwclgzGcQY&scope=accounts%3Dro+balance%3Dro+transactions%3Dro&state=xqD6gjWygsBlF0uB

The above command returns

GET /callback?code=OkA7jUIro6JNmOF7i5f7QmepCLLoIFug6621ADHLMjK6oimFYK1x5xy5rl0wVZNkheCv5nMkH3hZ0v24immWGaI5Gc0P0F9ue0sgnV7DqwvM&state=xqD6gjWygsBlF0uB

Before your application can request an access token, it must first obtain an authorization code. Your application initiates 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 his or her figo Account credentials. The user will see the permissions as specified in scope and a list of 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.

HTTP Request

GET /auth/code

Authentication

Request

Parameter Description
client_id The client identifier obtained during application registration
    redirect_uri
    optional
    The authorization code will be sent to this callback URL. It must match one of the URLs registered during application registration.
    • Default Value: The first redirect URI configured for the client
    response_type This parameter must be set to code
    • Valid values: code
    scope
    optional
    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.
    • Default Value: The scope configured for the client
    state Any kind of string that will be forwarded in the response message. 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

      Response

      Parameter Description
      code The authorization code for obtaining an access token. It can only be used once and will expire after a few minutes.
      state The state parameter from the request.

      Revoke token

      token=RTfI2WNyK78NozupDH9ai8GPRbjjdVsXPPtmobD2p_1epZUYmidZAOoT1TkFspMQOzNlCZpIrZREHrSdYeObea3Qda7hk2Q6PO5BEVF3GBh0
      

      When a user unsubscribes from your application, your application must also revoke its access to figo Connect. The supplied token can either be an access token or a refresh token. If the token is an access token and it has a corresponding refresh token, the refesh token will also be revoked.

      HTTP Request

      GET /auth/revoke

      Authentication

      Request

      Parameter Description
      token A refresh token or access token.

        Response

        A sucessfull response contains no content

        Exchange Authorization Code

        grant_type=authorization_code&code=OkA7jUIro6JNmOF7i5f7QmepCLLoIFug6621ADHLMjK6oimFYK1x5xy5rl0wVZNkheCv5nMkH3hZ0v24immWGaI5aGc0P0F9ue0sgnV7DqwvM
        

        The above command returns

        {
            "access_token": "ASHWLIkouP2O6_bgA2wWReRhletgWKHYjLqDaqb0LFfamim9RjexTo22ujRIP_cjLiRiSyQXyt2kM1eXU2XLFZQ0Hro15HikJQT_eNeT_9XQ", 
            "expires_in": 3600, 
            "refresh_token": "RTfI2WNyK78NozupDH9ai8GPRbjjdVsXPPtmobD2p_1epZUYmidZAOoT1TkFspMQOzNlCZpIrZREHrSdYeObea3Qda7hk2Q6PO5BEVF3GBh0", 
            "scope": "accounts=ro balance=ro transactions=ro offline", 
            "token_type": "Bearer"
        }
        

        After your application obtained an authorization code, it may exchange the authorization code for an access token. The Authorization: Basic HTTP header must contain the client identifier as username and the client secret as password.

        HTTP Request

        POST /auth/token

        Authentication

        Request

        Parameter Description
        grant_type This parameter must be set to authorization_code.
          code The authorization code returned from the initial request
            redirect_uri
            optional
            If the callback URL was specified in the initial request, then it must also be included in this request
            • Default Value: The first redirect URI configured for the client

            Response

            Parameter Description
            access_token The access token
            token_type This response parameter is set to Bearer
            expires_in The remaining live time of the access token in seconds
            refresh_token A refresh token that may be used to request new access tokens. Refresh tokens remais 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.
            scope A space delimited set of requested permissions.

            Exchange Refresh Token

            grant_type=refresh_token&refresh_token=RTfI2WNyK78NozupDH9ai8GPRbjjdVsXPPtmobD2p_1epZUYmidZAOoT1TkFspMQOzNlCZpIrZREHrSdYeObea3Qda7hk2Q6PO5BEVF3GBh0
            

            The above command returns

            {
                "access_token": "ASHWLIkouP2O6_bgA2wWReRhletgWKHYjLqDaqb0LFfamim9RjexTo22ujRIP_cjLiRiSyQXyt2kM1eXU2XLFZQ0Hro15HikJQT_eNeT_9XQ", 
                "expires_in": 3600, 
                "scope": "accounts=ro balance=ro transactions=ro offline", 
                "token_type": "Bearer"
            }
            

            Request new access token with refresh token. New access tokens can be obtained as long as the user has not revoked the access granted to your application. The Authorization: Basic HTTP header must contain the client identifier as username and the client secret as password.

            HTTP Request

            POST /auth/token

            Authentication

            Request

            Parameter Description
            grant_type This parameter must be set to refresh_token
              refresh_token The refresh token returned from the authorization code exchange
                scope
                optional
                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.
                • Default Value: The configured scope of the client

                Response

                Parameter Description
                access_token The access token
                token_type This response parameter is set to Bearer
                expires_in The remaining live time of the access token in seconds
                scope A space delimited set of requested permissions.

                Credential Login

                grant_type=password&username=demo@figo.me&password=demo1234&device_name=My+Phone&device_type=iPhone&device_udid=b4ec8a40e122b6b249056a9424e169e5
                

                The above command returns

                {
                    "access_token": "ASHWLIkouP2O6_bgA2wWReRhletgWKHYjLqDaqb0LFfamim9RjexTo22ujRIP_cjLiRiSyQXyt2kM1eXU2XLFZQ0Hro15HikJQT_eNeT_9XQ", 
                    "expires_in": 3600, 
                    "refresh_token": "RTfI2WNyK78NozupDH9ai8GPRbjjdVsXPPtmobD2p_1epZUYmidZAOoT1TkFspMQOzNlCZpIrZREHrSdYeObea3Qda7hk2Q6PO5BEVF3GBh0", 
                    "scope": "accounts=ro balance=ro transactions=ro offline", 
                    "token_type": "Bearer"
                }
                

                Native clients may directly ask the user for his figo Account credentials and use them to obtain an access token. The Authorization: Basic HTTP header must contain the client identifier as username and the client secret as password.

                HTTP Request

                POST /auth/token

                Authentication

                Request

                Parameter Description
                grant_type This parameter must be set to password
                  username The figo Account email address
                    password The figo Account password
                      device_name
                      optional
                      Human-readable name for the device where the client application runs
                        device_type
                        optional
                        One of the device types iPhone, iPad, WWW, Windows, Mac or Linux
                          device_udid
                          optional
                          Device UDID for associating notification subscriptions with individual devices
                            scope
                            optional
                            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.
                            • Default Value: The configured scope of the client

                            Response

                            Parameter Description
                            access_token The access token
                            token_type This response parameter is set to Bearer
                            expires_in The remaining live time of the access token in seconds
                            refresh_token A refresh token that may be used to request new access tokens. Refresh tokens remais 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.
                            scope A space delimited set of requested permissions.

                            Unlock a figo account

                            username=demo@figo.me&password=demo1234&unlock_code=57105548&recovery_password=tpiz-khyt-plii-dkpd-ezkw&new_password=demo5678
                            

                            In the event the user forgot his password, he can regain access to his account by supplying the unlock code (received via email) and the recovery password (received during registration).

                            HTTP Request

                            POST /auth/unlock

                            Authentication

                            with client credentials

                            Request

                            Parameter Description
                            username The figo Account email address
                              unlock_code The unlock code sent to the user by email.
                                recovery_password The figo Account recovery password.
                                  new_password New figo account password; It must obey the figo username & password policy.

                                    Response

                                    A sucessfull response contains no content

                                    User Management

                                    The central element of this API is the figo user, who owns bank accounts and grants selective access to them to other applications. This account can either be a free or a premium account. While both support the same set of features, the free account can only be used with the application through it got created, while a premium account can be used in all applications integrating figo.

                                    Users in figo Connect light

                                    When using figo Connect light you do not expose the figo users to your users, but instead use it only in the background. There are two best practices, depending on the precise integration setting.

                                    One figo user per application user

                                    When aiming to interact with the figo API for one user over an extended period of time, it is recommended to to create one figo user per application user. This way the data of each of your users is securely separated.

                                    In this scenario it is recommend to create the figo users with a username directly mappable from your application user IDs, e.g. using <your user ID>@figo.<you application domain>. That way you do not have to save any additional information and still do not block email address of your user for explicit figo usage. Some similar, but more secure, mapping is recommended for the users password.

                                    One figo user per application transaction

                                    When only integrating figo as part of processing a transaction, e.g. verifying account owner information. In this scenario it is recommended to create one figo user per transaction and delete it after the figo integration part of the transaction processing is completed.

                                    For the same reasons as in the other case a simple mapping between your transaction and the figo username/password is recommended for this case as well, e.g. <your transaction ID>@figo.<your application domain> as username.

                                    In order to keep transaction processing time as short as possible, we recommend to defer any clean-up activities.

                                    API Calls

                                    Retrieve current user

                                    {
                                        "address": {
                                            "city": "Berlin", 
                                            "company": "figo", 
                                            "postal_code": "10969", 
                                            "street": "Ritterstr. 2-3"
                                        }, 
                                        "email": "demo@figo.me", 
                                        "join_date": "2012-04-19T17:25:54.000Z", 
                                        "language": "en", 
                                        "name": "John Doe", 
                                        "premium": true, 
                                        "premium_expires_on": "2014-04-19T17:25:54.000Z", 
                                        "premium_subscription": "paymill", 
                                        "send_newsletter": true, 
                                        "user_id": "U12345", 
                                        "verified_email": true
                                    }
                                    

                                    HTTP Request

                                    GET /rest/user

                                    Authentication

                                    with access token

                                    Response

                                    Parameter Description
                                    user_id Internal figo Connect user ID. Only available when calling with scope user=ro or better.
                                    name First and last name
                                    email Email address
                                    address Postal address for bills, etc. Only available when calling with scope user=ro or better.
                                    verified_email This flag indicates whether the email address has been verified. Only available when calling with scope user=ro or better.
                                    send_newsletter This flag indicates whether the user has agreed to be contacted by email. Only available when calling with scope user=ro or better.
                                    language Two-letter code of preferred language. Only available when calling with scope user=ro or better.
                                    premium This flag indicates whether the figo Account plan is free or premium. Only available when calling with scope user=ro or better.
                                    premium_expires_on Timestamp of premium figo Account expiry. Only available when calling with scope user=ro or better.
                                    premium_subscription Provider for premium subscription or Null if no subscription is active. Only available when calling with scope user=ro or better.
                                    join_date Timestamp of figo Account registration. Only available when calling with scope user=ro or better.
                                    force_reset If this flag is set then all local data must be cleared from the device and re-fetched from the figo Connect server. Only available when calling with scope user=ro or better.
                                    recovery_password Auto-generated recovery password. This response parameter will only be set once and only for the figo iOS app and only for legacy figo Accounts. The figo iOS app must display this recovery password to the user. Only available when calling with scope user=ro or better.
                                    filters array of filters defined by the user

                                    Create new figo user

                                    {
                                        "email": "demo@figo.me", 
                                        "language": "en", 
                                        "name": "John Doe", 
                                        "password": "demo1234", 
                                        "send_newsletter": true
                                    }
                                    

                                    The above command returns

                                    {
                                        "recovery_password": "tpiz-khyt-plii-dkpd-ezkw"
                                    }
                                    

                                    HTTP Request

                                    POST /auth/user

                                    Authentication

                                    with client credentials including scope create_user

                                    Request

                                    Parameter Description
                                    name First and last name
                                      email Email address; It must obey the figo username & password policy
                                        send_newsletter
                                        optional
                                        This flag indicates whether the user has agreed to be contacted by email
                                        • Valid values: True, False
                                        language
                                        optional
                                        Two-letter code of preferred language
                                        • Default Value: de
                                        password New figo Account password; It must obey the figo username & password policy
                                          affiliate_user
                                          optional
                                          Base64 encoded email address of the user promoting the new user.
                                            affiliate_client_id
                                            optional
                                            Client ID of the figo Connect partner from which the user was redirected to the registration form

                                              Response

                                              Parameter Description
                                              recovery_password Auto-generated recovery password

                                              Start forgot password process

                                              Mark the user as locked as he has forgotten his password and send him the recovery code. Shortcut to multiple wrong authentication attempts.

                                              HTTP Request

                                              POST /auth/forgot

                                              Authentication

                                              with client credentials

                                              Request

                                              Parameter Description
                                              username Username for the figo user who forgot his password

                                                Response

                                                A sucessfull response contains no content

                                                Re-send unlock code

                                                {
                                                    "username": "demo@figo.me"
                                                }
                                                

                                                HTTP Request

                                                POST /auth/user/resend_unlock_code

                                                Authentication

                                                with client credentials

                                                Request

                                                Parameter Description
                                                username The figo Account email address

                                                  Response

                                                  A sucessfull response contains no content

                                                  Re-send verification email

                                                  We allow the user to validate his/her email address, e.g. to be able to use e-Mail notifications. With this call, the email containing the validation link is resend.

                                                  HTTP Request

                                                  POST /rest/user/resend_verification

                                                  Authentication

                                                  with access token including scope user=rw

                                                  Response

                                                  A sucessfull response contains no content

                                                  Modify current user

                                                  {
                                                      "email": "new_mail@figo.me", 
                                                      "password": "demo1234"
                                                  }
                                                  

                                                  HTTP Request

                                                  PUT /rest/user

                                                  Authentication

                                                  with access token including scope user=rw

                                                  Request

                                                  Parameter Description
                                                  name
                                                  optional
                                                  First and last name
                                                    email
                                                    optional
                                                    Email address. It must obey the figo username & password policy. If this parameter is set, then the parameter password must be set, too.
                                                      address
                                                      optional
                                                      Postal address. It must always be set in full (i.e. company, street, postal_code & city)
                                                        send_newsletter
                                                        optional
                                                        This flag indicates whether the user has agreed to be contacted by email.
                                                        • Valid values: True, False
                                                        language
                                                        optional
                                                        Two-letter code of preferred language
                                                          password
                                                          optional
                                                          Current figo Account password
                                                            new_password
                                                            optional
                                                            New figo Account password; It must obey the figo username & password policy. If this parameter is set, then the parameter password must be set, too.
                                                              paymill_token
                                                              optional
                                                              Paymill token to update the users payment information

                                                                Response

                                                                A sucessfull response contains no content

                                                                Delete current user

                                                                Users with an active premium subscription cannot be deleted. The subscription needs to be canceled first.

                                                                HTTP Request

                                                                DELETE /rest/user

                                                                Authentication

                                                                with access token including scope user=rw

                                                                Request

                                                                Parameter Description
                                                                reason
                                                                optional
                                                                Users reason to cancel the subscription

                                                                  Response

                                                                  A sucessfull response contains no content

                                                                  Accounts

                                                                  Bank accounts are the central domain object of this API and the main anchor point for many of the other resources. This API does not only consider classical bank accounts as account, but also alternative banking services, e.g. credit cards or Paypal. The API does not distinguish between these two in most points.

                                                                  Account Type

                                                                  Independent of the integration of the bank account into figo, the following kinds of bank accounts are defined: Giro account, Savings account, Credit card, Loan account, PayPal, Cash book and Unknown.

                                                                  Account Properties

                                                                  Field Description
                                                                  account_id Internal figo Connect account ID
                                                                  bank_id Internal figo Connect bank ID
                                                                  name Account name
                                                                  owner Account owner
                                                                  auto_sync This flag indicates whether the account will be automatically synchronized
                                                                  account_number Account number
                                                                  bank_code Bank code
                                                                  bank_name Bank name
                                                                  currency Three-character currency code
                                                                  iban IBAN
                                                                  bic BIC
                                                                  type Account type
                                                                  icon Account icon URL
                                                                  additional_icons Dictionary mapping from resolution to URL for additional resolutions of the banks icon. Currently only supports 48x48
                                                                  supported_payments List of payment types with payment parameters:
                                                                  FieldDescription
                                                                  allowed_recipientsList of account IDs. The payment recipient must be one of these accounts. No restriction applies if this field is omitted
                                                                  max_purpose_lengthMaximum string length of purpose text
                                                                  supported_text_keysList of supported DTA text keys
                                                                  min_scheduled_dateEarliest scheduled date
                                                                  max_scheduled_dateLatest scheduled date
                                                                  supported_file_formatsList of supported payment file formats for file upload. Currently always empty
                                                                  supported_tan_schemes List of TAN schemes
                                                                  FieldDescription
                                                                  tan_scheme_idInternal figo Connect TAN scheme ID
                                                                  nameTAN scheme name
                                                                  medium_nameTAN medium name
                                                                  preferred_tan_scheme ID of the TAN scheme preferred by the user
                                                                  in_total_balance This flag indicates whether the balance of this account is added to the total balance of accounts
                                                                  save_pin This flag indicates whether the user has chosen to save the PIN on the figo Connect server
                                                                  status Synchronization status
                                                                  FieldDescription
                                                                  codeInternal figo Connect status code
                                                                  messageHuman-readable error message
                                                                  sync_timestampTimestamp of last synchronization
                                                                  success_timestampTimestamp of last successful synchronization

                                                                  API Calls

                                                                  Retrieve a bank account

                                                                  {
                                                                      "account_id": "A1.1", 
                                                                      "account_number": "4711951500", 
                                                                      "additional_icons": {
                                                                          "48x48": "https://api.figo.me/assets/images/accounts/default-small@2x.png", 
                                                                          "60x60": "https://api.figo.me/assets/images/accounts/default@2x.png"
                                                                      }, 
                                                                      "auto_sync": false, 
                                                                      "balance": {
                                                                          "balance": 3250.3099999999999, 
                                                                          "balance_date": "2013-09-11T00:00:00.000Z", 
                                                                          "credit_line": 0.0, 
                                                                          "monthly_spending_limit": 0.0
                                                                      }, 
                                                                      "bank_code": "90090042", 
                                                                      "bank_id": "B1.1", 
                                                                      "bank_name": "Demobank", 
                                                                      "bic": "DEMODE01", 
                                                                      "currency": "EUR", 
                                                                      "iban": "DE67900900424711951500", 
                                                                      "icon": "https://api.figo.me/assets/images/accounts/default.png", 
                                                                      "in_total_balance": true, 
                                                                      "name": "Girokonto", 
                                                                      "owner": "figo", 
                                                                      "preferred_tan_scheme": null, 
                                                                      "save_pin": false, 
                                                                      "status": {
                                                                          "code": -1, 
                                                                          "message": "Cannot load credential 8f084858-e1c6-4642-87f8-540b530b6e0f: UUID does not exist.", 
                                                                          "success_timestamp": "2013-09-11T00:00:00.000Z", 
                                                                          "sync_timestamp": "2014-07-09T10:04:40.000Z"
                                                                      }, 
                                                                      "supported_payments": {
                                                                          "Transfer": {
                                                                              "allowed_recipients": [], 
                                                                              "can_be_recurring": false, 
                                                                              "can_be_scheduled": false, 
                                                                              "max_purpose_length": 108, 
                                                                              "supported_file_formats": [], 
                                                                              "supported_text_keys": [
                                                                                  51, 
                                                                                  53
                                                                              ]
                                                                          }
                                                                      }, 
                                                                      "supported_tan_schemes": [
                                                                          {
                                                                              "medium_name": "", 
                                                                              "name": "iTAN", 
                                                                              "tan_scheme_id": "M1.1"
                                                                          }, 
                                                                          {
                                                                              "medium_name": "Girocard", 
                                                                              "name": "chipTAN optisch", 
                                                                              "tan_scheme_id": "M1.2"
                                                                          }, 
                                                                          {
                                                                              "medium_name": "Girocard", 
                                                                              "name": "chipTAN manuell", 
                                                                              "tan_scheme_id": "M1.3"
                                                                          }
                                                                      ], 
                                                                      "type": "Unknown"
                                                                  }
                                                                  

                                                                  HTTP Request

                                                                  GET /rest/accounts/<account_id>

                                                                  Authentication

                                                                  with access token including scope accounts=ro

                                                                  Request

                                                                  Parameter Description
                                                                  account_id Internal figo Connect account ID

                                                                    Response

                                                                    Parameter Description
                                                                    A single account object.

                                                                    Retrieve all bank accounts

                                                                    {
                                                                        "accounts": [
                                                                            {
                                                                                "account_id": "A1.1", 
                                                                                "account_number": "4711951500", 
                                                                                "additional_icons": {
                                                                                    "48x48": "https://api.figo.me/assets/images/accounts/default-small@2x.png", 
                                                                                    "60x60": "https://api.figo.me/assets/images/accounts/default@2x.png"
                                                                                }, 
                                                                                "bank_code": "90090042", 
                                                                                "bank_id": "B1.1", 
                                                                                "bank_name": "Demobank", 
                                                                                "bic": "DEMODE01", 
                                                                                "currency": "EUR", 
                                                                                "iban": "DE67900900424711951500", 
                                                                                "icon": "https://api.figo.me/assets/images/accounts/demokonto.png", 
                                                                                "name": "Girokonto", 
                                                                                "owner": "figo", 
                                                                                "status": {
                                                                                    "code": 1, 
                                                                                    "success_timestamp": "2013-04-11T19:16:00.000Z", 
                                                                                    "sync_timestamp": "2013-04-11T19:16:00.000Z"
                                                                                }, 
                                                                                "type": "Giro account"
                                                                            }, 
                                                                            {
                                                                                "account_id": "A1.2", 
                                                                                "account_number": "4711951501", 
                                                                                "additional_icons": {
                                                                                    "48x48": "https://api.figo.me/assets/images/accounts/default-small@2x.png", 
                                                                                    "60x60": "https://api.figo.me/assets/images/accounts/default@2x.png"
                                                                                }, 
                                                                                "bank_code": "90090042", 
                                                                                "bank_id": "B1.1", 
                                                                                "bank_name": "Demobank", 
                                                                                "bic": "DEMODE01", 
                                                                                "currency": "EUR", 
                                                                                "iban": "DE40900900424711951501", 
                                                                                "icon": "https://api.figo.me/assets/images/accounts/demokonto.png", 
                                                                                "name": "Sparkonto", 
                                                                                "owner": "figo", 
                                                                                "status": {
                                                                                    "code": -1, 
                                                                                    "message": "Could not get transactions.", 
                                                                                    "success_timestamp": "2013-04-11T15:16:00.000Z", 
                                                                                    "sync_timestamp": "2013-04-11T19:16:00.000Z"
                                                                                }, 
                                                                                "type": "Savings account"
                                                                            }
                                                                        ]
                                                                    }
                                                                    

                                                                    This only returns the bank accounts the user has chosen to share with your application

                                                                    HTTP Request

                                                                    GET /rest/accounts

                                                                    Authentication

                                                                    with access token including scope accounts=ro

                                                                    Response

                                                                    Parameter Description
                                                                    accounts List of account objects

                                                                    Retrieve bank account balance and limits

                                                                    {
                                                                        "balance": 3250.3099999999999, 
                                                                        "balance_date": "2013-04-11T12:00:00.000Z", 
                                                                        "credit_line": 0.0, 
                                                                        "monthly_spending_limit": 1000.0, 
                                                                        "status": {
                                                                            "code": 1, 
                                                                            "success_timestamp": "2013-04-11T19:16:00.000Z", 
                                                                            "sync_timestamp": "2013-04-11T19:16:00.000Z"
                                                                        }
                                                                    }
                                                                    

                                                                    HTTP Request

                                                                    GET /rest/accounts/<account_id>/balance

                                                                    Authentication

                                                                    with access token including scope balance=ro

                                                                    Request

                                                                    Parameter Description
                                                                    account_id Internal figo Connect account ID

                                                                      Response

                                                                      Parameter Description
                                                                      balance Account balance; This response parameter will be omitted if the balance is not yet known
                                                                      balance_date Bank server timestamp of balance; This response parameter will be omitted if the balance is not yet known
                                                                      credit_line Credit line
                                                                      monthly_spending_limit User-defined spending limit
                                                                      status Synchronization status object.

                                                                      Modify bank account

                                                                      {
                                                                          "name": "Demokonto", 
                                                                          "owner": "Jon Doe"
                                                                      }
                                                                      

                                                                      HTTP Request

                                                                      PUT /rest/accounts/<account_id>

                                                                      Authentication

                                                                      with access token including scope accounts=rw

                                                                      Request

                                                                      Parameter Description
                                                                      account_id Internal figo Connect account ID
                                                                        name
                                                                        optional
                                                                        Account name
                                                                          owner
                                                                          optional
                                                                          Account owner
                                                                            preferred_tan_scheme
                                                                            optional
                                                                            Internal figo Connect TAN scheme ID of the default TAN scheme for this account
                                                                              auto_sync
                                                                              optional
                                                                              This flag indicates whether the account will be automatically synchronized. It will be ignored for offline accounts and cash accounts.
                                                                              • Valid values: True, False

                                                                              Response

                                                                              A sucessfull response contains no content

                                                                              Set bank account sort order

                                                                              {
                                                                                  "accounts": [
                                                                                      {
                                                                                          "account_id": "A1.1"
                                                                                      }, 
                                                                                      {
                                                                                          "account_id": "A1.2"
                                                                                      }, 
                                                                                      {
                                                                                          "account_id": "A1.3"
                                                                                      }
                                                                                  ]
                                                                              }
                                                                              

                                                                              HTTP Request

                                                                              PUT /rest/accounts

                                                                              Authentication

                                                                              with access token including scope accounts=rw

                                                                              Request

                                                                              Parameter Description
                                                                              accounts List of JSON objects with the field account_id set to the internal figo Connect account ID. The accounts will be sorted in the list order

                                                                                Response

                                                                                A sucessfull response contains no content

                                                                                Modify bank account credit line and limits

                                                                                {
                                                                                    "credit_line": 500.0, 
                                                                                    "monthly_spending_limit": 250.0
                                                                                }
                                                                                

                                                                                HTTP Request

                                                                                PUT /rest/accounts/<account_id>/balance

                                                                                Authentication

                                                                                with access token including scope balance=rw

                                                                                Request

                                                                                Parameter Description
                                                                                account_id Internal figo Connect account ID
                                                                                  credit_line
                                                                                  optional
                                                                                  Credit line
                                                                                    monthly_spending_limit
                                                                                    optional
                                                                                    User-defined spending limit

                                                                                      Response

                                                                                      A sucessfull response contains no content

                                                                                      Delete bank account

                                                                                      Once the last remaining account of a bank contact has been removed, the bank contact will be automatically removed as well

                                                                                      HTTP Request

                                                                                      DELETE /rest/accounts/<account_id>

                                                                                      Authentication

                                                                                      with access token including scope accounts=rw

                                                                                      Request

                                                                                      Parameter Description
                                                                                      account_id Internal figo Connect account ID

                                                                                        Response

                                                                                        A sucessfull response contains no content

                                                                                        Bank Contact API Calls

                                                                                        Retrieve bank contact

                                                                                        {
                                                                                            "save_pin": true, 
                                                                                            "sepa_creditor_id": "DE02ZZZ0123456789"
                                                                                        }
                                                                                        

                                                                                        HTTP Request

                                                                                        GET /rest/banks/<bank_id>

                                                                                        Authentication

                                                                                        with access token including scope accounts=ro

                                                                                        Request

                                                                                        Parameter Description
                                                                                        bank_id Internal figo Connect bank ID

                                                                                          Response

                                                                                          Parameter Description
                                                                                          bank_number bank code
                                                                                          sepa_creditor_id SEPA direct debit creditor ID
                                                                                          save_pin This flag indicates whether the user has chosen to save the PIN on the figo Connect server

                                                                                          Remove stored PIN from bank contact

                                                                                          Removes the stored PIN of a bank contact from the figo Connect server

                                                                                          HTTP Request

                                                                                          POST /rest/banks/<bank_id>/remove_pin

                                                                                          Authentication

                                                                                          with access token including scope accounts=rw

                                                                                          Request

                                                                                          Parameter Description
                                                                                          bank_id Internal figo Connect bank ID

                                                                                            Response

                                                                                            A sucessfull response contains no content

                                                                                            Modify bank contact

                                                                                            {
                                                                                                "sepa_creditor_id": "DE02ZZZ0123456789"
                                                                                            }
                                                                                            

                                                                                            HTTP Request

                                                                                            PUT /rest/banks/<bank_id>

                                                                                            Authentication

                                                                                            with access token including scope accounts=rw

                                                                                            Request

                                                                                            Parameter Description
                                                                                            bank_id Internal figo Connect bank ID
                                                                                              sepa_creditor_id
                                                                                              optional
                                                                                              SEPA direct debit creditor ID

                                                                                                Response

                                                                                                A sucessfull response contains no content

                                                                                                Account setup & synchronization

                                                                                                While most calls to this API do not require interaction with the users banks servers, setting up a new account or updating the transaction lists cannot do without. As Bank servers are quite slow in comparison to other requests to this API, this processing takes place in the background. Please consult the Task Processing chapter for more details.

                                                                                                Account setup

                                                                                                In order to be able to use a bank account or service with figo it needs to be setup first. This is a multi-step process roughly following this procedure:

                                                                                                1. Determine the bank code of the account. For services a surrogate bank code can be found in the service list
                                                                                                2. Lookup the required credentials and any advise on locating them
                                                                                                3. Submitting the credentials together with the (surrogate) bank code
                                                                                                4. Wait for the returned task token to complete

                                                                                                When adding bank accounts the API takes care of managing actual bank logins (called Bank Contacts) and automatically deduplicates bank accounts.

                                                                                                Account synchronization

                                                                                                As banks commonly do not provide a push mechanism for distributing transaction updates, they need to be polled, which is called synchronization in this API. When triggering a synchronization please make sure that either the PIN for the bank contact is stored inside figo or that the user has the possibility to enter it.

                                                                                                Usually the bank accounts are synchronized on a daily basis. However, the synchronization has to be triggered manually if either:

                                                                                                Demobank

                                                                                                As real banks can be quite sensitive to trial and error development, we provide a special Demobank as part of this API which in most regards behaves just like a classical bank but is much more patient.

                                                                                                Details

                                                                                                API Calls

                                                                                                Retrieve list of supported credit cards and other payment services

                                                                                                {
                                                                                                    "services": [
                                                                                                        {
                                                                                                            "additional_icons": {
                                                                                                                "48x48": "https://api.figo.me/assets/images/accounts/default-small@2x.png", 
                                                                                                                "60x60": "https://api.figo.me/assets/images/accounts/default@2x.png"
                                                                                                            }, 
                                                                                                            "bank_code": "90090042", 
                                                                                                            "icon": "https://api.figo.me/assets/images/accounts/demokonto.png", 
                                                                                                            "name": "Demokonto"
                                                                                                        }
                                                                                                    ]
                                                                                                }
                                                                                                

                                                                                                These services do not use bank codes and are therefore listed seperatly. In order to provide a uniform interface for the remaining process, part of the response is a fake bank code, used as a surrogate for these services in our other calls.

                                                                                                HTTP Request

                                                                                                GET /rest/catalog/services/<country_code>

                                                                                                Authentication

                                                                                                with access token including scope accounts=rw

                                                                                                Request

                                                                                                Parameter Description
                                                                                                country_code the country the service comes from
                                                                                                • Valid values: de

                                                                                                Response

                                                                                                Parameter Description
                                                                                                name Human readable name of the service
                                                                                                bank_code surrogate bank code used for this service
                                                                                                icon URL to an logo of the bank, e.g. as a badge icon
                                                                                                additional_icons Dictionary mapping from resolution to URL for additional resolutions of the banks icon. Currently supports 48x48 and 60x60.

                                                                                                Retrieve login settings for a bank or service

                                                                                                {
                                                                                                    "additional_icons": {
                                                                                                        "48x48": "https://api.figo.me/assets/images/accounts/default-small@2x.png", 
                                                                                                        "60x60": "https://api.figo.me/assets/images/accounts/default@2x.png"
                                                                                                    }, 
                                                                                                    "advice": "Benutzername: figo, PIN: figo", 
                                                                                                    "auth_type": "pin", 
                                                                                                    "bank_name": "Demobank", 
                                                                                                    "credentials": [
                                                                                                        {
                                                                                                            "label": "Benutzername"
                                                                                                        }, 
                                                                                                        {
                                                                                                            "label": "PIN", 
                                                                                                            "masked": true
                                                                                                        }
                                                                                                    ], 
                                                                                                    "icon": "https://api.figo.me/assets/images/accounts/demokonto.png", 
                                                                                                    "supported": true
                                                                                                }
                                                                                                

                                                                                                HTTP Request

                                                                                                GET /rest/catalog/banks/<country_code>/<item_id>

                                                                                                Authentication

                                                                                                with access token including scope accounts=rw

                                                                                                Request

                                                                                                Parameter Description
                                                                                                country_code the country the service comes from
                                                                                                • Valid values: de
                                                                                                item_id Bank code

                                                                                                  Response

                                                                                                  Parameter Description
                                                                                                  bank_name Human readable name of the bank
                                                                                                  supported Flag showing whether figo supports the bank
                                                                                                  icon URL to an logo of the bank, e.g. as a badge icon
                                                                                                  additional_icons Dictionary mapping from resolution to URL for additional resolutions of the banks icon. Currently supports 48x48 and 60x60.
                                                                                                  credentials List of credentials needed to connect to the bank.
                                                                                                  FieldDescription
                                                                                                  labelLabel for text input field
                                                                                                  maskedThis indicates whether the this text input field is used for password entry and therefore should be masked
                                                                                                  optionalThis flag indicates whether this text input field is allowed to contain the empty string
                                                                                                  auth_type Kind of authentication used by the bank, commonly PIN
                                                                                                  advice Any additional advice useful to locate the required credentials

                                                                                                  Setup new bank account

                                                                                                  {
                                                                                                      "bank_code": "90090042", 
                                                                                                      "country": "de", 
                                                                                                      "credentials": [
                                                                                                          "figo", 
                                                                                                          "figo"
                                                                                                      ], 
                                                                                                      "save_pin": true
                                                                                                  }
                                                                                                  

                                                                                                  The above command returns

                                                                                                  {
                                                                                                      "task_token": "YmB-BtvbWufLnbwgAVfP7XfLatwhrtu0sATfnZNR7LGP-aLXiZ7BKzLdZI--EqEPnwh_h6mCxToLEBhtA7LVd4uM4gTcZG8F6UJs47g6kWJ0"
                                                                                                  }
                                                                                                  

                                                                                                  The figo Connect server will transparently create or modify a bank contact to add additional bank accounts. This call will return immediately and return a task token. Please see the chapter on tasks for more details.

                                                                                                  HTTP Request

                                                                                                  POST /rest/accounts

                                                                                                  Authentication

                                                                                                  with access token including scope accounts=rw

                                                                                                  Request

                                                                                                  Parameter Description
                                                                                                  bank_code Bank code
                                                                                                    country Two-letter country code
                                                                                                    • Valid values: de
                                                                                                    credentials List of login credential strings. They must be in the same order as in the credentials list from the login settings
                                                                                                      save_pin
                                                                                                      optional
                                                                                                      This flag indicates whether the user has chosen to save the PIN on the figo Connect server. It is mandatory if the authentication type in the login settings of the bank code is pin and will be ignored otherwise.
                                                                                                      • Valid values: True, False
                                                                                                      disable_first_sync
                                                                                                      optional
                                                                                                      This flag indicates whether the initial sync of the transactions and balances of the newly created accounts should be omitted. If this is the case certain listed accounts might actually be invalid (e.g. old creditcards) and will be automatically removed at the first sync.
                                                                                                      • Valid values: True, False
                                                                                                      redirect_uri
                                                                                                      optional
                                                                                                      The user will be redirect to this URI after completing the account setup. It must match one of the URLs registered during application registration.
                                                                                                      • Default Value: The first redirect URI configured for the client

                                                                                                      Response

                                                                                                      Parameter Description
                                                                                                      task_token Task token

                                                                                                      Create new synchronization task

                                                                                                      {
                                                                                                          "disable_notifications": true, 
                                                                                                          "if_not_synced_since": 15, 
                                                                                                          "redirect_uri": "https://api.figo.me/callback", 
                                                                                                          "state": "4HgwtQP0dnX4UjPf"
                                                                                                      }
                                                                                                      

                                                                                                      The above command returns

                                                                                                      {
                                                                                                          "task_token": "YmB-BtvbWufLnbwgAVfP7XfLatwhrtu0sATfnZNR7LGP-aLXiZ7BKzLdZI--EqEPnwh_h6mCxToLEBhtA7LVd4uM4gTcZG8F6UJs47g6kWJ0"
                                                                                                      }
                                                                                                      

                                                                                                      In order for figo to have up-to-date transaction and account information, it needs to query the bank servers, 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 return immediately and return a task token. Please see the chapter on tasks for more details.

                                                                                                      HTTP Request

                                                                                                      POST /rest/sync

                                                                                                      Authentication

                                                                                                      with access token including scope [‘balance=ro’, ‘transactions=ro’]

                                                                                                      Request

                                                                                                      Parameter Description
                                                                                                      redirect_uri
                                                                                                      optional
                                                                                                      At the end of the synchronization process a response will be sent to this callback URL.
                                                                                                      • Default Value: The first redirect URI of the client is used
                                                                                                      state 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 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.
                                                                                                        disable_notifications
                                                                                                        optional
                                                                                                        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.
                                                                                                        • Valid values: True, False
                                                                                                        if_not_synced_since
                                                                                                        optional
                                                                                                        If this parameter is set, only those accounts will be synchronized, which have not been synchronized within the specified number of minutes.
                                                                                                          auto_continue
                                                                                                          optional
                                                                                                          Automatically acknowledge and ignore any errors
                                                                                                          • Valid values: True, False
                                                                                                          account_ids
                                                                                                          optional
                                                                                                          Only sync the accounts with these IDs
                                                                                                            account_filter
                                                                                                            optional
                                                                                                            Python re expression to filter the accounts to be synced. The re will be applied to the bank codes and bank names

                                                                                                              Response

                                                                                                              Parameter Description
                                                                                                              task_token Task token

                                                                                                              Transactions

                                                                                                              Each bank accounts has a list of transactions associated with it. The length of this list depends on the bank and time this account has been setup. In general the information provided for each transaction should be roughly similar to the contents of the printed or online transaction statement available from the respective bank. Please note that not all banks provide the same level of detail.

                                                                                                              Transaction Type

                                                                                                              In order to simplify your analysis of the users transaction, they are pre-categorized into one of the following types: Transfer, Standing order, Direct debit, Salary or rent, * Electronic cash*, GeldKarte, ATM, Charges or interest or Unknown.

                                                                                                              Pending Transactions

                                                                                                              Some banks provide information on transaction, which have not yet been executed. These transactions are called pending. Figo marks them with the booked flag being 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.

                                                                                                              Transaction Properties

                                                                                                              Field Description
                                                                                                              transaction_id Internal figo Connect transaction ID
                                                                                                              account_id Internal figo Connect account ID
                                                                                                              name Name of originator or recipient
                                                                                                              account_number Account number of originator or recipient. This field might be empty if the transaction has no account number, e.g. interest transactions.
                                                                                                              bank_code Bank code of originator or recipient. This field might be empty if the transaction has no bank code, e.g. interest transactions.
                                                                                                              bank_name Bank name of originator or recipient. This field might be empty if the transaction has no bank code, e.g. interest transactions.
                                                                                                              amount Transaction amount
                                                                                                              currency Three-character currency code
                                                                                                              booking_date Booking date
                                                                                                              value_date Value date
                                                                                                              purpose Purpose text. This field might be empty if the transaction has no purpose.
                                                                                                              type Transaction type
                                                                                                              booking_text Booking text. This field might be empty if the transaction has no booking text.
                                                                                                              booked This flag indicates whether the transaction is booked or pending
                                                                                                              creation_timestamp Internal creation timestamp on the figo Connect server
                                                                                                              modification_timestamp Internal modification timestamp on the figo Connect server
                                                                                                              visited This flag indicates whether the transaction has already been marked as visited by the user

                                                                                                              API Calls

                                                                                                              Retrieve a transaction

                                                                                                              {
                                                                                                                  "account_id": "A1.1", 
                                                                                                                  "account_number": "4711951501", 
                                                                                                                  "amount": -17.899999999999999, 
                                                                                                                  "bank_code": "90090042", 
                                                                                                                  "bank_name": "Demobank", 
                                                                                                                  "booked": false, 
                                                                                                                  "booking_date": "2013-04-11T12:00:00.000Z", 
                                                                                                                  "booking_text": "Ueberweisung", 
                                                                                                                  "creation_timestamp": "2013-04-11T13:54:02.000Z", 
                                                                                                                  "currency": "EUR", 
                                                                                                                  "modification_timestamp": "2013-04-11T13:54:02.000Z", 
                                                                                                                  "name": "Rogers Shipping, Inc.", 
                                                                                                                  "purpose": "Ihre Sendung 0815 vom 01.03.2012, Vielen Dank", 
                                                                                                                  "transaction_id": "T1.1.25", 
                                                                                                                  "type": "Transfer", 
                                                                                                                  "value_date": "2013-04-11T12:00:00.000Z", 
                                                                                                                  "visited": true
                                                                                                              }
                                                                                                              

                                                                                                              HTTP Request

                                                                                                              GET /rest/accounts/<account_id>/transactions/<transaction_id>

                                                                                                              Authentication

                                                                                                              with access token including scope transactions=ro

                                                                                                              Request

                                                                                                              Parameter Description
                                                                                                              account_id id of the account the transaction belongs to
                                                                                                                transaction_id id of the transaction to retrieve

                                                                                                                  Response

                                                                                                                  Parameter Description
                                                                                                                  Single transaction object

                                                                                                                  Retrieve transactions of one or all accounts

                                                                                                                  since=2013-04-10&include_pending=1
                                                                                                                  

                                                                                                                  The above command returns

                                                                                                                  {
                                                                                                                      "status": {
                                                                                                                          "code": -1, 
                                                                                                                          "message": "Could not get transactions.", 
                                                                                                                          "success_timestamp": "2013-04-11T15:16:00.000Z", 
                                                                                                                          "sync_timestamp": "2013-04-11T19:16:00.000Z"
                                                                                                                      }, 
                                                                                                                      "transactions": [
                                                                                                                          {
                                                                                                                              "account_id": "A1.1", 
                                                                                                                              "account_number": "4711951501", 
                                                                                                                              "amount": -300.0, 
                                                                                                                              "bank_code": "90090042", 
                                                                                                                              "bank_name": "Demobank", 
                                                                                                                              "booked": true, 
                                                                                                                              "booking_date": "2013-04-10T12:00:00.000Z", 
                                                                                                                              "booking_text": "Lastschrift", 
                                                                                                                              "creation_timestamp": "2013-04-10T08:21:36.000Z", 
                                                                                                                              "currency": "EUR", 
                                                                                                                              "modification_timestamp": "2013-04-11T13:54:02.000Z", 
                                                                                                                              "name": "Dr. House Solutions GmbH", 
                                                                                                                              "purpose": "Miete Vertragsnr. 12993", 
                                                                                                                              "transaction_id": "T1.24", 
                                                                                                                              "type": "Direct debit", 
                                                                                                                              "value_date": "2013-04-10T12:00:00.000Z", 
                                                                                                                              "visited": true
                                                                                                                          }, 
                                                                                                                          {
                                                                                                                              "account_id": "A1.2", 
                                                                                                                              "account_number": "4711951500", 
                                                                                                                              "amount": 200.0, 
                                                                                                                              "bank_code": "90090042", 
                                                                                                                              "bank_name": "Demobank", 
                                                                                                                              "booked": true, 
                                                                                                                              "booking_date": "2013-04-11T12:00:00.000Z", 
                                                                                                                              "booking_text": "Dauerauftrag", 
                                                                                                                              "creation_timestamp": "2013-04-11T13:54:42.000Z", 
                                                                                                                              "currency": "EUR", 
                                                                                                                              "modification_timestamp": "2013-04-11T13:54:42.000Z", 
                                                                                                                              "name": "Girokonto", 
                                                                                                                              "purpose": "Sparen", 
                                                                                                                              "transaction_id": "T1.15", 
                                                                                                                              "type": "Standing order", 
                                                                                                                              "value_date": "2013-04-11T12:00:00.000Z", 
                                                                                                                              "visited": false
                                                                                                                          }
                                                                                                                      ]
                                                                                                                  }
                                                                                                                  

                                                                                                                  Using the /rest/transactions endpoint only returns transactions on accounts that the user has chosen to share with your application.

                                                                                                                  HTTP Request

                                                                                                                  GET /rest/transactions

                                                                                                                  GET /rest/accounts/<account_id>/transactions

                                                                                                                  Authentication

                                                                                                                  with access token including scope transactions=ro

                                                                                                                  Request

                                                                                                                  Parameter Description
                                                                                                                  account_id
                                                                                                                  optional
                                                                                                                  the id of the account for which to retrieve the transactions
                                                                                                                    accounts
                                                                                                                    optional
                                                                                                                    if retrieving the transactions for all accounts, filter the transactions to be only from these accounts
                                                                                                                      since
                                                                                                                      optional
                                                                                                                      This parameter can either be a transaction ID or an ISO date.

                                                                                                                      transaction ID
                                                                                                                      the transactions which are newer than the referenced transaction will be returned in the response. The exact meaning of newer depends on the value of since_type

                                                                                                                      ISO date
                                                                                                                      the transactions which were booked on or after this date will be returned in the response
                                                                                                                        since_type
                                                                                                                        optional
                                                                                                                        This parameter defines how the parameter since will be interpreted.

                                                                                                                        booked (the default)
                                                                                                                        the value of the parameter since will be compared to the booking date of the transaction.

                                                                                                                        created
                                                                                                                        the value of the parameter since will be compared to the creation time of the transaction on the figo Connect server

                                                                                                                        modified
                                                                                                                        the value of the parameter since will be compared to the last modification time of the transaction on the figo Connect server. The response parameter transactions will contain not only newly created transactions but also modified transactions. The response parameter deleted will contain a list of removed transactions.
                                                                                                                        • Default Value: booked
                                                                                                                        • Valid values: created, modified, booked
                                                                                                                        until
                                                                                                                        optional
                                                                                                                        Return only transactions which were booked on or before this date. Please provide as ISO date
                                                                                                                          filter
                                                                                                                          optional
                                                                                                                          Filter expression to narrow down the returned transactions
                                                                                                                            count
                                                                                                                            optional
                                                                                                                            Limit the number of returned transactions. The default number is 1000. In combination with the start_id parameter this can be used to paginate the result list.
                                                                                                                            • Default Value: 1000
                                                                                                                            offset
                                                                                                                            optional
                                                                                                                            Offset into the implicit list of transactions used as starting point for the returned transactions. In combination with the count parameter this can be used to paginate the result list.
                                                                                                                              include_pending
                                                                                                                              optional
                                                                                                                              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.
                                                                                                                              • Default Value: 0
                                                                                                                              • Valid values: 0, 1

                                                                                                                              Response

                                                                                                                              Parameter Description
                                                                                                                              transactions List of transaction objects
                                                                                                                              deleted List of deleted transaction IDs.
                                                                                                                              status Synchronization status object. The error messages of all accounts will be concatenated to a single error message. For oldest timestamp of all accounts will be used.

                                                                                                                              Modify a transaction

                                                                                                                              {
                                                                                                                                  "visited": true
                                                                                                                              }
                                                                                                                              

                                                                                                                              HTTP Request

                                                                                                                              PUT /rest/accounts/<account_id>/transactions/<transaction_id>

                                                                                                                              Authentication

                                                                                                                              with access token including scope transactions=rw

                                                                                                                              Request

                                                                                                                              Parameter Description
                                                                                                                              account_id id of the account the transaction belongs to
                                                                                                                                transaction_id id of the transaction to retrieve
                                                                                                                                  visited
                                                                                                                                  optional
                                                                                                                                  bit showing whether the user has already seen this transaction

                                                                                                                                    Response

                                                                                                                                    A sucessfull response contains no content

                                                                                                                                    Modify all transactions of one or all accounts

                                                                                                                                    {
                                                                                                                                        "visited": true
                                                                                                                                    }
                                                                                                                                    

                                                                                                                                    Using the /rest/transactions endpoint only returns transactions on accounts that the user has chosen to share with your application.

                                                                                                                                    HTTP Request

                                                                                                                                    PUT /rest/transactions

                                                                                                                                    PUT /rest/accounts/<account_id>/transactions

                                                                                                                                    Authentication

                                                                                                                                    with access token including scope transactions=rw

                                                                                                                                    Request

                                                                                                                                    Parameter Description
                                                                                                                                    account_id
                                                                                                                                    optional
                                                                                                                                    the id of the account for which to retrieve the transactions
                                                                                                                                      visited bit showing whether the user has already seen this transaction

                                                                                                                                        Response

                                                                                                                                        A sucessfull response contains no content

                                                                                                                                        Delete a transaction

                                                                                                                                        HTTP Request

                                                                                                                                        DELETE /rest/accounts/<account_id>/transactions/<transaction_id>

                                                                                                                                        Authentication

                                                                                                                                        with access token including scope transactions=rw

                                                                                                                                        Request

                                                                                                                                        Parameter Description
                                                                                                                                        account_id id of the account the transaction belongs to
                                                                                                                                          transaction_id id of the transaction to retrieve

                                                                                                                                            Response

                                                                                                                                            A sucessfull response contains no content

                                                                                                                                            Payments

                                                                                                                                            In addition to retrieving information on a bank account, this API also provides the ability to submit wires in the name of the account owner.

                                                                                                                                            Submitting a new payment generally is a two-phased process: 1. compile all information on the payment by creating and modifying a payment object 2. submitting that payment object to the bank.

                                                                                                                                            While the first part is normal live interaction with this API, the second one uses the task processing system to allow for more time as bank servers are sometimes slow to respond. In addition you will need a TAN (Transaktionsnummer) from your bank to authenticate the submission.

                                                                                                                                            Using the Demobank

                                                                                                                                            The Demobank provided by this API for testing purposes, also supports payments to any valid national or SEPA account. Please be aware that you can also submit payments from your normal bank to the Demobank, which will only fail in the validation stage.

                                                                                                                                            The Demobank uses a constant TAN of 111111.

                                                                                                                                            Other Demo Accounts

                                                                                                                                            You can find more demo accounts for the usage with SEPA transfers at http://www.unfcu.org/WorkArea/DownloadAsset.aspx?id=1056.

                                                                                                                                            Payment Type

                                                                                                                                            Figo provides the ability to submit classical, national wires as well as SEPA wires. In addition to normal wires, this API also supports submitting direct debit requests for the national as well as the SEPA system. In total this API supports the following payment types: Tansfer, Direct debit, SEPA transfer and SEPA direct debit.

                                                                                                                                            Submission Process

                                                                                                                                            The core of the submission process is the data validation and the TAN process.

                                                                                                                                            Data validation

                                                                                                                                            As banks have to adhere to money laundering regulations and safeguard against malicious or broken clients, some additional validations steps are used to verify the validity of a submitted payment. The most important one is the “Doppeleinreichungskontrolle”, which denies submitting two very similar payments right after each other. The exact definition of similar depends on the specific banks, but the payee, the amount and the purpose are most often taken into account.

                                                                                                                                            TAN processing

                                                                                                                                            Depending on the bank there are quite a few TAN processes in production in Germany, which from an API standpoint boil down to the following scenarios:

                                                                                                                                            text challenge TAN
                                                                                                                                            the user needs to follow some simple text rules, e.g. looking up a TAN with a certain number or looking at his phone
                                                                                                                                            smartTAN/chipTAN
                                                                                                                                            an animated image is shown which can be read with the TAN generator supplied by the customers bank. This image is encoded in a meta-language to be rendered by a JavaScript library. Please [contact us](mailto:support@figo.me) for more details. This format is designated as *HHD* in this API.
                                                                                                                                            PhotoTAN
                                                                                                                                            a QRcode-like image is shown which can be read with the TAN generator supplied by the customers bank. This image is transported as such an only needs to be displayed. This format is designated as *Matrix* in this API.

                                                                                                                                            For each scheme the respective challenge information, e.g. the text or image, needs to be displayed to the user, which in turn enters a 6 digit number.

                                                                                                                                            Payment Properties

                                                                                                                                            Field Description
                                                                                                                                            payment_id Internal figo Connect payment ID
                                                                                                                                            account_id Internal figo Connect account ID
                                                                                                                                            type Payment type
                                                                                                                                            name Name of creditor or debtor
                                                                                                                                            account_number Account number of creditor or debtor
                                                                                                                                            bank_code Bank code of creditor or debtor
                                                                                                                                            bank_name Bank name of creditor or debtor
                                                                                                                                            bank_icon Icon of creditor or debtor bank
                                                                                                                                            bank_additional_icons Dictionary mapping from resolution to URL for additional resolutions of the banks icon. Currently only supports 48x48
                                                                                                                                            amount Order amount
                                                                                                                                            currency Three-character currency code
                                                                                                                                            purpose Purpose text
                                                                                                                                            text_key DTA text key
                                                                                                                                            text_key_extension DTA text key extension
                                                                                                                                            container If this payment object is a container for multiple payments, then this field is set and contains a list of payment objects
                                                                                                                                            submission_timestamp Timestamp of submission to the bank server.
                                                                                                                                            creation_timestamp Internal creation timestamp on the figo Connect server.
                                                                                                                                            modification_timestamp Internal modification timestamp on the figo Connect server.

                                                                                                                                            API Calls

                                                                                                                                            Retrieve all or one payment(s)

                                                                                                                                            {
                                                                                                                                                "payments": [
                                                                                                                                                    {
                                                                                                                                                        "account_id": "A1.1", 
                                                                                                                                                        "account_number": "4711951501", 
                                                                                                                                                        "amount": 0.89000000000000001, 
                                                                                                                                                        "bank_additional_icons": {
                                                                                                                                                            "48x48": "https://api.figo.me/assets/images/accounts/default-small@2x.png", 
                                                                                                                                                            "60x60": "https://api.figo.me/assets/images/accounts/default@2x.png"
                                                                                                                                                        }, 
                                                                                                                                                        "bank_code": "90090042", 
                                                                                                                                                        "bank_icon": "https://api.figo.me/assets/images/accounts/demokonto.png", 
                                                                                                                                                        "creation_timestamp": "2013-07-16T13:53:56.000Z", 
                                                                                                                                                        "currency": "EUR", 
                                                                                                                                                        "modification_timestamp": "2013-07-16T13:53:56.000Z", 
                                                                                                                                                        "name": "figo", 
                                                                                                                                                        "notification_recipient": "", 
                                                                                                                                                        "payment_id": "P1.1.234", 
                                                                                                                                                        "purpose": "Thanks for all the fish.", 
                                                                                                                                                        "text_key": 51, 
                                                                                                                                                        "text_key_extension": 0, 
                                                                                                                                                        "type": "Transfer"
                                                                                                                                                    }
                                                                                                                                                ]
                                                                                                                                            }
                                                                                                                                            

                                                                                                                                            HTTP Request

                                                                                                                                            GET /rest/payments

                                                                                                                                            GET /rest/accounts/<account_id>/payments

                                                                                                                                            GET /rest/accounts/<account_id>/payments/<payment_id>

                                                                                                                                            Authentication

                                                                                                                                            with access token including scope payments=ro

                                                                                                                                            Request

                                                                                                                                            Parameter Description
                                                                                                                                            account_id
                                                                                                                                            optional
                                                                                                                                            Internal figo connect ID of the account
                                                                                                                                              payment_id
                                                                                                                                              optional
                                                                                                                                              Internal figo connect ID of the payment

                                                                                                                                                Response

                                                                                                                                                Parameter Description
                                                                                                                                                payments List of payment objects. Not used when retrieving a specific payment.

                                                                                                                                                Retrieve payment proposals

                                                                                                                                                [
                                                                                                                                                    {
                                                                                                                                                        "account_number": "DE67900900424711951500", 
                                                                                                                                                        "bank_code": "DEMODE01", 
                                                                                                                                                        "name": "Girokonto"
                                                                                                                                                    }, 
                                                                                                                                                    {
                                                                                                                                                        "account_number": "4711951501", 
                                                                                                                                                        "bank_code": "90090042", 
                                                                                                                                                        "name": "Lichtblick AG"
                                                                                                                                                    }
                                                                                                                                                ]
                                                                                                                                                

                                                                                                                                                Provides a address book-like list of proposed wire transfer partners

                                                                                                                                                HTTP Request

                                                                                                                                                GET /rest/address_book

                                                                                                                                                Authentication

                                                                                                                                                with access token including scope transactions=ro

                                                                                                                                                Response

                                                                                                                                                Parameter Description
                                                                                                                                                Array of dictionaries with name, account number/IBAN, bank code/BIC, bank name and bank icon fields for the different payment partners seen in the transactions

                                                                                                                                                Create a container payment

                                                                                                                                                {
                                                                                                                                                    "account_id": "A1.1", 
                                                                                                                                                    "amount": 700.0, 
                                                                                                                                                    "container": [
                                                                                                                                                        {
                                                                                                                                                            "account_id": "A1.1", 
                                                                                                                                                            "account_number": "4711951501", 
                                                                                                                                                            "amount": 400.0, 
                                                                                                                                                            "bank_code": "90090042", 
                                                                                                                                                            "bank_name": "Demobank", 
                                                                                                                                                            "creation_timestamp": "2013-07-17T11:23:47.000Z", 
                                                                                                                                                            "currency": "EUR", 
                                                                                                                                                            "modification_timestamp": "2013-07-17T11:23:47.000Z", 
                                                                                                                                                            "name": "figo", 
                                                                                                                                                            "notification_recipient": "", 
                                                                                                                                                            "payment_id": "P1.1.235.1", 
                                                                                                                                                            "purpose": "Order nb. 888", 
                                                                                                                                                            "text_key": 51, 
                                                                                                                                                            "text_key_extension": 0, 
                                                                                                                                                            "type": "Transfer"
                                                                                                                                                        }, 
                                                                                                                                                        {
                                                                                                                                                            "account_id": "A1.1", 
                                                                                                                                                            "account_number": "4711951502", 
                                                                                                                                                            "amount": 300.0, 
                                                                                                                                                            "bank_code": "90090042", 
                                                                                                                                                            "bank_name": "Demobank", 
                                                                                                                                                            "creation_timestamp": "2013-07-17T11:23:47.000Z", 
                                                                                                                                                            "currency": "EUR", 
                                                                                                                                                            "modification_timestamp": "2013-07-17T11:23:47.000Z", 
                                                                                                                                                            "name": "figo", 
                                                                                                                                                            "notification_recipient": "", 
                                                                                                                                                            "payment_id": "P1.1.235.2", 
                                                                                                                                                            "purpose": "Order nb. 999", 
                                                                                                                                                            "text_key": 51, 
                                                                                                                                                            "text_key_extension": 0, 
                                                                                                                                                            "type": "Transfer"
                                                                                                                                                        }
                                                                                                                                                    ], 
                                                                                                                                                    "creation_timestamp": "2013-07-17T11:23:47.000Z", 
                                                                                                                                                    "currency": "EUR", 
                                                                                                                                                    "modification_timestamp": "2013-07-17T11:23:47.000Z", 
                                                                                                                                                    "payment_id": "P1.1.235", 
                                                                                                                                                    "type": "Transfer"
                                                                                                                                                }
                                                                                                                                                

                                                                                                                                                Container payments are aggregations of more-or-less independent payments execute as one by the bank.

                                                                                                                                                HTTP Request

                                                                                                                                                POST /rest/accounts/<account_id>/payments

                                                                                                                                                Authentication

                                                                                                                                                with access token including scope payments=rw

                                                                                                                                                Request

                                                                                                                                                Parameter Description
                                                                                                                                                account_id Internal figo connect ID of the account
                                                                                                                                                  type Payment type
                                                                                                                                                  • Valid values: Transfer, Direct debit, SEPA transfer, SEPA direct debit
                                                                                                                                                  container
                                                                                                                                                  optional
                                                                                                                                                  List of payment objects. This payment can only be a container for multiple payments if the field supported_file_formats of the payment parameters is not empty.

                                                                                                                                                    Response

                                                                                                                                                    Parameter Description
                                                                                                                                                    The payment object after the modification.

                                                                                                                                                    Create a single payment

                                                                                                                                                    {
                                                                                                                                                        "account_number": "4711951501", 
                                                                                                                                                        "amount": 0.89000000000000001, 
                                                                                                                                                        "bank_code": "90090042", 
                                                                                                                                                        "name": "figo", 
                                                                                                                                                        "purpose": "Thanks for all the fish.", 
                                                                                                                                                        "type": "Transfer"
                                                                                                                                                    }
                                                                                                                                                    

                                                                                                                                                    The above command returns

                                                                                                                                                    {
                                                                                                                                                        "account_id": "A1.1", 
                                                                                                                                                        "account_number": "4711951501", 
                                                                                                                                                        "amount": 0.89000000000000001, 
                                                                                                                                                        "bank_code": "90090042", 
                                                                                                                                                        "bank_name": "Demobank", 
                                                                                                                                                        "creation_timestamp": "2013-07-16T13:53:56.000Z", 
                                                                                                                                                        "currency": "EUR", 
                                                                                                                                                        "modification_timestamp": "2013-07-16T13:53:56.000Z", 
                                                                                                                                                        "name": "figo", 
                                                                                                                                                        "notification_recipient": "", 
                                                                                                                                                        "payment_id": "P1.1.234", 
                                                                                                                                                        "purpose": "Thanks for all the fish.", 
                                                                                                                                                        "text_key": 51, 
                                                                                                                                                        "text_key_extension": 0, 
                                                                                                                                                        "type": "Transfer"
                                                                                                                                                    }
                                                                                                                                                    

                                                                                                                                                    HTTP Request

                                                                                                                                                    POST /rest/accounts/<account_id>/payments

                                                                                                                                                    Authentication

                                                                                                                                                    with access token including scope payments=rw

                                                                                                                                                    Request

                                                                                                                                                    Parameter Description
                                                                                                                                                    account_id Internal figo connect ID of the account
                                                                                                                                                      type Payment type
                                                                                                                                                      • Valid values: Transfer, Direct debit, SEPA transfer, SEPA direct debit
                                                                                                                                                      name Name of creditor or debtor
                                                                                                                                                        account_number Account number of creditor or debtor
                                                                                                                                                          bank_code Bank code of creditor or debtor
                                                                                                                                                            amount Order amount
                                                                                                                                                              currency
                                                                                                                                                              optional
                                                                                                                                                              Three-character currency code
                                                                                                                                                              • Default Value: EUR
                                                                                                                                                              • Valid values: EUR
                                                                                                                                                              purpose Purpose text
                                                                                                                                                                text_key
                                                                                                                                                                optional
                                                                                                                                                                DTA text key
                                                                                                                                                                • Default Value: 51
                                                                                                                                                                text_key_extension
                                                                                                                                                                optional
                                                                                                                                                                DTA text key extension
                                                                                                                                                                  notification_recipient
                                                                                                                                                                  optional
                                                                                                                                                                  Recipient of the payment notification, should be an email address

                                                                                                                                                                    Response

                                                                                                                                                                    Parameter Description
                                                                                                                                                                    The payment object after the modification.

                                                                                                                                                                    Submit payment to bank server

                                                                                                                                                                    {
                                                                                                                                                                        "redirect_uri": "https://api.figo.me/callback", 
                                                                                                                                                                        "state": "4HgwtQP0dnX4UjPf", 
                                                                                                                                                                        "tan_scheme_id": "M1.1.1"
                                                                                                                                                                    }
                                                                                                                                                                    

                                                                                                                                                                    The above command returns

                                                                                                                                                                    {
                                                                                                                                                                        "task_token": "YmB-BtvbWufLnbwgAVfP7XfLatwhrtu0sATfnZNR7LGP-aLXiZ7BKzLdZI--EqEPnwh_h6mCxToLEBhtA7LVd4uM4gTcZG8F6UJs47g6kWJ0"
                                                                                                                                                                    }
                                                                                                                                                                    

                                                                                                                                                                    This call will return immediately and return a task token. Please see the chapter on tasks for more details.

                                                                                                                                                                    HTTP Request

                                                                                                                                                                    POST /rest/accounts/<account_id>/payments/<payment_id>/submit

                                                                                                                                                                    Authentication

                                                                                                                                                                    with access token including scope submit_payments

                                                                                                                                                                    Request

                                                                                                                                                                    Parameter Description
                                                                                                                                                                    account_id Internal figo connect ID of the account
                                                                                                                                                                      payment_id Internal figo Connect payment ID
                                                                                                                                                                        redirect_uri
                                                                                                                                                                        optional
                                                                                                                                                                        At the end of the submission process a response will be sent to this callback URL
                                                                                                                                                                        • Default Value: the first redirect URI of the client
                                                                                                                                                                        state 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 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.
                                                                                                                                                                          tan_scheme_id TAN scheme ID of user-selected TAN scheme

                                                                                                                                                                            Response

                                                                                                                                                                            Parameter Description
                                                                                                                                                                            task_token Task token

                                                                                                                                                                            Modify a container payment

                                                                                                                                                                            {
                                                                                                                                                                                "amount": 8.9900000000000002, 
                                                                                                                                                                                "purpose": "Thanks for all the fish."
                                                                                                                                                                            }
                                                                                                                                                                            

                                                                                                                                                                            If the payments has already been submitted to the bank server, i.e. the field submission_timestamp is set, it can no longer be modified.

                                                                                                                                                                            HTTP Request

                                                                                                                                                                            PUT /rest/accounts/<account_id>/payments/<payment_id>

                                                                                                                                                                            Authentication

                                                                                                                                                                            with access token including scope payments=rw

                                                                                                                                                                            Request

                                                                                                                                                                            Parameter Description
                                                                                                                                                                            account_id Internal figo connect ID of the account
                                                                                                                                                                              payment_id Internal figo connect ID of the payment
                                                                                                                                                                                container
                                                                                                                                                                                optional
                                                                                                                                                                                List of payment objects. This payment can only be a container for multiple payments if the field supported_file_formats of the payment parameters is not empty.

                                                                                                                                                                                  Response

                                                                                                                                                                                  Parameter Description
                                                                                                                                                                                  The payment object after the modification.

                                                                                                                                                                                  Modify a single payment

                                                                                                                                                                                  If the payments has already been submitted to the bank server, i.e. the field submission_timestamp is set, it can no longer be modified.

                                                                                                                                                                                  HTTP Request

                                                                                                                                                                                  PUT /rest/accounts/<account_id>/payments/<payment_id>

                                                                                                                                                                                  Authentication

                                                                                                                                                                                  with access token including scope payments=rw

                                                                                                                                                                                  Request

                                                                                                                                                                                  Parameter Description
                                                                                                                                                                                  account_id Internal figo connect ID of the account
                                                                                                                                                                                    payment_id Internal figo connect ID of the payment
                                                                                                                                                                                      name
                                                                                                                                                                                      optional
                                                                                                                                                                                      Name of creditor or debtor
                                                                                                                                                                                        account_number
                                                                                                                                                                                        optional
                                                                                                                                                                                        Account number of creditor or debtor
                                                                                                                                                                                          bank_code
                                                                                                                                                                                          optional
                                                                                                                                                                                          Bank code of creditor or debtor
                                                                                                                                                                                            amount
                                                                                                                                                                                            optional
                                                                                                                                                                                            Order amount
                                                                                                                                                                                              currency
                                                                                                                                                                                              optional
                                                                                                                                                                                              Three-character currency code
                                                                                                                                                                                              • Valid values: EUR
                                                                                                                                                                                              purpose
                                                                                                                                                                                              optional
                                                                                                                                                                                              Purpose text
                                                                                                                                                                                                text_key
                                                                                                                                                                                                optional
                                                                                                                                                                                                DTA text key
                                                                                                                                                                                                  text_key_extension
                                                                                                                                                                                                  optional
                                                                                                                                                                                                  DTA text key extension
                                                                                                                                                                                                    notification_recipient
                                                                                                                                                                                                    optional
                                                                                                                                                                                                    Recipient of the payment notification, should be an email address

                                                                                                                                                                                                      Response

                                                                                                                                                                                                      Parameter Description
                                                                                                                                                                                                      The payment object after the modification.

                                                                                                                                                                                                      Delete payment

                                                                                                                                                                                                      HTTP Request

                                                                                                                                                                                                      DELETE /rest/accounts/<account_id>/payments/<payment_id>

                                                                                                                                                                                                      Authentication

                                                                                                                                                                                                      with access token including scope payments=rw

                                                                                                                                                                                                      Request

                                                                                                                                                                                                      Parameter Description
                                                                                                                                                                                                      account_id Internal figo connect ID of the account
                                                                                                                                                                                                        payment_id Internal figo connect ID of the payment

                                                                                                                                                                                                          Response

                                                                                                                                                                                                          A sucessfull response contains no content

                                                                                                                                                                                                          Task Processing

                                                                                                                                                                                                          As any interactions with a customers banks server might take some time, they are not executed in-sync with the requests causing them. Instead this API uses a task concept encapsulating such activities and providing an interface to query the current state of such a task.

                                                                                                                                                                                                          Displaying task progress

                                                                                                                                                                                                          This applies to every API call returning a Task Token which is the external identifier for a task in the system, e.g. bank account setup and synchronization. In such a case there are two possibilities to monitor the progress of the task.

                                                                                                                                                                                                          Using integrated UI

                                                                                                                                                                                                          This API provides an Web-based UI to show the progress of a task to the user. This UI can be triggered by opening http://api.figo.me/task/start?id=<task token> in the users web browser. Depending on the redirect URI supplied when calling the action which returned the task token, the user is either redirect to the application on end or error or the window is simply closed.

                                                                                                                                                                                                          In order to trigger the latter, the special redirect_uri close_window should be set.

                                                                                                                                                                                                          Using a custom UI

                                                                                                                                                                                                          This API also provides the information used by the integrated UI in a raw format. In this case the different scenarios have to be shown by the customer application:

                                                                                                                                                                                                          normal progress
                                                                                                                                                                                                          all state flags are false in this case and the message should be shown
                                                                                                                                                                                                          error condition
                                                                                                                                                                                                          is_erroneous is True and the message should be shown. The task can continue after submitting continue with the value 1.
                                                                                                                                                                                                          PIN entry
                                                                                                                                                                                                          is_waiting_for_pin is True and the user should be asked to enter the PIN. If desired a option to save the PIN should be shown. The task can continue after submitting pin and optionally save_pin.
                                                                                                                                                                                                          TAN entry
                                                                                                                                                                                                          is_waiting_for_response is True and the user should enter the TAN. Depending on the type of challenge the appropriate information should be shown. The task can continue after submitting response.

                                                                                                                                                                                                          When the state flag is_ended is returned as True, the task processing is finished. If is_erroneous is returned False the task has been successfully processed, otherwise the processing failed and a last error message can be found in the message field.

                                                                                                                                                                                                          Displaying TAN challenges

                                                                                                                                                                                                          Depending on the user selection, one of the following TAN challenge types might occur during task processing:

                                                                                                                                                                                                          Text
                                                                                                                                                                                                          a simple text should be displayed to the user. The text is passed-through from the bank and should explain the user what to do.
                                                                                                                                                                                                          HTML
                                                                                                                                                                                                          similar to the *Text* case but using HTML to format the text
                                                                                                                                                                                                          HHD
                                                                                                                                                                                                          the data encodes an animated image processable by the users TAN generator. Please contact us in case you would like to provide native support for this in your application.
                                                                                                                                                                                                          Matrix
                                                                                                                                                                                                          an image which should be shown to the user. The image is encoded following RFC 2397.

                                                                                                                                                                                                          API Calls

                                                                                                                                                                                                          Begin task

                                                                                                                                                                                                          Start communication with bank server. After your application obtained a task token, it may direct the user’s web browser to a popup window of figo Connect. The popup window will ask the user for his or her account PIN, perform two-factor authentication or ask for a TAN. It also displays status messages as the task proceeds.

                                                                                                                                                                                                          After the task has been finished, the figo Connect server sends a response message to the callback URL by redirecting the browser to redirect_uri. Your application can then use the REST API to retrieve the current balance, recent transactions and scheduled payments.

                                                                                                                                                                                                          HTTP Request

                                                                                                                                                                                                          GET /task/start

                                                                                                                                                                                                          Authentication

                                                                                                                                                                                                          Request

                                                                                                                                                                                                          Parameter Description
                                                                                                                                                                                                          id Task token from the initial request

                                                                                                                                                                                                            Response

                                                                                                                                                                                                            A sucessfull response contains no content

                                                                                                                                                                                                            Poll task state

                                                                                                                                                                                                            {
                                                                                                                                                                                                                "account_id": "A1.2", 
                                                                                                                                                                                                                "is_ended": false, 
                                                                                                                                                                                                                "is_erroneous": false, 
                                                                                                                                                                                                                "is_waiting_for_pin": false, 
                                                                                                                                                                                                                "is_waiting_for_response": false, 
                                                                                                                                                                                                                "message": "Getting balance..."
                                                                                                                                                                                                            }
                                                                                                                                                                                                            

                                                                                                                                                                                                            While the figo Connect server communicates with a bank server, your application can monitor its progress by periodically polling this method

                                                                                                                                                                                                            HTTP Request

                                                                                                                                                                                                            POST /task/progress

                                                                                                                                                                                                            Authentication

                                                                                                                                                                                                            Request

                                                                                                                                                                                                            Parameter Description
                                                                                                                                                                                                            id Task token
                                                                                                                                                                                                              pin
                                                                                                                                                                                                              optional
                                                                                                                                                                                                              Submit PIN. If this parameter is set, then the parameter save_pin must be set, too.
                                                                                                                                                                                                                continue
                                                                                                                                                                                                                optional
                                                                                                                                                                                                                This flag signals to continue after an error condition or to skip a PIN or challenge-response entry
                                                                                                                                                                                                                • Default Value: 0
                                                                                                                                                                                                                • Valid values: 0, 1
                                                                                                                                                                                                                save_pin
                                                                                                                                                                                                                optional
                                                                                                                                                                                                                This flag indicates whether the user has chosen to save the PIN on the figo Connect server
                                                                                                                                                                                                                • Default Value: 0
                                                                                                                                                                                                                • Valid values: 0, 1
                                                                                                                                                                                                                response
                                                                                                                                                                                                                optional
                                                                                                                                                                                                                Submit response to challenge.

                                                                                                                                                                                                                  Response

                                                                                                                                                                                                                  Parameter Description
                                                                                                                                                                                                                  account_id Account ID of currently processed account
                                                                                                                                                                                                                  message Status message or error message for currently processed account
                                                                                                                                                                                                                  is_waiting_for_pin If this flag is set, then the figo Connect server waits for a PIN
                                                                                                                                                                                                                  is_waiting_for_response If this flag is set, then the figo Connect server waits for a response to the parameter challenge
                                                                                                                                                                                                                  is_erroneous If this flag is set, then an error occurred and the figo Connect server waits for a continuation
                                                                                                                                                                                                                  is_ended If this flag is set, then the communication with the bank server has been completed
                                                                                                                                                                                                                  challenge Challenge object
                                                                                                                                                                                                                  FieldDescription>
                                                                                                                                                                                                                  titleChallenge title
                                                                                                                                                                                                                  labelResponse label
                                                                                                                                                                                                                  formatChallenge data format. Possible values are Text, HTML, HHD or Matrix.
                                                                                                                                                                                                                  dataChallenge data

                                                                                                                                                                                                                  Cancel a task

                                                                                                                                                                                                                  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.

                                                                                                                                                                                                                  HTTP Request

                                                                                                                                                                                                                  POST /task/cancel

                                                                                                                                                                                                                  Authentication

                                                                                                                                                                                                                  Request

                                                                                                                                                                                                                  Parameter Description
                                                                                                                                                                                                                  id Task token

                                                                                                                                                                                                                    Response

                                                                                                                                                                                                                    A sucessfull response contains no content

                                                                                                                                                                                                                    Business Process System

                                                                                                                                                                                                                    The Process System allows an application to define a series steps to be executed by the user via a web browser. The UI for these steps is provided by this API and does not need to be implemented by your application. This simplifies integration of figo into applications by alleviating the need for UIs even for more complex setup procedures.

                                                                                                                                                                                                                    In general first a Process Token is created by your application containing all the information needed to execute the configured steps. Then the users browser is directed to https://api.figo.me/process/start?id=<process_token> to start execution. When the user finished or abandoned the process, he is redirected to a pre-defined URL of your application signaling this and allowing for any result evaluation desired.

                                                                                                                                                                                                                    Processes are always executed in the context of a figo user and all actions triggered by the user only modify that figo user. When creating a new Process Token, a new figo user can be created simultaneously or a pre-existing one can be used.

                                                                                                                                                                                                                    Currently only very few process steps are supported. If you are interested in steps not yet available , please let us know.

                                                                                                                                                                                                                    Process Steps

                                                                                                                                                                                                                    Bank Account Setup

                                                                                                                                                                                                                    Requesting the user to connect a new bank account to the figo account used as context.

                                                                                                                                                                                                                    Step Type

                                                                                                                                                                                                                    figo.steps.account.create

                                                                                                                                                                                                                    Parameters

                                                                                                                                                                                                                    Parameter Description
                                                                                                                                                                                                                    bank_code The bank code of the new bank account. If this value is provided, the user will not be asked for it
                                                                                                                                                                                                                    filter_demo_banks Whether to filter out the demo banks supported by figo (e.g. figo Demobank and GAD Testinstitut). Defaults to true.
                                                                                                                                                                                                                    max_attempts Maximum number of attempts to add a bank connection before the process is considered failed. The default value is 3.

                                                                                                                                                                                                                    Submit Payment

                                                                                                                                                                                                                    Requesting the user to submit a wire to one of his banks. He will be able to select the source account and will be shown the payment details.

                                                                                                                                                                                                                    Step Type

                                                                                                                                                                                                                    figo.steps.payment.submit

                                                                                                                                                                                                                    Parameters

                                                                                                                                                                                                                    Parameter Description
                                                                                                                                                                                                                    type Type of the payment. Either Transfer or SEPA transfer
                                                                                                                                                                                                                    name Name of recipient
                                                                                                                                                                                                                    account_number Account Number of the recipient
                                                                                                                                                                                                                    bank_code Bank Code of the recipient
                                                                                                                                                                                                                    purpose Purpose of the payment
                                                                                                                                                                                                                    amount Amount to pay
                                                                                                                                                                                                                    currency Currency to be used for payment. Defaults to EUR.
                                                                                                                                                                                                                    max_attempts Maximum number of attempts to add a bank connection before the process is considered failed. The default value is 1.

                                                                                                                                                                                                                    API Calls

                                                                                                                                                                                                                    Begin process

                                                                                                                                                                                                                    Web endpoint to be used by the end user process in order to execute the process

                                                                                                                                                                                                                    HTTP Request

                                                                                                                                                                                                                    GET /process/start

                                                                                                                                                                                                                    Authentication

                                                                                                                                                                                                                    Request

                                                                                                                                                                                                                    Parameter Description
                                                                                                                                                                                                                    id Task token from the initial request

                                                                                                                                                                                                                      Response

                                                                                                                                                                                                                      A sucessfull response contains no content

                                                                                                                                                                                                                      Create a process

                                                                                                                                                                                                                      {
                                                                                                                                                                                                                          "email": "process.1@demo.figo.io", 
                                                                                                                                                                                                                          "password": "figofigo", 
                                                                                                                                                                                                                          "state": "123", 
                                                                                                                                                                                                                          "steps": [
                                                                                                                                                                                                                              {
                                                                                                                                                                                                                                  "options": {}, 
                                                                                                                                                                                                                                  "type": "figo.steps.account.create"
                                                                                                                                                                                                                              }, 
                                                                                                                                                                                                                              {
                                                                                                                                                                                                                                  "options": {
                                                                                                                                                                                                                                      "account_number": "100100100", 
                                                                                                                                                                                                                                      "amount": 99, 
                                                                                                                                                                                                                                      "bank_code": "82051000", 
                                                                                                                                                                                                                                      "currency": "EUR", 
                                                                                                                                                                                                                                      "name": "Figo GmbH", 
                                                                                                                                                                                                                                      "purpose": "Yearly contribution", 
                                                                                                                                                                                                                                      "type": "Transfer"
                                                                                                                                                                                                                                  }, 
                                                                                                                                                                                                                                  "type": "figo.steps.payment.submit"
                                                                                                                                                                                                                              }
                                                                                                                                                                                                                          ]
                                                                                                                                                                                                                      }
                                                                                                                                                                                                                      

                                                                                                                                                                                                                      The above command returns

                                                                                                                                                                                                                      {
                                                                                                                                                                                                                          "process_token": "PmB-BtvbWufLnbwgAVfP7XfLatwhrtu0sATfnZNR7LGP-aLXiZ7BKzLdZI--EqEPnwh_h6mCxToLEBhtA7LVd4uM4gTcZG8F6UJs47g6kWJ0"
                                                                                                                                                                                                                      }
                                                                                                                                                                                                                      

                                                                                                                                                                                                                      Create a new process to be executed by the user.

                                                                                                                                                                                                                      HTTP Request

                                                                                                                                                                                                                      POST /client/process

                                                                                                                                                                                                                      Authentication

                                                                                                                                                                                                                      with client credentials including scope process

                                                                                                                                                                                                                      Request

                                                                                                                                                                                                                      Parameter Description
                                                                                                                                                                                                                      email The email of the existing user to use as context or the new user to create beforehand. In the latter case it must obey the figo username & password policy
                                                                                                                                                                                                                        password The password of the user existing or new user. In the latter case it must obey the figo username & password policy
                                                                                                                                                                                                                          redirect_uri
                                                                                                                                                                                                                          optional
                                                                                                                                                                                                                          The authorization code will be sent to this callback URL. It must match one of the URLs registered during application registration.
                                                                                                                                                                                                                          • Default Value: The first redirect URI configured for the client
                                                                                                                                                                                                                          state 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 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.
                                                                                                                                                                                                                            steps A list of step definitions. Each step definition is a dictionary with type and options keys, where type is the name of step type and options is another dictionary containing all the settings for the respective step

                                                                                                                                                                                                                              Response

                                                                                                                                                                                                                              Parameter Description
                                                                                                                                                                                                                              process_token A process token representing the just created process. The user should be directed to https://api.figo.me/process/start?id=<process_token> to execute it.

                                                                                                                                                                                                                              Notifcations & Web Hooks

                                                                                                                                                                                                                              Whenever the bank account of a user received new transactions, your application can asynchronously be notified via webhooks. For which events your applications gets called depends on the used notification key, which are described in the next section.

                                                                                                                                                                                                                              Currently classical webhooks and APNS notifications are supported. While the first kind can be used by all applications, the latter is only available to specially registered applications. If you are interested in APNS notifications or a new kind, please let us know.

                                                                                                                                                                                                                              Notification Keys

                                                                                                                                                                                                                              Account balance

                                                                                                                                                                                                                              Triggered when the respective account balance changes.

                                                                                                                                                                                                                              Notification Key

                                                                                                                                                                                                                              /rest/accounts/{account_id}/balance

                                                                                                                                                                                                                              Authentication

                                                                                                                                                                                                                              with access token including scope balance=ro

                                                                                                                                                                                                                              Parameters

                                                                                                                                                                                                                              Parameter Description
                                                                                                                                                                                                                              account_id Internal figo Connect account ID.
                                                                                                                                                                                                                              inferior_limit Trigger if the balance of the account is under the provided value.

                                                                                                                                                                                                                              Account transactions

                                                                                                                                                                                                                              Triggered when an account has received new transactions.

                                                                                                                                                                                                                              Notification Key

                                                                                                                                                                                                                              /rest/accounts/{account_id}/transactions

                                                                                                                                                                                                                              Authentication

                                                                                                                                                                                                                              with access token including scope transactions=ro

                                                                                                                                                                                                                              Parameters

                                                                                                                                                                                                                              Parameter Description
                                                                                                                                                                                                                              account_id Internal figo Connect account ID.
                                                                                                                                                                                                                              include_pending Trigger not only for booked but also for pending transactions.
                                                                                                                                                                                                                              more_expenses_then_deposits Trigger only if the sum of expenses in the current month exceeds the sum of deposits in the same time. Only combinable with include_pending
                                                                                                                                                                                                                              current_month_expense_goal Trigger only if the sum of expenses in the current month exceeds the provided value. Only combinable with include_pending
                                                                                                                                                                                                                              single_expense_goal Trigger only for expense transactions exceeding the provided value. Only combinable with include_pending
                                                                                                                                                                                                                              single_deposit_goal Trigger only for expense transactions exceeding the provided value. Only combinable with include_pending
                                                                                                                                                                                                                              purpose Trigger only on transactions whose purpose contains the provided value. Only combinable with include_pending
                                                                                                                                                                                                                              name Trigger only on transactions whose sender/receiver name contains the provided value. Only combinable with include_pending

                                                                                                                                                                                                                              All transactions

                                                                                                                                                                                                                              Triggered when any of the accounts that the user has chosen to share with your application has received new transactions.

                                                                                                                                                                                                                              Notification Key

                                                                                                                                                                                                                              /rest/transactions

                                                                                                                                                                                                                              Authentication

                                                                                                                                                                                                                              with access token including scope transactions=ro

                                                                                                                                                                                                                              Parameters

                                                                                                                                                                                                                              Parameter Description
                                                                                                                                                                                                                              include_pending Trigger not only for booked but also for pending transactions.

                                                                                                                                                                                                                              Test notification

                                                                                                                                                                                                                              Triggered immediately. This special notification key can be used to test the delivery of notifications. The notification message will be sent immediately and no registration occurs.

                                                                                                                                                                                                                              Notification Key

                                                                                                                                                                                                                              /rest/notifications/test

                                                                                                                                                                                                                              API Calls

                                                                                                                                                                                                                              Retrieve all or one specific notification(s)

                                                                                                                                                                                                                              {
                                                                                                                                                                                                                                  "notifications": [
                                                                                                                                                                                                                                      {
                                                                                                                                                                                                                                          "notification_id": "N1.7", 
                                                                                                                                                                                                                                          "notify_uri": "https://api.figo.me/callback", 
                                                                                                                                                                                                                                          "observe_key": "/rest/transactions?include_pending=0", 
                                                                                                                                                                                                                                          "state": "cjLaN3lONdeLJQH3"
                                                                                                                                                                                                                                      }
                                                                                                                                                                                                                                  ]
                                                                                                                                                                                                                              }
                                                                                                                                                                                                                              

                                                                                                                                                                                                                              HTTP Request

                                                                                                                                                                                                                              GET /rest/notifications

                                                                                                                                                                                                                              GET /rest/notifications/<notification_id>

                                                                                                                                                                                                                              Authentication

                                                                                                                                                                                                                              Request

                                                                                                                                                                                                                              Parameter Description
                                                                                                                                                                                                                              notification_id
                                                                                                                                                                                                                              optional
                                                                                                                                                                                                                              Internal figo Connect notification ID

                                                                                                                                                                                                                                Response

                                                                                                                                                                                                                                Parameter Description
                                                                                                                                                                                                                                notification_id Internal ID of the notification
                                                                                                                                                                                                                                observe_key URL describing on what condition this notification is triggered
                                                                                                                                                                                                                                notify_uri URL specifying who and how the notification is delivered
                                                                                                                                                                                                                                state Value passed back transparently when delivering the notification

                                                                                                                                                                                                                                Create a new notification

                                                                                                                                                                                                                                {
                                                                                                                                                                                                                                    "notify_uri": "https://api.figo.me/callback", 
                                                                                                                                                                                                                                    "observe_key": "/rest/transactions?include_pending=0", 
                                                                                                                                                                                                                                    "state": "cjLaN3lONdeLJQH3"
                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                

                                                                                                                                                                                                                                The above command returns

                                                                                                                                                                                                                                {
                                                                                                                                                                                                                                    "notification_id": "N1.7", 
                                                                                                                                                                                                                                    "notify_uri": "https://api.figo.me/callback", 
                                                                                                                                                                                                                                    "observe_key": "/rest/transactions?include_pending=0", 
                                                                                                                                                                                                                                    "state": "cjLaN3lONdeLJQH3"
                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                

                                                                                                                                                                                                                                HTTP Request

                                                                                                                                                                                                                                POST /rest/notifications

                                                                                                                                                                                                                                Authentication

                                                                                                                                                                                                                                Request

                                                                                                                                                                                                                                Parameter Description
                                                                                                                                                                                                                                observe_key Notification key
                                                                                                                                                                                                                                  notify_uri Notification messages will be sent to this URL. The URL schemes https:// and http:// are used for webhooks. URLs with the scheme apns:// denote the Apple Push Notification Service and have the form apns://{bundle_id}/{apns_token}?sandbox={sandbox}, where bundle_id is the iOS App bundle identfier, apns_token is the device APNS token issued by Apple and sandbox is a flag which indicates whether the token has been issued by the Apple sandbox server.
                                                                                                                                                                                                                                    state
                                                                                                                                                                                                                                    optional
                                                                                                                                                                                                                                    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 an user ID from your application. The value should also contain a random component, which your application checks to mitigate cross-site request forgery. This value is ignored for URL scheme apns://.

                                                                                                                                                                                                                                      Response

                                                                                                                                                                                                                                      Parameter Description
                                                                                                                                                                                                                                      Newly created notification object

                                                                                                                                                                                                                                      Modify notification

                                                                                                                                                                                                                                      {
                                                                                                                                                                                                                                          "notify_uri": "https://api.figo.me/callback"
                                                                                                                                                                                                                                      }
                                                                                                                                                                                                                                      

                                                                                                                                                                                                                                      HTTP Request

                                                                                                                                                                                                                                      PUT /rest/notifications/<notification_id>

                                                                                                                                                                                                                                      Authentication

                                                                                                                                                                                                                                      Request

                                                                                                                                                                                                                                      Parameter Description
                                                                                                                                                                                                                                      notification_id Internal figo Connect notification ID
                                                                                                                                                                                                                                        observe_key
                                                                                                                                                                                                                                        optional
                                                                                                                                                                                                                                        Notification key
                                                                                                                                                                                                                                          notify_uri
                                                                                                                                                                                                                                          optional
                                                                                                                                                                                                                                          Notification messages will be sent to this URL. The URL schemes https:// and http:// are used for webhooks. URLs with the scheme apns:// denote the Apple Push Notification Service and have the form apns://{bundle_id}/{apns_token}?sandbox={sandbox}, where bundle_id is the iOS App bundle identfier, apns_token is the device APNS token issued by Apple and sandbox is a flag which indicates whether the token has been issued by the Apple sandbox server.
                                                                                                                                                                                                                                            state
                                                                                                                                                                                                                                            optional
                                                                                                                                                                                                                                            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 an user ID from your application. The value should also contain a random component, which your application checks to mitigate cross-site request forgery. This value is ignored for URL scheme apns://.

                                                                                                                                                                                                                                              Response

                                                                                                                                                                                                                                              Parameter Description
                                                                                                                                                                                                                                              The notification object after the update

                                                                                                                                                                                                                                              Replace notifications

                                                                                                                                                                                                                                              This endpoint replaces the complete list of configured notifications with a new set

                                                                                                                                                                                                                                              HTTP Request

                                                                                                                                                                                                                                              PUT /rest/notifications

                                                                                                                                                                                                                                              Authentication

                                                                                                                                                                                                                                              Request

                                                                                                                                                                                                                                              Parameter Description
                                                                                                                                                                                                                                              notifications
                                                                                                                                                                                                                                              optional
                                                                                                                                                                                                                                              Array of notification objects to be configured

                                                                                                                                                                                                                                                Response

                                                                                                                                                                                                                                                A sucessfull response contains no content

                                                                                                                                                                                                                                                Delete notification

                                                                                                                                                                                                                                                HTTP Request

                                                                                                                                                                                                                                                DELETE /rest/notifications/<notification_id>

                                                                                                                                                                                                                                                Authentication

                                                                                                                                                                                                                                                Request

                                                                                                                                                                                                                                                Parameter Description
                                                                                                                                                                                                                                                notification_id Internal figo Connect notification ID

                                                                                                                                                                                                                                                  Response

                                                                                                                                                                                                                                                  A sucessfull response contains no content