Team & Access
Team members, roles, and invitations for the merchant account.
Get member
https://api.gobtcpay.com/public/api/v1.2/merchant/users/getReturns a single team member identified by membershipId. The response member includes userId, email, displayName, role, status, and createdAt.
Authorization: merchantAuth
Body required
application/jsonmembershipIdstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6Responses
idstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6resultobjectrequiredcurl -X POST "$BASE_URL/merchant/users/get" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"membershipId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}'{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"result": {
"$case": "success",
"success": {
"member": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"merchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"role": "admin",
"status": "active",
"email": "string",
"displayName": "Satoshi Coffee",
"createdAt": 1718012345,
"access": {
"stores": [
"string"
],
"posTerminals": [
"string"
]
}
}
}
}
}List members
https://api.gobtcpay.com/public/api/v1.2/merchant/users/listLists team members for the active merchant. Supports pagination (limit, skip) and filters by role, status, and a free-text query. Returns items (each member with email, role, status) and totalCount.
Authorization: merchantAuth
Body required
application/jsonpaginationobjectfiltersobjectResponses
idstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6resultobjectrequiredcurl -X POST "$BASE_URL/merchant/users/list" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"pagination": {
"limit": 20,
"skip": 0
},
"filters": {
"role": "admin",
"status": "active",
"query": "string"
}
}'{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"result": {
"$case": "success",
"success": {
"items": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"merchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"role": "admin",
"status": "active",
"email": "string",
"displayName": "Satoshi Coffee",
"createdAt": 1718012345,
"access": {
"stores": [],
"posTerminals": []
}
}
],
"totalCount": 0
}
}
}Invite member
https://api.gobtcpay.com/public/api/v1.2/merchant/users/inviteInvites a user to the active merchant by email with the given role. Returns the created invite including its id, email, role, status, and expiresAt.
Authorization: merchantAuth
Body required
application/jsonemailstringrequiredstringroleenumrequiredadminmanageradminaccessobjectResponses
idstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6resultobjectrequiredcurl -X POST "$BASE_URL/merchant/users/invite" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"email": "string",
"role": "admin",
"access": {
"stores": [
"string"
],
"posTerminals": [
"string"
]
}
}'{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"result": {
"$case": "success",
"success": {
"invite": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"merchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"email": "string",
"role": "admin",
"status": "pending",
"expiresAt": 1718012345,
"createdAt": 1718012345
}
}
}
}Accept invite
https://api.gobtcpay.com/public/api/v1.2/merchant/users/invite/acceptAccepts a pending invitation using the invite token. Returns the created or activated member for the current user, including its role, status, and email.
Body required
application/jsontokenstringrequiredeyJhbGciOiJFUzI1NiIsImtpZCI6ImFjY2VzcyJ9.eyJwa2giOiIwMmExNjMzYyIsImNpZCI6IjNmYTg1ZjY0IiwiaWF0IjoxNzE4MDEyMzQ1fQ.MEQCIE3a…Responses
idstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6resultobjectrequiredcurl -X POST "$BASE_URL/merchant/users/invite/accept" \
-H "Content-Type: application/json" \
-d '{
"token": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImFjY2VzcyJ9.eyJwa2giOiIwMmExNjMzYyIsImNpZCI6IjNmYTg1ZjY0IiwiaWF0IjoxNzE4MDEyMzQ1fQ.MEQCIE3aGoQk0vY9c5kq"
}'{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"result": {
"$case": "success",
"success": {
"member": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"merchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"role": "admin",
"status": "active",
"email": "string",
"displayName": "Satoshi Coffee",
"createdAt": 1718012345,
"access": {
"stores": [
"string"
],
"posTerminals": [
"string"
]
}
}
}
}
}Get invite info
https://api.gobtcpay.com/public/api/v1.2/merchant/users/invite/infoReads a pending invitation by its token without accepting it. Returns the inviting merchant (merchantName, merchantLogoUrl), the invited email, the offered role, the current status and expiresAt, so the invite screen can show who is inviting before the user commits.
Body required
application/jsontokenstringrequiredeyJhbGciOiJFUzI1NiIsImtpZCI6ImFjY2VzcyJ9.eyJwa2giOiIwMmExNjMzYyIsImNpZCI6IjNmYTg1ZjY0IiwiaWF0IjoxNzE4MDEyMzQ1fQ.MEQCIE3a…Responses
idstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6resultobjectrequiredcurl -X POST "$BASE_URL/merchant/users/invite/info" \
-H "Content-Type: application/json" \
-d '{
"token": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImFjY2VzcyJ9.eyJwa2giOiIwMmExNjMzYyIsImNpZCI6IjNmYTg1ZjY0IiwiaWF0IjoxNzE4MDEyMzQ1fQ.MEQCIE3aGoQk0vY9c5kq"
}'{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"result": {
"$case": "success",
"success": {
"invite": {
"merchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"merchantName": "Satoshi Coffee",
"merchantLogoUrl": "string",
"email": "string",
"role": "admin",
"status": "pending",
"expiresAt": 1718012345,
"createdAt": 1718012345
}
}
}
}List invites
https://api.gobtcpay.com/public/api/v1.2/merchant/users/invite/listLists invitations for the active merchant. Supports pagination (limit, skip) and a status filter. Returns items (each invite with email, role, status, expiresAt) and totalCount.
Authorization: merchantAuth
Body required
application/jsonpaginationobjectfiltersobjectResponses
idstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6resultobjectrequiredcurl -X POST "$BASE_URL/merchant/users/invite/list" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"pagination": {
"limit": 20,
"skip": 0
},
"filters": {
"status": "pending"
}
}'{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"result": {
"$case": "success",
"success": {
"items": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"merchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"email": "string",
"role": "admin",
"status": "pending",
"expiresAt": 1718012345,
"createdAt": 1718012345
}
],
"totalCount": 0
}
}
}Revoke invite
https://api.gobtcpay.com/public/api/v1.2/merchant/users/invite/revokeRevokes a pending invitation identified by inviteId. Returns { ok }.
Authorization: merchantAuth
Body required
application/jsoninviteIdstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6Responses
idstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6resultobjectrequiredcurl -X POST "$BASE_URL/merchant/users/invite/revoke" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"inviteId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}'{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"result": {
"$case": "success",
"success": {
"ok": true
}
}
}Remove member
https://api.gobtcpay.com/public/api/v1.2/merchant/users/removeRemoves the membership identified by membershipId from the active merchant. Returns { ok }.
Authorization: merchantAuth
Body required
application/jsonmembershipIdstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6Responses
idstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6resultobjectrequiredcurl -X POST "$BASE_URL/merchant/users/remove" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"membershipId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}'{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"result": {
"$case": "success",
"success": {
"ok": true
}
}
}Update member role
https://api.gobtcpay.com/public/api/v1.2/merchant/users/update-roleUpdates the role of the membership identified by membershipId. Returns the updated member.
Authorization: merchantAuth
Body required
application/jsonmembershipIdstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6roleenumrequiredadminmanageradminResponses
idstringrequired3fa85f64-5717-4562-b3fc-2c963f66afa6resultobjectrequiredcurl -X POST "$BASE_URL/merchant/users/update-role" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"membershipId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"role": "admin"
}'{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"result": {
"$case": "success",
"success": {
"member": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"merchantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"role": "admin",
"status": "active",
"email": "string",
"displayName": "Satoshi Coffee",
"createdAt": 1718012345,
"access": {
"stores": [
"string"
],
"posTerminals": [
"string"
]
}
}
}
}
}