## List accounts `client.Embed.Accounts.List(ctx, params) (*PageNumberSchema[AccountPagedV1Data], error)` **get** `/v1/accounts` Returns a list of accounts associated with your Straddle platform integration. The accounts are returned sorted by creation date, with the most recently created accounts appearing first. This endpoint supports advanced sorting and filtering options. ### Parameters - `params EmbedAccountListParams` - `PageNumber param.Field[int64]` Query param: Results page number. Starts at page 1. Default value: 1 - `PageSize param.Field[int64]` Query param: Page size. Default value: 100. Max value: 1000 - `SearchText param.Field[string]` Query param - `SortBy param.Field[string]` Query param: Sort By. Default value: 'id'. - `SortOrder param.Field[EmbedAccountListParamsSortOrder]` Query param: Sort Order. Default value: 'asc'. - `const EmbedAccountListParamsSortOrderAsc EmbedAccountListParamsSortOrder = "asc"` - `const EmbedAccountListParamsSortOrderDesc EmbedAccountListParamsSortOrder = "desc"` - `Status param.Field[EmbedAccountListParamsStatus]` Query param - `const EmbedAccountListParamsStatusCreated EmbedAccountListParamsStatus = "created"` - `const EmbedAccountListParamsStatusOnboarding EmbedAccountListParamsStatus = "onboarding"` - `const EmbedAccountListParamsStatusActive EmbedAccountListParamsStatus = "active"` - `const EmbedAccountListParamsStatusRejected EmbedAccountListParamsStatus = "rejected"` - `const EmbedAccountListParamsStatusInactive EmbedAccountListParamsStatus = "inactive"` - `Type param.Field[EmbedAccountListParamsType]` Query param - `const EmbedAccountListParamsTypeBusiness EmbedAccountListParamsType = "business"` - `CorrelationID param.Field[string]` Header param: Optional client generated identifier to trace and debug a series of requests. - `RequestID param.Field[string]` Header param: Optional client generated identifier to trace and debug a request. ### Returns - `type AccountPagedV1Data struct{…}` - `ID string` Unique identifier for the account. - `AccessLevel string` The access level granted to the account. This is determined by your platform configuration. Use `standard` unless instructed otherwise by Straddle. - `const AccountPagedV1DataAccessLevelStandard AccountPagedV1DataAccessLevel = "standard"` - `const AccountPagedV1DataAccessLevelManaged AccountPagedV1DataAccessLevel = "managed"` - `OrganizationID string` The unique identifier of the organization this account belongs to. - `Status string` The current status of the account (e.g., 'active', 'inactive', 'pending'). - `const AccountPagedV1DataStatusCreated AccountPagedV1DataStatus = "created"` - `const AccountPagedV1DataStatusOnboarding AccountPagedV1DataStatus = "onboarding"` - `const AccountPagedV1DataStatusActive AccountPagedV1DataStatus = "active"` - `const AccountPagedV1DataStatusRejected AccountPagedV1DataStatus = "rejected"` - `const AccountPagedV1DataStatusInactive AccountPagedV1DataStatus = "inactive"` - `StatusDetail AccountPagedV1DataStatusDetail` - `Code string` A machine-readable code for the specific status, useful for programmatic handling. - `Message string` A human-readable message describing the current status. - `Reason string` A machine-readable identifier for the specific status, useful for programmatic handling. - `const AccountPagedV1DataStatusDetailReasonUnverified AccountPagedV1DataStatusDetailReason = "unverified"` - `const AccountPagedV1DataStatusDetailReasonInReview AccountPagedV1DataStatusDetailReason = "in_review"` - `const AccountPagedV1DataStatusDetailReasonPending AccountPagedV1DataStatusDetailReason = "pending"` - `const AccountPagedV1DataStatusDetailReasonStuck AccountPagedV1DataStatusDetailReason = "stuck"` - `const AccountPagedV1DataStatusDetailReasonVerified AccountPagedV1DataStatusDetailReason = "verified"` - `const AccountPagedV1DataStatusDetailReasonFailedVerification AccountPagedV1DataStatusDetailReason = "failed_verification"` - `const AccountPagedV1DataStatusDetailReasonDisabled AccountPagedV1DataStatusDetailReason = "disabled"` - `const AccountPagedV1DataStatusDetailReasonTerminated AccountPagedV1DataStatusDetailReason = "terminated"` - `const AccountPagedV1DataStatusDetailReasonNew AccountPagedV1DataStatusDetailReason = "new"` - `Source string` Identifies the origin of the status change (e.g., `bank_decline`, `watchtower`). This helps in tracking the cause of status updates. - `const AccountPagedV1DataStatusDetailSourceWatchtower AccountPagedV1DataStatusDetailSource = "watchtower"` - `Type string` The type of account (e.g., 'individual', 'business'). - `const AccountPagedV1DataTypeBusiness AccountPagedV1DataType = "business"` - `BusinessProfile BusinessProfileV1` - `Name string` The operating or trade name of the business. - `Website string` URL of the business's primary marketing website. - `Address AddressV1` The address object is optional. If provided, it must be a valid address. - `City string` City, district, suburb, town, or village. - `Line1 string` Primary address line (e.g., street, PO Box). - `PostalCode string` Postal or ZIP code. - `State string` Two-letter state code. - `Country string` The country of the address, in ISO 3166-1 alpha-2 format. - `Line2 string` Secondary address line (e.g., apartment, suite, unit, or building). - `Description string` A brief description of the business and its products or services. - `Industry IndustryV1` - `Category string` The general category of the industry. Required if not providing MCC. - `Mcc string` The Merchant Category Code (MCC) that best describes the business. Optional. - `Sector string` The specific sector within the industry category. Required if not providing MCC. - `LegalName string` The official registered name of the business. - `Phone string` The primary contact phone number for the business. - `SupportChannels SupportChannelsV1` - `Email string` The email address for customer support inquiries. - `Phone string` The phone number for customer support. - `URL string` The URL of the business's customer support page or contact form. - `TaxID string` The business's tax identification number (e.g., EIN in the US). - `UseCase string` A description of how the business intends to use Straddle's services. - `Capabilities AccountPagedV1DataCapabilities` - `ConsentTypes AccountPagedV1DataCapabilitiesConsentTypes` - `Internet CapabilityV1` Whether the internet payment authorization capability is enabled for the account. - `CapabilityStatus CapabilityV1CapabilityStatus` - `const CapabilityV1CapabilityStatusActive CapabilityV1CapabilityStatus = "active"` - `const CapabilityV1CapabilityStatusInactive CapabilityV1CapabilityStatus = "inactive"` - `SignedAgreement CapabilityV1` Whether the signed agreement payment authorization capability is enabled for the account. - `CustomerTypes AccountPagedV1DataCapabilitiesCustomerTypes` - `Businesses CapabilityV1` - `Individuals CapabilityV1` - `PaymentTypes AccountPagedV1DataCapabilitiesPaymentTypes` - `Charges CapabilityV1` - `Payouts CapabilityV1` - `CreatedAt Time` Timestamp of when the account was created. - `ExternalID string` Unique identifier for the account in your database, used for cross-referencing between Straddle and your systems. - `Metadata map[string, string]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the account in a structured format. - `Settings AccountPagedV1DataSettings` - `Charges AccountPagedV1DataSettingsCharges` - `DailyAmount int64` The maximum dollar amount of charges in a calendar day. - `FundingTime string` The amount of time it takes for a charge to be funded. This value is defined by Straddle. - `const AccountPagedV1DataSettingsChargesFundingTimeImmediate AccountPagedV1DataSettingsChargesFundingTime = "immediate"` - `const AccountPagedV1DataSettingsChargesFundingTimeNextDay AccountPagedV1DataSettingsChargesFundingTime = "next_day"` - `const AccountPagedV1DataSettingsChargesFundingTimeOneDay AccountPagedV1DataSettingsChargesFundingTime = "one_day"` - `const AccountPagedV1DataSettingsChargesFundingTimeTwoDay AccountPagedV1DataSettingsChargesFundingTime = "two_day"` - `const AccountPagedV1DataSettingsChargesFundingTimeThreeDay AccountPagedV1DataSettingsChargesFundingTime = "three_day"` - `const AccountPagedV1DataSettingsChargesFundingTimeFourDay AccountPagedV1DataSettingsChargesFundingTime = "four_day"` - `const AccountPagedV1DataSettingsChargesFundingTimeFiveDay AccountPagedV1DataSettingsChargesFundingTime = "five_day"` - `LinkedBankAccountID string` The unique identifier of the linked bank account associated with charges. This value is defined by Straddle. - `MaxAmount int64` The maximum amount of a single charge. - `MonthlyAmount int64` The maximum dollar amount of charges in a calendar month. - `MonthlyCount int64` The maximum number of charges in a calendar month. - `Payouts AccountPagedV1DataSettingsPayouts` - `DailyAmount int64` The maximum dollar amount of payouts in a day. - `FundingTime string` The amount of time it takes for a payout to be funded. This value is defined by Straddle. - `const AccountPagedV1DataSettingsPayoutsFundingTimeImmediate AccountPagedV1DataSettingsPayoutsFundingTime = "immediate"` - `const AccountPagedV1DataSettingsPayoutsFundingTimeNextDay AccountPagedV1DataSettingsPayoutsFundingTime = "next_day"` - `const AccountPagedV1DataSettingsPayoutsFundingTimeOneDay AccountPagedV1DataSettingsPayoutsFundingTime = "one_day"` - `const AccountPagedV1DataSettingsPayoutsFundingTimeTwoDay AccountPagedV1DataSettingsPayoutsFundingTime = "two_day"` - `const AccountPagedV1DataSettingsPayoutsFundingTimeThreeDay AccountPagedV1DataSettingsPayoutsFundingTime = "three_day"` - `const AccountPagedV1DataSettingsPayoutsFundingTimeFourDay AccountPagedV1DataSettingsPayoutsFundingTime = "four_day"` - `const AccountPagedV1DataSettingsPayoutsFundingTimeFiveDay AccountPagedV1DataSettingsPayoutsFundingTime = "five_day"` - `LinkedBankAccountID string` The unique identifier of the linked bank account to use for payouts. - `MaxAmount int64` The maximum amount of a single payout. - `MonthlyAmount int64` The maximum dollar amount of payouts in a month. - `MonthlyCount int64` The maximum number of payouts in a month. - `TermsOfService TermsOfServiceV1` - `AcceptedDate Time` The datetime of when the terms of service were accepted, in ISO 8601 format. - `AgreementType TermsOfServiceV1AgreementType` The type or version of the agreement accepted. Use `embedded` unless your platform was specifically enabled for `direct` agreements. - `const TermsOfServiceV1AgreementTypeEmbedded TermsOfServiceV1AgreementType = "embedded"` - `const TermsOfServiceV1AgreementTypeDirect TermsOfServiceV1AgreementType = "direct"` - `AgreementURL string` The URL where the full text of the accepted agreement can be found. - `AcceptedIP string` The IP address from which the terms of service were accepted. - `AcceptedUserAgent string` The user agent string of the browser or application used to accept the terms. - `UpdatedAt Time` Timestamp of the most recent update to the account. ### 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"), ) page, err := client.Embed.Accounts.List(context.TODO(), straddle.EmbedAccountListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "data": [ { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "access_level": "standard", "organization_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "status": "created", "status_detail": { "code": "code", "message": "message", "reason": "unverified", "source": "watchtower" }, "type": "business", "business_profile": { "name": "name", "website": "https://example.com", "address": { "city": "city", "line1": "line1", "postal_code": "21029-1360", "state": "SE", "country": "country", "line2": "line2" }, "description": "description", "industry": { "category": "category", "mcc": "mcc", "sector": "sector" }, "legal_name": "legal_name", "phone": "+46991022", "support_channels": { "email": "dev@stainless.com", "phone": "+46991022", "url": "https://example.com" }, "tax_id": "210297980", "use_case": "use_case" }, "capabilities": { "consent_types": { "internet": { "capability_status": "active" }, "signed_agreement": { "capability_status": "active" } }, "customer_types": { "businesses": { "capability_status": "active" }, "individuals": { "capability_status": "active" } }, "payment_types": { "charges": { "capability_status": "active" }, "payouts": { "capability_status": "active" } } }, "created_at": "2019-12-27T18:11:19.117Z", "external_id": "external_id", "metadata": { "foo": "string" }, "settings": { "charges": { "daily_amount": 0, "funding_time": "immediate", "linked_bank_account_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "max_amount": 0, "monthly_amount": 0, "monthly_count": 0 }, "payouts": { "daily_amount": 0, "funding_time": "immediate", "linked_bank_account_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "max_amount": 0, "monthly_amount": 0, "monthly_count": 0 } }, "terms_of_service": { "accepted_date": "2019-12-27T18:11:19.117Z", "agreement_type": "embedded", "agreement_url": "agreement_url", "accepted_ip": "accepted_ip", "accepted_user_agent": "accepted_user_agent" }, "updated_at": "2019-12-27T18:11:19.117Z" } ], "meta": { "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "api_request_timestamp": "2019-12-27T18:11:19.117Z", "max_page_size": 0, "page_number": 0, "page_size": 0, "sort_by": "sort_by", "sort_order": "asc", "total_items": 0, "total_pages": 0 }, "response_type": "object" } ```