Method | HTTP request | Description |
---|---|---|
AggregateMember | Post /users/{user_guid}/members/{member_guid}/aggregate | Aggregate member |
AggregateMemberBalances | Post /users/{user_guid}/members/{member_guid}/balance | Aggregate member account balances |
CreateMember | Post /users/{user_guid}/members | Create member |
DeleteMember | Delete /users/{user_guid}/members/{member_guid} | Delete member |
ExtendHistory | Post /users/{user_guid}/members/{member_guid}/extend_history | Extend history |
ListMemberAccounts | Get /users/{user_guid}/members/{member_guid}/accounts | List member accounts |
ListMemberCredentials | Get /users/{user_guid}/members/{member_guid}/credentials | List member credentials |
ListMemberMFAChallenges | Get /users/{user_guid}/members/{member_guid}/challenges | List member MFA challenges |
ListMemberTransactions | Get /users/{user_guid}/members/{member_guid}/transactions | List member transactions |
ListMembers | Get /users/{user_guid}/members | List members |
ReadMember | Get /users/{user_guid}/members/{member_guid} | Read member |
ReadMemberStatus | Get /users/{user_guid}/members/{member_guid}/status | Read member connection status |
ReadOAuthWindowURI | Get /users/{user_guid}/members/{member_guid}/oauth_window_uri | Read OAuth Window URI |
ResumeMember | Put /users/{user_guid}/members/{member_guid}/resume | Resume aggregation from MFA |
UpdateMember | Put /users/{user_guid}/members/{member_guid} | Update member |
MemberResponseBody AggregateMember(ctx, memberGUID, userGUID) Aggregate member
Calling this endpoint initiates an aggregation event for the member. This brings in the latest account and transaction data from the connected institution. If this data has recently been updated, MX may not initiate an aggregation event.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
response, _, err := client.Members.AggregateMember(ctx, memberGUID, userGUID, )
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
MemberResponseBody AggregateMemberBalances(ctx, memberGUID, userGUID) Aggregate member account balances
This endpoint operates much like the aggregate member endpoint except that it gathers only account balance information; it does not gather any transaction data at all.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
response, _, err := client.Members.AggregateMemberBalances(ctx, memberGUID, userGUID, )
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
MemberResponseBody CreateMember(ctx, userGUID, body) Create member
This endpoint allows you to create a new member. Members are created with the required parameters credentials and institution_code, and the optional parameters identifier and metadata.
When creating a member, you'll need to include the correct type of credential required by the financial institution and provided by the user. You can find out which credential type is required with the /institutions/{institution_code}/credentials endpoint.
If successful, Atrium will respond with the newly-created member object.
Once you successfully create a member, MX will immediately validate the provided credentials and attempt to aggregate data for accounts and transactions.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
userGUID := "USR-123" // string | The unique identifier for a `user`.
body := atrium.MemberCreateRequestBody{} // MemberCreateRequestBody | Member object to be created with optional parameters (identifier and metadata) and required parameters (credentials and institution_code)
response, _, err := client.Members.CreateMember(ctx, userGUID, body)
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
userGUID | string | The unique identifier for a `user`. | |
body | MemberCreateRequestBody | Member object to be created with optional parameters (identifier and metadata) and required parameters (credentials and institution_code) |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
DeleteMember(ctx, memberGUID, userGUID) Delete member
Accessing this endpoint will permanently delete a member.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
response, _, err := client.Members.DeleteMember(ctx, memberGUID, userGUID, )
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. |
(empty response body)
[Back to top] [Back to API list] [Back to Model list] [Back to README]
MemberResponseBody ExtendHistory(ctx, memberGUID, userGUID) Extend history
The extend_history endpoint begins the process of fetching up to 24 months of data associated with a particular member
.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
response, _, err := client.Members.ExtendHistory(ctx, memberGUID, userGUID, )
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
AccountsResponseBody ListMemberAccounts(ctx, memberGUID, userGUID, optional) List member accounts
This endpoint returns an array with information about every account associated with a particular member.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
"github.com/antihax/optional"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
opts := &atrium.ListMemberAccountsOpts{
Page: optional.NewInt32(1), // int32 | Specify current page.
RecordsPerPage: optional.NewInt32(12), // int32 | Specify records per page.
}
response, _, err := client.Members.ListMemberAccounts(ctx, memberGUID, userGUID, , opts)
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. | |
optional | *ListMemberAccountsOpts | optional parameters | nil if no parameters |
Optional parameters are passed through a pointer to a ListMemberAccountsOpts struct
Name | Type | Description | Notes |
---|
page | optional.Int32| Specify current page. | recordsPerPage | optional.Int32| Specify records per page. |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
CredentialsResponseBody ListMemberCredentials(ctx, memberGUID, userGUID) List member credentials
This endpoint returns an array which contains information on every non-MFA credential associated with a specific member.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
response, _, err := client.Members.ListMemberCredentials(ctx, memberGUID, userGUID, )
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
ChallengesResponseBody ListMemberMFAChallenges(ctx, memberGUID, userGUID) List member MFA challenges
Use this endpoint for information on what multi-factor authentication challenges need to be answered in order to aggregate a member.
If the aggregation is not challenged, i.e., the member does not have a connection status of CHALLENGED, then code 204 No Content will be returned.
If the aggregation has been challenged, i.e., the member does have a connection status of CHALLENGED, then code 200 OK will be returned — along with the corresponding credentials.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
response, _, err := client.Members.ListMemberMFAChallenges(ctx, memberGUID, userGUID, )
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
TransactionsResponseBody ListMemberTransactions(ctx, memberGUID, userGUID, optional) List member transactions
Use this endpoint to get all transactions from all accounts associated with a specific member.
This endpoint accepts optional URL query parameters — from_date and to_date — which are used to filter transactions according to the date they were posted. If no values are given for the query parameters, from_date will default to 90 days prior to the request and to_date will default to 5 days from the time of the request.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
"github.com/antihax/optional"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
opts := &atrium.ListMemberTransactionsOpts{
FromDate: optional.NewString("2016-09-20"), // string | Filter transactions from this date.
ToDate: optional.NewString("2016-10-20"), // string | Filter transactions to this date.
Page: optional.NewInt32(1), // int32 | Specify current page.
RecordsPerPage: optional.NewInt32(12), // int32 | Specify records per page.
}
response, _, err := client.Members.ListMemberTransactions(ctx, memberGUID, userGUID, , opts)
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. | |
optional | *ListMemberTransactionsOpts | optional parameters | nil if no parameters |
Optional parameters are passed through a pointer to a ListMemberTransactionsOpts struct
Name | Type | Description | Notes |
---|
fromDate | optional.String| Filter transactions from this date. | toDate | optional.String| Filter transactions to this date. | page | optional.Int32| Specify current page. | recordsPerPage | optional.Int32| Specify records per page. |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
MembersResponseBody ListMembers(ctx, userGUID, optional) List members
This endpoint returns an array which contains information on every member associated with a specific user.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
"github.com/antihax/optional"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
userGUID := "USR-123" // string | The unique identifier for a `user`.
opts := &atrium.ListMembersOpts{
Page: optional.NewInt32(1), // int32 | Specify current page.
RecordsPerPage: optional.NewInt32(12), // int32 | Specify records per page.
}
response, _, err := client.Members.ListMembers(ctx, userGUID, , opts)
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
userGUID | string | The unique identifier for a `user`. | |
optional | *ListMembersOpts | optional parameters | nil if no parameters |
Optional parameters are passed through a pointer to a ListMembersOpts struct
Name | Type | Description | Notes |
---|
page | optional.Int32| Specify current page. | recordsPerPage | optional.Int32| Specify records per page. |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
MemberResponseBody ReadMember(ctx, memberGUID, userGUID) Read member
Use this endpoint to read the attributes of a specific member.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
response, _, err := client.Members.ReadMember(ctx, memberGUID, userGUID, )
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
MemberConnectionStatusResponseBody ReadMemberStatus(ctx, memberGUID, userGUID) Read member connection status
This endpoint provides the status of the member's most recent aggregation event. This is an important step in the aggregation process, and the results returned by this endpoint should determine what you do next in order to successfully aggregate a member.
MX has introduced new, more detailed information on the current status of a member's connection to a financial institution and the state of its aggregation: the connection_status field. These are intended to replace and expand upon the information provided in the status field, which will soon be deprecated; support for the status field remains for the time being.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
response, _, err := client.Members.ReadMemberStatus(ctx, memberGUID, userGUID, )
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. |
MemberConnectionStatusResponseBody
[Back to top] [Back to API list] [Back to Model list] [Back to README]
MemberResponseBody ReadOAuthWindowURI(ctx, memberGUID, userGUID, optional) Read OAuth Window URI
This endpoint will generate an oauth_window_uri
for the specified member
.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
"github.com/antihax/optional"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
opts := &atrium.ReadOAuthWindowURIOpts{
ReferralSource: optional.NewString("BROWSER"), // string | Should be either BROWSER or APP depending on the implementation.
UiMessageWebviewURLScheme: optional.NewString("ui_message_webview_url_scheme_example"), // string | A scheme for routing the user back to the application state they were previously in.
}
response, _, err := client.Members.ReadOAuthWindowURI(ctx, memberGUID, userGUID, , opts)
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. | |
optional | *ReadOAuthWindowURIOpts | optional parameters | nil if no parameters |
Optional parameters are passed through a pointer to a ReadOAuthWindowURIOpts struct
Name | Type | Description | Notes |
---|
referralSource | optional.String| Should be either BROWSER or APP depending on the implementation. | uiMessageWebviewURLScheme | optional.String| A scheme for routing the user back to the application state they were previously in. |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
MemberResponseBody ResumeMember(ctx, memberGUID, userGUID, body) Resume aggregation from MFA
This endpoint answers the challenges needed when a member has been challenged by multi-factor authentication.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
body := atrium.MemberResumeRequestBody{} // MemberResumeRequestBody | Member object with MFA challenge answers
response, _, err := client.Members.ResumeMember(ctx, memberGUID, userGUID, body)
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. | |
body | MemberResumeRequestBody | Member object with MFA challenge answers |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
MemberResponseBody UpdateMember(ctx, memberGUID, userGUID, optional) Update member
Use this endpoint to update a member's attributes. Only the credentials, identifier, and metadata parameters can be updated. To get a list of the required credentials for the member, use the list member credentials endpoint.
package main
import (
"context"
"fmt"
"github.com/mxenabled/atrium-go/v2"
"github.com/antihax/optional"
)
func main() {
client := atrium.AtriumClient("YOUR_API_KEY", "YOUR_CLIENT_ID")
ctx := context.Background()
memberGUID := "MBR-123" // string | The unique identifier for a `member`.
userGUID := "USR-123" // string | The unique identifier for a `user`.
opts := &atrium.UpdateMemberOpts{
Body: optional.NewInterface(atrium.MemberUpdateRequestBody{}), // MemberUpdateRequestBody | Member object to be updated with optional parameters (credentials, identifier, metadata)
}
response, _, err := client.Members.UpdateMember(ctx, memberGUID, userGUID, , opts)
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Response: %s\n", response)
}
}
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
memberGUID | string | The unique identifier for a `member`. | |
userGUID | string | The unique identifier for a `user`. | |
optional | *UpdateMemberOpts | optional parameters | nil if no parameters |
Optional parameters are passed through a pointer to a UpdateMemberOpts struct
Name | Type | Description | Notes |
---|
body | optional.Interface of MemberUpdateRequestBody| Member object to be updated with optional parameters (credentials, identifier, metadata) |
[Back to top] [Back to API list] [Back to Model list] [Back to README]