def complete(self,identity,params=None, headers=None):
path = self._sub_url_params('<STR_LIT>', {<EOL>'<STR_LIT>': identity,<EOL>})<EOL>if params is not None:<EOL><INDENT>params = {'<STR_LIT:data>': params}<EOL><DEDENT>response = self._perform_request('<STR_LIT:POST>', path, params, headers,<EOL>retry_failures=False)<EOL>return self._resource_for(response)<EOL>
Complete a redirect flow.

        This creates a [customer](#core-endpoints-customers), [customer bank
        account](#core-endpoints-customer-bank-accounts), and
        [mandate](#core-endpoints-mandates) using the details supplied by your
        customer and returns the ID of the created mandate.

        This will return a `redirect_flow_incomplete` error if your customer
        has not yet been redirected back to your site, and a
        `redirect_flow_already_completed` error if your integration has already
        completed this flow. It will return a `bad_request` error if the
        `session_token` differs to the one supplied when the redirect flow was
        created.

        Args:
              identity (string): Unique identifier, beginning with "RE".
              params (dict, optional): Request body.

        Returns:
              ListResponse of RedirectFlow instances