## Create a Widget session token `client.Bridge.Initialize(ctx, params) (*BridgeTokenV1, error)` **post** `/v1/bridge/initialize` Use this endpoint to generate a session token for use in the Bridge widget. ### Parameters - `params BridgeInitializeParams` - `CustomerID param.Field[string]` Body param: The Straddle generated unique identifier of the `customer` to create a bridge token for. - `Config param.Field[BridgeInitializeParamsConfig]` Body param - `ProcessingMethod string` - `const BridgeInitializeParamsConfigProcessingMethodInline BridgeInitializeParamsConfigProcessingMethod = "inline"` - `const BridgeInitializeParamsConfigProcessingMethodBackground BridgeInitializeParamsConfigProcessingMethod = "background"` - `const BridgeInitializeParamsConfigProcessingMethodSkip BridgeInitializeParamsConfigProcessingMethod = "skip"` - `SandboxOutcome string` - `const BridgeInitializeParamsConfigSandboxOutcomeStandard BridgeInitializeParamsConfigSandboxOutcome = "standard"` - `const BridgeInitializeParamsConfigSandboxOutcomeActive BridgeInitializeParamsConfigSandboxOutcome = "active"` - `const BridgeInitializeParamsConfigSandboxOutcomeRejected BridgeInitializeParamsConfigSandboxOutcome = "rejected"` - `const BridgeInitializeParamsConfigSandboxOutcomeReview BridgeInitializeParamsConfigSandboxOutcome = "review"` - `ExternalID param.Field[string]` Body param: Unique identifier for the paykey in your database, used for cross-referencing between Straddle and your systems. - `CorrelationID param.Field[string]` Header param: Optional client generated identifier to trace and debug a series of requests. - `IdempotencyKey param.Field[string]` Header param: Optional client generated value to use for idempotent requests. - `RequestID param.Field[string]` Header param: Optional client generated identifier to trace and debug a request. - `StraddleAccountID param.Field[string]` Header param: For use by platforms to specify an account id and set scope of a request. ### Returns - `type BridgeTokenV1 struct{…}` - `Data BridgeTokenV1Data` - `BridgeToken string` JWT Token to use in the bridge widget. - `Meta ResponseMetadata` Metadata about the API request, including an identifier and timestamp. - `APIRequestID string` Unique identifier for this API request, useful for troubleshooting. - `APIRequestTimestamp Time` Timestamp for this API request, useful for troubleshooting. - `ResponseType BridgeTokenV1ResponseType` Indicates the structure of the returned content. - "object" means the `data` field contains a single JSON object. - "array" means the `data` field contains an array of objects. - "error" means the `data` field contains an error object with details of the issue. - "none" means no data is returned. - `const BridgeTokenV1ResponseTypeObject BridgeTokenV1ResponseType = "object"` - `const BridgeTokenV1ResponseTypeArray BridgeTokenV1ResponseType = "array"` - `const BridgeTokenV1ResponseTypeError BridgeTokenV1ResponseType = "error"` - `const BridgeTokenV1ResponseTypeNone BridgeTokenV1ResponseType = "none"` ### Example ```go package main import ( "context" "fmt" "github.com/straddleio/straddle-go" "github.com/straddleio/straddle-go/option" ) func main() { client := straddle.NewClient( option.WithAPIKey("My API Key"), ) bridgeTokenV1, err := client.Bridge.Initialize(context.TODO(), straddle.BridgeInitializeParams{ CustomerID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", bridgeTokenV1.Data) } ``` #### Response ```json { "data": { "bridge_token": "bridge_token" }, "meta": { "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "api_request_timestamp": "2019-12-27T18:11:19.117Z" }, "response_type": "object" } ```