--- title: fulfillmentServiceCreate - GraphQL Admin description: |- Creates a fulfillment service. ## Fulfillment service location When creating a fulfillment service, a new location will be automatically created on the shop and will be associated with this fulfillment service. This location will be named after the fulfillment service and inherit the shop's address. If you are using API version `2023-10` or later, and you need to specify custom attributes for the fulfillment service location (for example, to change its address to a country different from the shop's country), use the [LocationEdit](https://shopify.dev/api/admin-graphql/latest/mutations/locationEdit) mutation after creating the fulfillment service. api_version: 2026-01 api_name: admin type: mutation api_type: graphql source_url: html: https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentservicecreate md: https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentservicecreate.md --- # fulfillment​Service​Create mutation Requires `write_fulfillments` access scope. Also: The user must have fulfill\_and\_ship\_orders permission. Creates a fulfillment service. ## Fulfillment service location When creating a fulfillment service, a new location will be automatically created on the shop and will be associated with this fulfillment service. This location will be named after the fulfillment service and inherit the shop's address. If you are using API version `2023-10` or later, and you need to specify custom attributes for the fulfillment service location (for example, to change its address to a country different from the shop's country), use the [LocationEdit](https://shopify.dev/api/admin-graphql/latest/mutations/locationEdit) mutation after creating the fulfillment service. ## Arguments * callbackUrl * inventoryManagement * name * requiresShippingMethod * trackingSupport ### Deprecated arguments * fulfillmentOrdersOptIn: deprecated * permitsSkuSharing: deprecated *** ## Fulfillment​Service​Create​Payload returns * fulfillmentService * userErrors *** ## Examples * ### Create a new FulfillmentService #### Description A third party app creates a fulfillment service that uses the fulfillment order based workflow. #### Query ```graphql mutation fulfillmentServiceCreate($name: String!, $callbackUrl: URL!) { fulfillmentServiceCreate(name: $name, callbackUrl: $callbackUrl) { fulfillmentService { id serviceName callbackUrl } userErrors { field message } } } ``` #### Variables ```json { "name": "example_fulfillment_service", "callbackUrl": "https://callback.org/" } ``` #### cURL ```bash curl -X POST \ https://your-development-store.myshopify.com/admin/api/2026-01/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "mutation fulfillmentServiceCreate($name: String!, $callbackUrl: URL!) { fulfillmentServiceCreate(name: $name, callbackUrl: $callbackUrl) { fulfillmentService { id serviceName callbackUrl } userErrors { field message } } }", "variables": { "name": "example_fulfillment_service", "callbackUrl": "https://callback.org/" } }' ``` #### React Router ```javascript import { authenticate } from "../shopify.server"; export const loader = async ({request}) => { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql mutation fulfillmentServiceCreate($name: String!, $callbackUrl: URL!) { fulfillmentServiceCreate(name: $name, callbackUrl: $callbackUrl) { fulfillmentService { id serviceName callbackUrl } userErrors { field message } } }`, { variables: { "name": "example_fulfillment_service", "callbackUrl": "https://callback.org/" }, }, ); const json = await response.json(); return json.data; } ``` #### Ruby ```ruby session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY mutation fulfillmentServiceCreate($name: String!, $callbackUrl: URL!) { fulfillmentServiceCreate(name: $name, callbackUrl: $callbackUrl) { fulfillmentService { id serviceName callbackUrl } userErrors { field message } } } QUERY variables = { "name": "example_fulfillment_service", "callbackUrl": "https://callback.org/" } response = client.query(query: query, variables: variables) ``` #### Node.js ```javascript const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: { "query": `mutation fulfillmentServiceCreate($name: String!, $callbackUrl: URL!) { fulfillmentServiceCreate(name: $name, callbackUrl: $callbackUrl) { fulfillmentService { id serviceName callbackUrl } userErrors { field message } } }`, "variables": { "name": "example_fulfillment_service", "callbackUrl": "https://callback.org/" }, }, }); ``` #### Response ```json { "fulfillmentServiceCreate": { "fulfillmentService": { "id": "gid://shopify/FulfillmentService/1061774487?id=true", "serviceName": "example_fulfillment_service", "callbackUrl": "https://callback.org/" }, "userErrors": [] } } ``` * ### fulfillmentServiceCreate reference