Customer Portal
Check Customer Account API authentication status
Checks whether the current customer has valid Customer Account API tokens stored. Used by the customer portal to determine if the customer needs to authenticate.
Use Cases:
- Check if customer is authenticated before making Customer Account API GraphQL calls
- Determine whether to show ‘Connect Account’ button in UI
- Validate token validity before attempting sensitive operations
Response: Returns authentication status and customer ID.
Authentication: Customer must be logged in via Shopify customer session
GET
/
subscriptions
/
cp
/
api
/
customer-account-api
/
status
Check Customer Account API authentication status
curl --request GET \
--url https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/statusimport requests
url = "https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/status"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/status';
const options = {method: 'GET'};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/status"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"authenticated": true,
"customerId": "123456789"
}Response
Authentication status retrieved successfully
⌘I
Check Customer Account API authentication status
curl --request GET \
--url https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/statusimport requests
url = "https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/status"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/status';
const options = {method: 'GET'};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/status"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://www.myshop.com/apps/subscriptions/cp/api/customer-account-api/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"authenticated": true,
"customerId": "123456789"
}