---
updatedAt: 2026-05-27T08:29:42.000Z
agentTools:
  projectIndex: https://docs.bridgeapi.io/llms.txt
---

# Create a connect session

Connect sessions are front-end sessions that allow your user to connect or update their bank connection. When managing an existing item, a user can start up to four management flows for that item within a rolling 24-hour period. Once this limit is reached, the API returns a 429 error until a slot becomes available.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Bridge API",
    "version": "2025-01-15",
    "description": "Bridge provides an Open Banking API to initiate payments and aggregate financial data.  \nOur API uses standards such as HTTP verbs, RESTful routing and JSON for payloads.",
    "license": {
      "name": "Proprietary",
      "url": "https://docs.bridgeapi.io"
    },
    "contact": {
      "name": "BridgeAPI",
      "url": "https://bridgeapi.io",
      "email": "support@bridgeapi.io"
    }
  },
  "servers": [
    {
      "description": "Production",
      "url": "https://api.bridgeapi.io"
    }
  ],
  "tags": [
    {
      "name": "Connect sessions",
      "description": "Connect sessions are front-end sessions that allow your user to connect or update their bank connection"
    }
  ],
  "paths": {
    "/v3/aggregation/connect-sessions": {
      "parameters": [
        {
          "$ref": "#/components/parameters/version"
        }
      ],
      "post": {
        "operationId": "CreateConnectSession",
        "summary": "Create a connect session",
        "description": "Connect sessions are front-end sessions that allow your user to connect or update their bank connection. When managing an existing item, a user can start up to four management flows for that item within a rolling 24-hour period. Once this limit is reached, the API returns a 429 error until a slot becomes available.",
        "tags": [
          "Connect sessions"
        ],
        "security": [
          {
            "userTokenBearerAuth": [],
            "clientIdAuth": [],
            "clientSecretAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/create-connect-session-new-item"
                  },
                  {
                    "$ref": "#/components/schemas/create-connect-session-new-item-preselected-provider"
                  },
                  {
                    "$ref": "#/components/schemas/create-connect-session-manage-item"
                  }
                ]
              },
              "example": {
                "user_email": "j.doe@mail.com"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Connect session created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/connect-session"
                }
              }
            }
          },
          "400": {
            "description": "Error 400",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error-400"
                },
                "example": {
                  "errors": [
                    {
                      "code": "connect_session.account_types_invalid",
                      "property": "account_types",
                      "message": "The account_types parameter is invalid. It should be payment or all."
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Error 401",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error-401"
                },
                "example": {
                  "errors": [
                    {
                      "code": "invalid_authorization_header",
                      "message": "Authorization header has an invalid format"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "error-401": {
        "title": "Error 401",
        "type": "object",
        "example": {
          "errors": [
            {
              "code": "invalid_client_credentials",
              "message": "client_id and client_secret are invalid"
            }
          ]
        },
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "description": "Error code",
                  "type": "string"
                },
                "property": {
                  "description": "Property or parameter that is invalid",
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "message": {
                  "description": "Human-readable error description",
                  "type": [
                    "null",
                    "string"
                  ]
                }
              }
            }
          }
        }
      },
      "error-400": {
        "title": "Error 400",
        "type": "object",
        "example": {
          "errors": [
            {
              "code": "invalid_request",
              "message": "Invalid body content"
            }
          ]
        },
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "description": "Error code",
                  "type": "string"
                },
                "property": {
                  "description": "Property or parameter that is invalid",
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "message": {
                  "description": "Human-readable error description",
                  "type": [
                    "null",
                    "string"
                  ]
                }
              }
            }
          }
        }
      },
      "connect-session": {
        "title": "Connect session resource",
        "description": "Create connect sessions to make your user connect or update their bank connection",
        "type": "object",
        "required": [
          "id",
          "url"
        ],
        "properties": {
          "id": {
            "description": "Connect session identifier",
            "type": "string",
            "example": "bf8f3e2a-6b04-412a-b2a3-be7fef470b4a"
          },
          "url": {
            "description": "Connect session web funnel URL",
            "type": "string",
            "format": "url",
            "example": "https://connect.bridgeapi.io/session/09486392-9e19-4045-a758-65daea24aes9"
          }
        }
      },
      "create-connect-session": {
        "title": "Create connect session request",
        "type": "object",
        "properties": {
          "callback_url": {
            "type": "string",
            "description": "Optional callback URL for redirecting the user at the exit of the connect session",
            "format": "url",
            "example": "https://yourcallback.com"
          },
          "context": {
            "type": "string",
            "maxLength": 100,
            "description": "Optional context string to append to the callback URL when exiting the connect session. It can contain up to 100 alphanumeric characters, including the hyphen (-).",
            "example": "abc123"
          },
          "account_types": {
            "type": "string",
            "description": "Minimum account types required. We suggest `payment` to ensure the best user experience",
            "enum": [
              "payment",
              "all"
            ],
            "default": "payment",
            "example": "payment"
          }
        }
      },
      "create-connect-session-new-item": {
        "title": "Connect new item",
        "allOf": [
          {
            "properties": {
              "user_email": {
                "type": "string",
                "format": "email",
                "description": "Mandatory, except in the case of temporary bank synchronization",
                "example": "email@gmail.com"
              },
              "country_code": {
                "type": "string",
                "description": "On the displayed providers list, the country selector will default to the country parameter if provided. If you customize the highlighted banks on the dashboard, this parameter will be disabled.",
                "enum": [
                  "FR",
                  "ES",
                  "IT",
                  "PT",
                  "DE",
                  "BE",
                  "NL",
                  "LU",
                  "PL",
                  "HU",
                  "IE",
                  "MT",
                  "CZ",
                  "NO",
                  "BG",
                  "SE",
                  "DK",
                  "AT",
                  "SK",
                  "FI",
                  "GB",
                  "GR",
                  "EE",
                  "IS",
                  "CY",
                  "HR",
                  "LV",
                  "RO"
                ],
                "example": "FR"
              },
              "capabilities": {
                "type": "array",
                "description": "Filter the provider capabilities you need. When multiple values are specified, they are combined using an `AND` operation",
                "items": {
                  "type": "string"
                },
                "example": "aggregation"
              },
              "allow_account_selection": {
                "type": "boolean",
                "description": "Allow or disallow the selection of the accounts",
                "example": true
              },
              "max_selectable_accounts": {
                "type": "number",
                "description": "Max selectable accounts to be synchronized",
                "example": 10
              }
            }
          },
          {
            "$ref": "#/components/schemas/create-connect-session"
          }
        ]
      },
      "create-connect-session-new-item-preselected-provider": {
        "title": "Connect new item with preselected provider",
        "allOf": [
          {
            "properties": {
              "user_email": {
                "type": "string",
                "format": "email",
                "description": "Mandatory, except in the case of temporary bank synchronization",
                "example": "email@gmail.com"
              },
              "provider_id": {
                "type": "number",
                "description": "If the parameter is set, the user will be directed straight to the relevant provider's authentication page (bypassing the providers list). Be sure to select a provider that supports at least the aggregation capability (see 'List providers')",
                "example": 574
              },
              "allow_account_selection": {
                "type": "boolean",
                "description": "Allow or disallow the selection of the accounts",
                "example": true
              },
              "max_selectable_accounts": {
                "type": "number",
                "description": "Max selectable accounts to be synchronized",
                "example": 10
              }
            }
          },
          {
            "$ref": "#/components/schemas/create-connect-session"
          }
        ]
      },
      "create-connect-session-manage-item": {
        "title": "Manage existing item",
        "required": [
          "item_id"
        ],
        "allOf": [
          {
            "properties": {
              "item_id": {
                "type": "number",
                "description": "The item for which you want to manage its connection state",
                "example": 9587461
              },
              "force_reauthentication": {
                "type": "boolean",
                "description": "Set this value to true if you want to renew the SCA immediately",
                "example": true
              },
              "allow_account_selection": {
                "type": "boolean",
                "description": "Allow or disallow the selection of the accounts",
                "example": true
              },
              "max_selectable_accounts": {
                "type": "number",
                "description": "Max selectable accounts to be synchronized",
                "example": 10
              }
            }
          },
          {
            "$ref": "#/components/schemas/create-connect-session"
          }
        ]
      }
    },
    "parameters": {
      "version": {
        "in": "header",
        "name": "Bridge-Version",
        "schema": {
          "type": "string",
          "enum": [
            "2025-01-15"
          ],
          "default": "2025-01-15"
        },
        "required": true,
        "description": "The Bridge API version"
      }
    },
    "securitySchemes": {
      "userTokenBearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Aggregation user access token"
      },
      "clientIdAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "Client-Id"
      },
      "clientSecretAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "Client-Secret"
      }
    }
  },
  "security": [
    {
      "clientIdAuth": [],
      "clientSecretAuth": []
    }
  ],
  "x-readme": {
    "explorer-enabled": false,
    "proxy-enabled": false
  }
}
```