---
updatedAt: 2026-03-25T11:18:55.000Z
---

# Create Consent

This method create a consent resource, defining access rights to PSU accounts. 
These accounts are addressed explicitly in the method as parameters as a core function.

**Side Effects**
When this consent request is a requested and if it exists already a former consent on account information for the PSU, then the former consent automatically expires as soon as the new consent request is authorised by the PSU.

Optional Extension:
  * As an option, an ASPSP might optionally accept a specific access right on the access on PSD2 related services for all available accounts.

  * As option an ASPSP might optionally also accept a command, where only access rights are inserted without mentioning the addressed account. The relation to accounts is then handled afterwards between PSU and ASPSP. 

  * As a last option, an ASPSP might in addition accept a command with access rights
    * to see the list of available payment accounts or
    * to see the list of available payment accounts with balances.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "OpenBanking Services - Account Information Service (AIS)",
    "description": "The Account Information Service (AIS) offers the following services:\n  * Transaction reports for a given account or card account including balances if applicable\n  * Balances of a given account or card account\n  * A list of available accounts or card account\n  * Account details of a given account or card account or of the list of all accessible accounts or card account relative to a granted consent \n\nAbbreviations used in the documentation:\n  * TPP - Third Party Providers\n  * AIS - Account Information Service\n  * ASPSP - Account Servicing Payment Service Provider \n  * PSU - Payment Service User\n  * SCA - Strong Customer Authentication\n",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://test-openbanking.tbcbank.ge/0.8",
      "description": "Sandbox"
    },
    {
      "url": "https://openbanking.tbcbank.ge/0.8",
      "description": "Production"
    },
    {
      "url": "https://test-api.tbcbank.ge",
      "description": "Sandbox for .well-known and authorize endpoints"
    },
    {
      "url": "https://api.tbcbank.ge",
      "description": "Production for .well-known and authorize endpoints"
    }
  ],
  "paths": {
    "/v1/consents": {
      "post": {
        "summary": "Create Consent",
        "description": "This method create a consent resource, defining access rights to PSU accounts. \nThese accounts are addressed explicitly in the method as parameters as a core function.\n\n**Side Effects**\nWhen this consent request is a requested and if it exists already a former consent on account information for the PSU, then the former consent automatically expires as soon as the new consent request is authorised by the PSU.\n\nOptional Extension:\n  * As an option, an ASPSP might optionally accept a specific access right on the access on PSD2 related services for all available accounts.\n\n  * As option an ASPSP might optionally also accept a command, where only access rights are inserted without mentioning the addressed account. The relation to accounts is then handled afterwards between PSU and ASPSP. \n\n  * As a last option, an ASPSP might in addition accept a command with access rights\n    * to see the list of available payment accounts or\n    * to see the list of available payment accounts with balances.\n",
        "operationId": "aiscreateconsent",
        "tags": [
          "Consents"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/X-Request-ID"
          },
          {
            "$ref": "#/components/parameters/Digest"
          },
          {
            "$ref": "#/components/parameters/X-JWS-Signature"
          },
          {
            "$ref": "#/components/parameters/PSU-ID"
          },
          {
            "$ref": "#/components/parameters/PSU-Corporate-ID"
          },
          {
            "$ref": "#/components/parameters/PSU-IP-Address"
          },
          {
            "$ref": "#/components/parameters/Accept-Language"
          },
          {
            "$ref": "#/components/parameters/TPP-Redirect-URI"
          },
          {
            "$ref": "#/components/parameters/TPP-Explicit-Authorisation-Preferred"
          },
          {
            "$ref": "#/components/parameters/TPP-Redirect-Preferred"
          },
          {
            "$ref": "#/components/parameters/TPP-Decoupled-Preferred"
          },
          {
            "$ref": "#/components/parameters/PSU-IP-Port"
          },
          {
            "$ref": "#/components/parameters/PSU-Geo-Location"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConsentRequest"
              },
              "examples": {
                "Consent Request on Dedicated Accounts": {
                  "$ref": "#/components/examples/CreateConsentRequest_DedicatedAccounts_Example"
                },
                "Consent Request on Account List of Available Accounts": {
                  "$ref": "#/components/examples/CreateConsentRequest_AvailableAccounts_Example"
                },
                "Consent Request on Account List or without Indication of dedicated Accounts": {
                  "$ref": "#/components/examples/CreateConsentRequest_BankOfferedAccounts_Example"
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "X-Request-ID": {
                "$ref": "#/components/headers/X-Request-ID"
              },
              "ASPSP-SCA-Approach": {
                "$ref": "#/components/headers/ASPSP-SCA-Approach"
              },
              "Location": {
                "$ref": "#/components/headers/Location"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateConsentResponse"
                },
                "examples": {
                  "Response example in case of a redirect with a dedicated start of the authorisation process": {
                    "$ref": "#/components/examples/CreateConsentResponse_Redirect_Example"
                  },
                  "Response example in case of the OAuth2 approach with an implicit generated authorisation resource": {
                    "$ref": "#/components/examples/CreateConsentResponse_OAuth2_Example"
                  },
                  "Response example in case of the decoupled approach": {
                    "$ref": "#/components/examples/CreateConsentResponse_Decoupled_Example"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "X-Request-ID": {
                "$ref": "#/components/headers/X-Request-ID"
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemDetails"
                },
                "example": {
                  "$ref": "#/components/examples/400_BadRequest_Example_Consents"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "headers": {
              "X-Request-ID": {
                "$ref": "#/components/headers/X-Request-ID"
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblemDetails"
                },
                "example": {
                  "$ref": "#/components/examples/500_InternalError_Example_Consents"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "headers": {
      "X-Request-ID": {
        "description": "ID of the request, unique to the call, as determined by the initiating party.",
        "required": true,
        "example": "dca140c0-7db3-4cf3-9415-81b5a141f5f3",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "ASPSP-SCA-Approach": {
        "description": "This data element must be contained, if the SCA Approach is already fixed.\nPossible values are\n  * DECOUPLED\n  * REDIRECT\nThe OAuth SCA approach will be subsumed by REDIRECT.\n",
        "schema": {
          "type": "string",
          "enum": [
            "DECOUPLED",
            "REDIRECT"
          ]
        },
        "example": "REDIRECT",
        "required": false
      },
      "Location": {
        "description": "URI where the client can view and accept consent. In case of errron will be returned redirect uri with error and error description \n        \n***Examples:***\n  * ***success example with Location:***\n    \n    https://customerconsent.tbcbank.ge/loginappsandbox/session?sessionid=219d20e1-a34e-4608-89bc-0d55c66dd576\n\n  * ***error example:***\n\n    https://tempuri.org/callback?error=server_error&error_description=The authorization server encountered an unexpected condition that&state=e09bd498-262d-41be-8744-6a706ab3426a\n",
        "schema": {
          "type": "string",
          "format": "uri"
        },
        "examples": {
          "success example with Location": {
            "value": "https://customerconsent.tbcbank.ge/loginappsandbox/session?sessionid=219d20e1-a34e-4608-89bc-0d55c66dd576"
          },
          "error example": {
            "value": "https://tempuri.org/callback?error=server_error&error_description=The authorization server encountered an unexpected condition that&state=e09bd498-262d-41be-8744-6a706ab3426a"
          }
        },
        "required": false
      }
    },
    "parameters": {
      "X-Request-ID": {
        "name": "X-Request-ID",
        "in": "header",
        "description": "ID of the request, unique to the call, as determined by the initiating party.",
        "required": true,
        "example": "dca140c0-7db3-4cf3-9415-81b5a141f5f3",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "Digest": {
        "name": "Digest",
        "in": "header",
        "description": "Is contained if and only if the \"Signature\" element is contained in the header of the request.",
        "required": true,
        "example": "SHA-256=+cHUU0wsuM/h13R5ler2wULmkj+gN3XAuUww3SbbAdM=",
        "schema": {
          "type": "string"
        }
      },
      "X-JWS-Signature": {
        "name": "X-JWS-Signature",
        "in": "header",
        "description": "A signature of the request by the TPP on application level. This might be mandated by ASPSP.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "PSU-ID": {
        "name": "PSU-ID",
        "in": "header",
        "description": "Identity number of user to identify client in ASPSP systems.",
        "example": "PNOGE-01234567890",
        "schema": {
          "type": "string"
        }
      },
      "PSU-Corporate-ID": {
        "name": "PSU-Corporate-ID",
        "in": "header",
        "description": "Identity number of corporate user to identify corporate client in ASPSP systems.",
        "schema": {
          "type": "string"
        },
        "example": "NTRGE-0123456789"
      },
      "PSU-IP-Address": {
        "name": "PSU-IP-Address",
        "in": "header",
        "description": "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU.",
        "required": true,
        "example": "123.345.567.78",
        "schema": {
          "type": "string",
          "format": "ipv4 or ipv6"
        }
      },
      "Accept-Language": {
        "name": "Accept-Language",
        "in": "header",
        "description": "HTTP header indicates the natural language and locale that the client prefers.",
        "example": "ka",
        "schema": {
          "type": "string"
        }
      },
      "TPP-Redirect-URI": {
        "name": "TPP-Redirect-URI",
        "in": "header",
        "description": "URI of the TPP, where user will be redirected to after accepting consent.",
        "required": true,
        "example": "https://tpp.com/redirect",
        "schema": {
          "type": "string",
          "format": "uri"
        }
      },
      "TPP-Explicit-Authorisation-Preferred": {
        "name": "TPP-Explicit-Authorisation-Preferred",
        "in": "header",
        "description": "If it equals \"true\", the TPP prefers to start the authorisation process separately.\nIf it equals \"false\" or if the parameter is not used, there is no preference of the TPP.\nThis especially indicates that the TPP assumes a direct authorisation of the transaction in the next step.\n",
        "schema": {
          "type": "boolean"
        },
        "example": false
      },
      "TPP-Redirect-Preferred": {
        "name": "TPP-Redirect-Preferred",
        "in": "header",
        "description": "If it equals \"true\", the TPP prefers a redirect SCA approach.\nIf it equals \"false\", the TPP prefers not to be redirected for SCA. The ASPSP will consider the Decoupled SCA approach, depending on the parameter TPP-Decoupled-Preferred.\n\n**The parameter is required to be false, if TPP prefers to use decoupled SCA aproach and TPP-Decoupled-Preferred is \"true\".**\n\nIf the parameter is not used, ASPSP will consider Redirect SCA Approach.\n",
        "schema": {
          "type": "boolean"
        },
        "example": false
      },
      "TPP-Decoupled-Preferred": {
        "name": "TPP-Decoupled-Preferred",
        "in": "header",
        "description": "If it equals \"true\", the TPP prefers a decoupled SCA approach. \nIf it equals \"false\", the TPP prefers not to use the decoupled approach for SCA. The ASPSP will consider redirect as SCA approach.\n\n**The parameter is required if TPP prefers to use decoupled SCA aproach.**\n\nIf both parameters TPP-Redirect-Preferred and TPP-Decoupled-Preferred are present and true, the request is still not rejected and  ASPSP will consider Redirect SCA Approach.\n",
        "schema": {
          "type": "boolean"
        },
        "example": false
      },
      "PSU-IP-Port": {
        "name": "PSU-IP-Port",
        "in": "header",
        "description": "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available.",
        "example": "1234",
        "schema": {
          "type": "string"
        }
      },
      "PSU-Geo-Location": {
        "name": "PSU-Geo-Location",
        "in": "header",
        "description": "The forwarded Geo Location of the corresponding http request between PSU and TPP if available.",
        "example": "GEO:42.00;43.50",
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "AccountAccess": {
        "type": "object",
        "description": "Requested access services for a consent.",
        "properties": {
          "accounts": {
            "description": "Is asking for detailed account information. \n\nIf the array is empty in a request, the TPP is asking for an accessible account list. \nThis may be restricted in a PSU/ASPSP authorization dialogue. \nIf the array is empty, also the arrays for balances, additionalInformation sub attributes or transactions shall be empty, if used.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountReference"
            }
          },
          "balances": {
            "description": "Is asking for balances of the addressed accounts.\n\nIf the array is empty in the request, the TPP is asking for the balances of all accessible account lists. \nThis may be restricted in a PSU/ASPSP authorization dialogue. \nIf the array is empty, also the arrays for accounts, additionalInformation sub attributes or transactions shall be empty, if used.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountReference"
            }
          },
          "transactions": {
            "description": "Is asking for transactions of the addressed accounts. \n\nIf the array is empty in the request, the TPP is asking for the transactions of all accessible account lists. \nThis may be restricted in a PSU/ASPSP authorization dialogue. \nIf the array is empty, also the arrays for accounts, additionalInformation sub attributes or balances shall be empty, if used.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountReference"
            }
          },
          "availableAccounts": {
            "description": "Optional if supported by API provider.\n\nThe values \"allAccounts\" and \"allAccountsWithOwnerName\" are admitted. \nThe support of the \"allAccountsWithOwnerName\" value by the ASPSP is optional.\n",
            "type": "string",
            "enum": [
              "allAccounts",
              "allAccountsWithOwnerName"
            ]
          },
          "availableAccountsWithBalance": {
            "description": "Optional if supported by API provider.\n\nThe values \"allAccounts\" and \"allAccountsWithOwnerName\" are admitted. \nThe support of the \"allAccountsWithOwnerName\" value by the ASPSP is optional.\n",
            "type": "string",
            "enum": [
              "allAccounts",
              "allAccountsWithOwnerName"
            ]
          },
          "additionalInformation": {
            "$ref": "#/components/schemas/AdditionalInformationAccess"
          }
        }
      },
      "AccountReference": {
        "type": "object",
        "description": "Reference to an account by either\n  * IBAN, of a payment accounts, or\n  * the Primary Account Number (PAN) of a card in a masked form, or\n",
        "properties": {
          "iban": {
            "description": "IBAN of an account",
            "type": "string"
          },
          "maskedPan": {
            "maxLength": 35,
            "type": "string",
            "description": "Masked Primary Account Number."
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 Alpha 3 currency code."
          },
          "cashAccountType": {
            "type": "string",
            "description": "ExternalCashAccountType1Code from ISO 20022.",
            "enum": [
              "CACC",
              "CARD"
            ]
          }
        }
      },
      "AdditionalInformationAccess": {
        "description": "Is asking for additional information as added within this structured object.\nThe usage of this data element requires at least one of the entries \"accounts\", \n\"transactions\" or \"balances\" also to be contained in the object. \nIf detailed accounts are referenced, it is required in addition that any account addressed within \nthe additionalInformation attribute is also addressed by at least one of the attributes \"accounts\", \n\"transactions\" or \"balances\".\n",
        "type": "object",
        "properties": {
          "ownerName": {
            "type": "array",
            "description": "Is asking for account owner name of the accounts referenced within. \nIf the array is empty in the request, the TPP is asking for the account \nowner name of all accessible accounts. \nThis may be restricted in a PSU/ASPSP authorization dialogue. \nIf the array is empty, also the arrays for accounts, balances or transactions shall be empty, if used.\nThe ASPSP will indicate in the consent resource after a successful authorisation, \nwhether the ownerName consent can be accepted by providing the accounts on which the ownerName will \nbe delivered. \nThis array can be empty.\n",
            "items": {
              "$ref": "#/components/schemas/AccountReference"
            }
          }
        }
      },
      "CombinedServiceIndicator": {
        "type": "boolean",
        "description": "If \"true\" indicates that a payment initiation service will be addressed in the same \"session\"."
      },
      "ConsentId": {
        "description": "ID of the corresponding consent object as returned by an account information consent request.",
        "type": "string",
        "format": "uuid"
      },
      "ConsentStatus": {
        "type": "string",
        "description": "This is the overall lifecycle status of the consent.\nValid values are:\n- 'received': The consent data have been received and are technically correct. \n  The data is not authorised yet.\n- 'rejected': The consent data have been rejected e.g. since no successful authorisation has taken place.\n- 'valid': The consent is accepted and valid for GET account data calls and others as specified in the consent object.\n- 'revokedByPsu': The consent has been revoked by the PSU towards the ASPSP.\n- 'expired': The consent expired.\n- 'terminatedByTpp': The corresponding TPP has terminated the consent by applying the DELETE method to the consent resource.\n",
        "enum": [
          "received",
          "rejected",
          "valid",
          "revokedByPsu",
          "expired",
          "terminatedByTpp"
        ]
      },
      "CreateConsentRequest": {
        "type": "object",
        "description": "Request body for a consents request.",
        "required": [
          "access",
          "recurringIndicator",
          "validUntil",
          "frequencyPerDay",
          "combinedServiceIndicator"
        ],
        "properties": {
          "access": {
            "$ref": "#/components/schemas/AccountAccess"
          },
          "recurringIndicator": {
            "$ref": "#/components/schemas/RecurringIndicator"
          },
          "validUntil": {
            "$ref": "#/components/schemas/ValidUntil"
          },
          "frequencyPerDay": {
            "$ref": "#/components/schemas/FrequencyPerDay"
          },
          "combinedServiceIndicator": {
            "$ref": "#/components/schemas/CombinedServiceIndicator"
          }
        }
      },
      "CreateConsentResponse": {
        "type": "object",
        "description": "Body of the response for a successful consent request.",
        "required": [
          "consentStatus",
          "consentId",
          "_links"
        ],
        "properties": {
          "consentStatus": {
            "$ref": "#/components/schemas/ConsentStatus"
          },
          "consentId": {
            "$ref": "#/components/schemas/ConsentId"
          },
          "_links": {
            "$ref": "#/components/schemas/LinksConsents"
          },
          "psuMessage": {
            "$ref": "#/components/schemas/PsuMessage"
          }
        }
      },
      "FrequencyPerDay": {
        "type": "integer",
        "description": "This field indicates the requested maximum frequency for an access without PSU involvement per day. For a one-off access, this attribute is set to \"1\". The frequency needs to be greater equal to one. If not otherwise agreed bilaterally between TPP and ASPSP, the frequency is less equal to 4.",
        "format": "int32"
      },
      "HrefType": {
        "description": "Link to a resource.",
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "description": "Link to a resource."
          }
        }
      },
      "LinksConsents": {
        "type": "object",
        "description": "A list of hyperlinks to be recognised by the TPP.\n\nType of links admitted in this response (which might be extended by single ASPSPs as indicated in its XS2A \ndocumentation):\n  * 'scaRedirect': \n    In case of an SCA Redirect Approach, the ASPSP is transmitting the link to which to redirect the \n    PSU browser.\n  * 'scaOAuth': \n    In case of an OAuth2 based Redirect Approach, the ASPSP is transmitting the link where the configuration \n    of the OAuth2 Server is defined. \n    The configuration follows the OAuth 2.0 Authorisation Server Metadata specification. \n  * 'startAuthorisation': \n    In case, where an explicit start of the transaction authorisation is needed, \n    but no more data needs to be updated (no authentication method to be selected, \n    no PSU identification nor PSU authentication data to be uploaded).\n  * 'startAuthorisationWithPsuIdentification': \n    The link to the authorisation end-point, where the authorisation sub-resource has to be generated \n    while uploading the PSU identification data.\n  * 'self': \n    The link to the Establish Account Information Consent resource created by this request. \n    This link can be used to retrieve the resource data. \n  * 'status': \n    The link to retrieve the status of the account information consent.\n  * 'scaStatus': The link to retrieve the scaStatus of the corresponding authorisation sub-resource. \n    This link is only contained, if an authorisation sub-resource has been already created.\n",
        "properties": {
          "scaRedirect": {
            "$ref": "#/components/schemas/HrefType"
          },
          "scaOAuth": {
            "$ref": "#/components/schemas/HrefType"
          },
          "startAuthorisation": {
            "$ref": "#/components/schemas/HrefType"
          },
          "startAuthorisationWithPsuIdentification": {
            "$ref": "#/components/schemas/HrefType"
          },
          "self": {
            "$ref": "#/components/schemas/HrefType"
          },
          "status": {
            "$ref": "#/components/schemas/HrefType"
          },
          "scaStatus": {
            "$ref": "#/components/schemas/HrefType"
          }
        }
      },
      "ApiProblemDetails": {
        "description": "A machine-readable format for specifying errors in HTTP API responses.",
        "type": "object",
        "properties": {
          "type": {
            "description": "A URI reference [RFC3986] that identifies the problem type.",
            "type": "string"
          },
          "title": {
            "description": "A short, human-readable summary of the problem type.",
            "type": "string"
          },
          "status": {
            "description": "The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.",
            "type": "integer",
            "format": "int32"
          },
          "detail": {
            "description": "A human-readable explanation specific to this occurrence of the problem.",
            "type": "string"
          },
          "instance": {
            "description": "A URI reference that identifies the specific occurrence of the problem.  It may or may not yield further information if dereferenced.",
            "type": "string"
          },
          "traceId": {
            "description": "Message identification for searching errors",
            "type": "string"
          },
          "code": {
            "type": "string",
            "description": "Message codes defined for AIS for appropriate HTTP status code"
          }
        }
      },
      "PsuMessage": {
        "description": "Text to be displayed to the PSU. Used only during Decoupled Authorisation.",
        "type": "string"
      },
      "RecurringIndicator": {
        "type": "boolean",
        "description": "\"true\", if the consent is for recurring access to the account data. \"false\", if the consent is for one access to the account data.\n",
        "example": false
      },
      "ValidUntil": {
        "type": "string",
        "format": "date",
        "description": "This parameter is defining a valid until date (including the mentioned date) for the requested consent. \n\nMax value for this field is 90 days. \nIf date is provided more than 90 days, it will be decreased to 90 days.\nLess than 90 days, will remain same as provided date.\n",
        "example": "2022-12-31T00:00:00.000Z"
      }
    },
    "examples": {
      "400_BadRequest_Example_Consents": {
        "value": {
          "code": "FORMAT_ERROR",
          "traceId": "00-5336c4b7d89889b8b4a1bbdfb8c1a583-305db5d2099f1c58-01",
          "type": "https://developers.tbcbank.ge/docs/error-type-400",
          "title": "Invalid Request",
          "status": 400,
          "detail": "ValidUntil parameter is invalid, please check the date.",
          "instance": "/v1/consents"
        }
      },
      "500_InternalError_Example_Consents": {
        "value": {
          "code": "",
          "traceId": "00-ada2ec0e2c26c91bf50469bf79fdb14e-7bed7bf0dd005c16-01",
          "type": "https://developers.tbcbank.ge/docs/error-type-500",
          "title": "Internal Error",
          "status": 500,
          "detail": "Something wrong happened in the application",
          "instance": "/v1/consents"
        }
      },
      "CreateConsentRequest_DedicatedAccounts_Example": {
        "description": "Consent Request on Dedicated Accounts",
        "value": {
          "access": {
            "Accounts": [
              {
                "Iban": "GE11TB1000000000000010"
              }
            ],
            "Balances": [
              {
                "Iban": "GE11TB1000000000000010",
                "Currency": "GEL"
              }
            ],
            "Transactions": [
              {
                "Iban": "GE11TB1000000000000010"
              },
              {
                "maskedPan": "123456xxxxxx1234"
              }
            ]
          },
          "frequencyPerDay": 4,
          "recurringIndicator": true,
          "validUntil": "2023-07-01",
          "combinedServiceIndicator": false
        }
      },
      "CreateConsentRequest_AvailableAccounts_Example": {
        "description": "Consent Request on account list of available accounts",
        "value": {
          "access": {
            "availableAccountsWithBalance": "allAccounts"
          },
          "frequencyPerDay": 1,
          "recurringIndicator": false,
          "validUntil": "2023-07-01",
          "combinedServiceIndicator": false
        }
      },
      "CreateConsentRequest_BankOfferedAccounts_Example": {
        "description": "Consent request on account list or without indication of accounts",
        "value": {
          "access": {
            "Accounts": [],
            "Balances": [],
            "Transactions": []
          },
          "frequencyPerDay": 4,
          "recurringIndicator": true,
          "validUntil": "2023-07-01",
          "combinedServiceIndicator": false
        }
      },
      "CreateConsentResponse_Redirect_Example": {
        "description": "Response example in case of a redirect with a dedicated start of the authorisation process",
        "value": {
          "consentStatus": "received",
          "consentId": "ab60aab2-4598-4f9b-be47-c52ff7f1973e",
          "_links": {
            "startAuthorisation": {
              "href": "/0.8/v1/consents/ab60aab2-4598-4f9b-be47-c52ff7f1973e/authorisations"
            }
          }
        }
      },
      "CreateConsentResponse_OAuth2_Example": {
        "description": "Response example in case of the OAuth2 approach with an implicit generated authorisation resource",
        "value": {
          "consentStatus": "received",
          "consentId": "c79ad1fb-8d01-44fc-b602-9ce471033952",
          "_links": {
            "scaOAuth": {
              "href": "https://test-api.tbcbank.ge/.well-known/oauth-authorization-server"
            },
            "self": {
              "href": "/0.8/v1/consents/c79ad1fb-8d01-44fc-b602-9ce471033952"
            },
            "status": {
              "href": "/0.8/v1/consents/c79ad1fb-8d01-44fc-b602-9ce471033952/status"
            },
            "scaStatus": {
              "href": "/0.8/v1/consents/c79ad1fb-8d01-44fc-b602-9ce471033952/authorisations/9647ca44-d5ce-4831-f0d7-08dd78f81e43"
            }
          }
        }
      },
      "CreateConsentResponse_Decoupled_Example": {
        "description": "Response example in case of the decoupled approach",
        "value": {
          "consentStatus": "received",
          "consentId": "d87251a0-17a1-411c-b2d3-fc42eb9c87af",
          "_links": {
            "startAuthorisationWithPsuIdentification": {
              "href": "/0.8/v1/consents/d87251a0-17a1-411c-b2d3-fc42eb9c87af/authorisations"
            }
          }
        }
      }
    }
  },
  "security": [
    {}
  ],
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```