Go SDK

bash
go get vineeid.com/sdk
go
client := vine.New(vine.Config{
    BaseURL: "https://auth-api.vineeid.com",
    APIKey: os.Getenv("VINE_API_KEY"),
})

success, missingData, err := client.InitFlow(ctx, vine.InitFlowRequest{
    VID: "657787756543",
    RequestType: vine.FlowRequestTypeLogin,
    Scope: []string{"profile.read"},
})
if err != nil { log.Fatal(err) }
if missingData != nil { return }

// Store success.FlowSecret server-side.
fmt.Println(success.FlowID, success.Code)

The client provides GetFlowStatus, ListFlows, GetFlow, GetMetrics, and ResendNotification. Non-success responses return *vine.VineError with helpers for unauthorized, expired, already-processed, and not-found responses.