Member types
Set or clear the default shopper member type
Sets or clears the company’s default shopper member type and writes no other company column. The default is used only while the customer member type is archived: new customers then join it instead. The target must be an active shopper (not rep-eligible, unless it is the seeded customer or preferred type) member type of this company; an id that names no such type, including another company’s type, is refused with 422. Clearing is refused with 422 while the customer member type is archived. Requires admin tier and member_types.manage permission.
PUT
/
api
/
v2025-06
/
member-types
/
default-shopper
Set or clear the default shopper member type
curl --request PUT \
--url https://api.fluid.app/api/v2025-06/member-types/default-shopper \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"default_shopper_member_type_id": "0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06"
}
'import requests
url = "https://api.fluid.app/api/v2025-06/member-types/default-shopper"
payload = { "default_shopper_member_type_id": "0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({default_shopper_member_type_id: '0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06'})
};
fetch('https://api.fluid.app/api/v2025-06/member-types/default-shopper', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluid.app/api/v2025-06/member-types/default-shopper",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'default_shopper_member_type_id' => '0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fluid.app/api/v2025-06/member-types/default-shopper"
payload := strings.NewReader("{\n \"default_shopper_member_type_id\": \"0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.fluid.app/api/v2025-06/member-types/default-shopper")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"default_shopper_member_type_id\": \"0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v2025-06/member-types/default-shopper")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"default_shopper_member_type_id\": \"0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06\"\n}"
response = http.request(request)
puts response.read_body{
"default_shopper_member_type_id": "0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06",
"status": 200,
"meta": {
"request_id": "d4a0c6f2-9e3b-47d1-8a65-1f7b2e9c3d84",
"timestamp": "2026-09-16T08:47:19Z"
}
}{
"message": "<string>"
}{
"message": "<string>"
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
The member type to use, or null to clear the default.
⌘I
Set or clear the default shopper member type
curl --request PUT \
--url https://api.fluid.app/api/v2025-06/member-types/default-shopper \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"default_shopper_member_type_id": "0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06"
}
'import requests
url = "https://api.fluid.app/api/v2025-06/member-types/default-shopper"
payload = { "default_shopper_member_type_id": "0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({default_shopper_member_type_id: '0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06'})
};
fetch('https://api.fluid.app/api/v2025-06/member-types/default-shopper', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluid.app/api/v2025-06/member-types/default-shopper",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'default_shopper_member_type_id' => '0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fluid.app/api/v2025-06/member-types/default-shopper"
payload := strings.NewReader("{\n \"default_shopper_member_type_id\": \"0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.fluid.app/api/v2025-06/member-types/default-shopper")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"default_shopper_member_type_id\": \"0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v2025-06/member-types/default-shopper")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"default_shopper_member_type_id\": \"0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06\"\n}"
response = http.request(request)
puts response.read_body{
"default_shopper_member_type_id": "0199a8f0-2d6b-7a18-8e45-c3b17f9d2a06",
"status": 200,
"meta": {
"request_id": "d4a0c6f2-9e3b-47d1-8a65-1f7b2e9c3d84",
"timestamp": "2026-09-16T08:47:19Z"
}
}{
"message": "<string>"
}{
"message": "<string>"
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}