Admin APIobject
Contains objects used to interact with the Admin API.
This object is returned as part of different contexts, such as admin, unauthenticated.admin, and webhook.
Anchor to adminadmin
Provides utilities that apps can use to make requests to the Admin API.
- Anchor to restrestRestClientWithResources<Resources>required
Methods for interacting with the Shopify Admin REST API
There are methods for interacting with individual REST resources. You can also make
,,andrequests should the REST resources not meet your needs.- Anchor to graphqlgraphqlGraphQLClientrequired
Methods for interacting with the Shopify Admin GraphQL API
RestClientWithResources
RemixRestClient & {resources: Resources}Anchor to examplesExamples
Anchor to example-using-rest-resourcesUsing REST resources
Getting the number of orders in a store using REST resources.
Anchor to example-performing-a-get-request-to-the-rest-apiPerforming a GET request to the REST API
Use admin.rest.<method> to make custom requests to the API.
Using REST resources
Examples
Using REST resources
Description
Getting the number of orders in a store using REST resources.
/app/shopify.server.ts
import { shopifyApp } from "@shopify/shopify-app-remix/server"; import { restResources } from "@shopify/shopify-api/rest/admin/2023-07"; const shopify = shopifyApp({ restResources, // ...etc }); export default shopify; export const authenticate = shopify.authenticate;/app/routes/**\/*.ts
import { LoaderArgs, json } from "@remix-run/node"; import { authenticate } from "../shopify.server"; export const loader = async ({ request }: LoaderArgs) => { const { admin, session } = await authenticate.admin(request); return json(admin.rest.resources.Order.count({ session })); };Performing a GET request to the REST API
Description
Use `admin.rest.<method>` to make custom requests to the API.
/app/shopify.server.ts
import { shopifyApp } from "@shopify/shopify-app-remix/server"; import { restResources } from "@shopify/shopify-api/rest/admin/2023-04"; const shopify = shopifyApp({ restResources, // ...etc }); export default shopify; export const authenticate = shopify.authenticate;/app/routes/**\/*.ts
import { LoaderArgs, json } from "@remix-run/node"; import { authenticate } from "../shopify.server"; export const loader = async ({ request }: LoaderArgs) => { const { admin, session } = await authenticate.admin(request); const response = await admin.rest.get({ path: "/customers/count.json" }); const customers = await response.json(); return json({ customers }); };
Anchor to example-graphqlgraphql
Anchor to example-querying-the-graphql-apiQuerying the GraphQL API
Use admin.graphql to make query / mutation requests.
Querying the GraphQL API
Example
Examples
Querying the GraphQL API
Description
Use `admin.graphql` to make query / mutation requests.
Example
import { ActionArgs } from "@remix-run/node"; import { authenticate } from "../shopify.server"; export async function action({ request }: ActionArgs) { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql mutation populateProduct($input: ProductInput!) { productCreate(input: $input) { product { id } } }`, { variables: { input: { title: "Product Name" } } } ); const productData = await response.json(); return json({ data: productData.data }); }