sFOX API
Sign InOpen Account
Connect API
Connect API
  • Introduction
    • Welcome
    • Getting Started
    • Resources
      • Terminology
      • Systems & Operations
      • Integration Options
    • Guides
      • End User Onboarding & KYC
        • Individuals
        • Businesses
        • Enhanced Due Diligence
  • REST API
    • REST Endpoints
    • Authentication
    • End Users
      • Create End User Account
      • Request Verification Code
      • Confirm Verification Code
      • Create Single User Auth Token
      • Create Multiple User Auth Tokens
      • Get End User(s)
      • Get EDD Requests
      • Get EDD Prompts
      • Create EDD Responses
      • Submit Documents
        • Submit Documents (SFTP)
      • Deactivate User
    • Payments
      • Create Bank Account (Plaid)
      • Create Bank Account
      • Get Bank Account
      • Get Plaid Processors
      • Amend Plaid Processors
      • Verify Bank Account
      • Delete Bank Account
      • Get Wire Instructions
      • Get ACH Agreement Status
      • Request ACH Onboarding
      • Get ACH Deposit Limit
    • Withdrawals
      • Confirm Withdrawal
      • Resend Confirmation Code
      • Cancel Withdrawal
    • Transfers
      • Create Transfer
      • Confirm Transfer
      • Resend Confirmation Code
      • Cancel Transfer
      • Get Transfer Permissions
      • Get Transfer History
    • Monetization
      • Create Setting
      • Update Setting
      • Delete Setting
      • Get Settings
      • Get Permissions
      • Get Monetization History
  • WebSocket API
    • Connecting
    • Authentication
    • Subscribing & Unsubscribing
    • Message Format
    • End Users
      • Onboarding
      • Balances
      • Orders
      • Trades
    • Market Data
      • Order Book
      • Trades
      • Ticker
  • Single Sign-On
    • Overview
      • IdP Initiated SSO
    • IdP Data
    • SAML Response Data
  • Errors
    • Error Codes
Powered by GitBook
On this page
  • Request
  • Body Parameters
  • Example Requests
  • Response
  • Response Fields
  • Responses
  1. REST API
  2. End Users

Create Multiple User Auth Tokens

POST

https://api.sfox.com/v1/enterprise/user-tokens

Generate a user auth token for multiple end users.


User auth tokens are short-lived authentication tokens, expiring 24 hours after creation (expiration of a given token specified in the expires field of the response). User auth tokens are used for actions specific to a user's account (e.g. Initiate an ACH Deposit, Create an Order).

sFOX recommends that you do not store user auth tokens. Instead, create a new user auth token as needed whenever executing requests on behalf of a specific user.

There is no limit to the number of user auth tokens that may be created.

To create a user auth token for a single user, use a Create Single User Auth Token request.

Request

Body Parameters

Name
Description

data required, [string]

Array of user_id strings.

user_id required, string

The IDs of the user(s) to create user auth tokens for. At least 1 user_id must be specified in the array.

Example Requests

Create user auth tokens for 2 users with user_id ${USER_ID_1} and ${USER_ID_2}
curl -X POST \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ${ENTERPRISE_API_KEY}" \
--data '{ "data": ["${USER_ID_1}", "${USER_ID_2}"]}' \
'https://api.sfox.com/v1/enterprise/user-tokens'
Create user auth tokens for 2 users with user_id ${USER_ID_1} and ${USER_ID_2}
const axios = require('axios');

const payload = JSON.stringify({
    "data": [
      '${USER_ID_1}',
      '${USER_ID_1}'
    ]
})

const config = {
  method: 'post',
  url: 'https://api.sfox.com/v1/enterprise/user-tokens',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${process.env.ENTERPRISE_API_KEY}`
  },
  data: data
}

axios(config)
  .then(response => {
    console.log(response.status)
    console.log(response.data)
  }).catch(err => {
    console.error(err.response.status)
    console.error(err.response.data)
  });
Create user auth tokens for 2 users with user_id ${USER_ID_1} and ${USER_ID_2}
import requests
import os

data = requests.post(
  "https://api.sfox.com/v1/enterprise/user-tokens",
  headers={
    "Authorization": f"Bearer {os.environ['ENTERPRISE_API_KEY']}",
  },
  json={
    "data": ["${USER_ID_1}", "${USER_ID_2}"]
  }
)
print(data.status_code)
print(data.json())

Response

Response Fields

Field
Description

data [object]

Array of user auth token objects.

token string

The user authentication token that you will use to access this specific user's sFOX account

partner_user_id string

The user_id the token grants access to.

expires string

The expiration date of the user auth token. ISO-8601 date and time in UTC time zone.

Responses

201 Created
Multiple users
{
  "data": [
  {
    "token":"911b79b52d8921e57d55bfe4fa182e0e3982e1fa7f202ede548299b1118028f3",
    "expires": "2022-02-08T03:28:56Z",
    "partner_user_id": "156c5beb-7c9f-4f68-83c0-9479703ac490"
  },
  {
    "token":"811d79b52d8921e57d55bfe4fa182e0e3982e1fa7f202ede548299b1117467c5",
    "expires": "2022-02-08T03:28:56Z",
    "partner_user_id": "236f5cdc-7h82-6fh3-h37s-9382840de46575"
  }
  ]
}
PreviousCreate Single User Auth TokenNextGet End User(s)

Last updated 15 hours ago