Skip to main content
POST
/
ramp
/
organization
/
{id}
/
member
Add organization member
curl --request POST \
  --url https://api.sand.etherfuse.com/ramp/organization/{id}/member \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "[email protected]",
  "role": "admin",
  "emailInviteLink": "https://partner.example.com/kyb-invite?org=a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
'
{
  "members": [
    {
      "customerId": "9f1c4b2a-7d3e-4c5f-8a6b-1e2d3c4b5a6f",
      "email": "[email protected]",
      "role": "admin",
      "joinedAt": "2026-06-17T00:00:00Z"
    }
  ],
  "invited": [
    {
      "email": "[email protected]",
      "role": "member",
      "invitedAt": "2026-06-17T00:00:00Z"
    }
  ]
}

Authorizations

Authorization
string
header
required

API key sent in the Authorization header.

Path Parameters

id
string<uuid>
required

The business organization to add the member to (your own org or a direct child).

Body

application/json
role
enum<string>
required

The member's role in the organization.

Available options:
admin,
member
email
string | null

Invite or add a member by email address. If the email matches a user who has already signed in through your JWT, they're added as a member immediately; otherwise a pending invite is created and accepted automatically the first time that email signs in via your kyb JWT. Use email when you don't have the person's customerId yet, or when you want Etherfuse to email them an invite (see emailInviteLink). Provide exactly one of email or customerId.

customerId
string | null

Add an existing customer directly by their sub (the value you put in the JWT sub when they sign in); no email is sent. The customer must already exist, which happens the first time they exchange a JWT via POST /auth/token (or are launched); an unknown sub returns 404. A business org id (service account) is rejected. Provide exactly one of email or customerId.

Optional. When adding by email and a pending invite is created (the email isn't already a member), Etherfuse emails them this URL as-is (you control the full link, including any query params) as the call to action. Omit it to create the invite silently and notify the user yourself. Ignored when the email already matches a member who is added immediately.

Response

The added member or pending invite

members
object[]
required

Active members. The org's own service account is never listed.

invited
object[]
required

Pending invites that have not been accepted yet.