Creating a CARRIER SERVICE using REST API

Topic summary

A developer is attempting to create a carrier service via REST API for a client’s Shopify store. They have verified that:

  • API key, token, and store credentials are correct
  • All necessary permissions are granted
  • Carrier Service option is available for the store
  • Shipping permissions are set to READ and WRITE

Issue encountered: Instead of a successful API response, they receive an HTML page containing what appears to be an OAuth authorization redirect URL (with encoded/garbled text).

Resolution: The issue was resolved in a follow-up post where the developer confirmed their authentication method was incorrect. The problem stemmed from improper authentication setup rather than permissions or API credentials.

Summarized with AI on November 22. AI used: claude-sonnet-4-5-20250929.

Hi,

I’m trying to create a CARRIER SERVICE for my client. We all checked if the API KEY and TOKEN as well as the STORE were correct and all the permissions have been granted. The Carrier Service option is available for that store and the permission for Shipping is READ and WRITE

When creating the CARRIER SERVICE, we receive this html in the response :

<html>
	<body>
		<noscript>
			<a href=\"https://accounts.shopify.com/oauth/authorize?client_id=7ee65a63608843c577db8b23c4d7316ea0a01bd2f7594f8a9c06ea668c1b775c&destination_uuid=8d51591c-b8bf-45da-9674-996968b8ebe9&nonce=f982b04a8e662d645d774ee39cd2ebd7&prompt=merge&redirect_uri=https%3A%2F%2Fgaleriebeauchamp.myshopify.com%2Fadmin%2Fauth%2Fidentity%2Fcallback&response_type=code&scope=email%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Fdestinations.readonly%20openid%20profile%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Fpartners.collaborator-relationships.readonly%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Fbanking.manage%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Fmerchant-setup-dashboard.graphql%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Fshopify-chat.admin.graphql%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Fflow.workflows.manage%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Forganization-identity.manage&state=e8e2c12482f99b2e65335d69ff625027&ui_locales=en&ux=shop\">Continue</a>
		</noscript>
		<script type=\"text/javascript\" defer> window.location=\"https:\\/\\/accounts.shopify.com\\/oauth\\/authorize?client_id=7ee65a63608843c577db8b23c4d7316ea0a01bd2f7594f8a9c06ea668c1b775c\\u0026destination_uuid=8d51591c-b8bf-45da-9674-996968b8ebe9\\u0026nonce=f982b04a8e662d645d774ee39cd2ebd7\\u0026prompt=merge\\u0026redirect_uri=https%3A%2F%2Fgaleriebeauchamp.myshopify.com%2Fadmin%2Fauth%2Fidentity%2Fcallback\\u0026response_type=code\\u0026scope=email%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Fdestinations.readonly%20openid%20profile%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Fpartners.collaborator-relationships.readonly%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Fbanking.manage%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Fmerchant-setup-dashboard.graphql%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Fshopify-chat.admin.graphql%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Fflow.workflows.manage%20https%3A%2F%2Fapi.shopify.com%2Fauth%2Forganization-identity.manage\\u0026state=e8e2c12482f99b2e65335d69ff625027\\u0026ui_locales=en\\u0026ux=shop\" ;
	</script>
</body>
</html>

It’s ok, my authentication was not exactly right.