--- title: FulfillmentEvent description: Create fulfillment events for an order's fulfillments. The fulfillment events are displayed on the order status page so the customer can track the progress of their delivery. api_version: 2025-10 api_name: admin-rest api_type: rest source_url: html: https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentevent md: https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentevent.md --- ![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg) The REST Admin API is a legacy API as of October 1, 2024. Starting April 1, 2025, all new public apps must be built exclusively with the [GraphQL Admin API](https://shopify.dev/docs/api/admin-graphql). For details and migration steps, visit our [migration guide](https://shopify.dev/docs/apps/build/graphql/migrate). # Fulfillment​Event Requires `orders` access scope. The FulfillmentEvent resource represents tracking events that belong to a [fulfillment](https://shopify.dev/docs/admin-api/rest/reference/shipping-and-fulfillment/fulfillment) of one or more items in an [order](https://shopify.dev/docs/admin-api/rest/reference/orders/order). Fulfillment events are displayed on the [order status page](https://help.shopify.com/manual/orders/status-tracking) to update customers on the status of their shipment. \# ## Endpoints * [post](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentevent#post-orders-order-id-fulfillments-fulfillment-id-events) [/admin/api/latest/orders/{order\_​id}/fulfillments/{fulfillment\_​id}/events.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentevent#post-orders-order-id-fulfillments-fulfillment-id-events) Creates a fulfillment event [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentEventCreate?example=creates-a-fulfillment-event) [fulfillmentEventCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentEventCreate?example=creates-a-fulfillment-event) * [get](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentevent#get-orders-order-id-fulfillments-fulfillment-id-events) [/admin/api/latest/orders/{order\_​id}/fulfillments/{fulfillment\_​id}/events.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentevent#get-orders-order-id-fulfillments-fulfillment-id-events) Retrieves a list of fulfillment events for a specific fulfillment [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/queries/fulfillment?example=retrieves-a-list-of-fulfillment-events-for-a-specific-fulfillment) [fulfillment](https://shopify.dev/docs/api/admin-graphql/latest/queries/fulfillment?example=retrieves-a-list-of-fulfillment-events-for-a-specific-fulfillment) * [get](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentevent#get-orders-order-id-fulfillments-fulfillment-id-events-event-id) [/admin/api/latest/orders/{order\_​id}/fulfillments/{fulfillment\_​id}/events/{event\_​id}.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentevent#get-orders-order-id-fulfillments-fulfillment-id-events-event-id) Retrieves a specific fulfillment event deprecated * [del](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentevent#delete-orders-order-id-fulfillments-fulfillment-id-events-event-id) [/admin/api/latest/orders/{order\_​id}/fulfillments/{fulfillment\_​id}/events/{event\_​id}.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/fulfillmentevent#delete-orders-order-id-fulfillments-fulfillment-id-events-event-id) Deletes a fulfillment event deprecated *** ## The FulfillmentEvent resource ### Properties *** address1 -> [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.address1) [address1](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.address1) The street address where the fulfillment event occurred. *** city -> [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.city) [city](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.city) The city where the fulfillment event occurred. *** country -> [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.country) [country](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.country) The country where the fulfillment event occurred. *** created\_at -> [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.createdAt) [createdAt](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.createdAt) The date and time ([ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format) when the fulfillment event was created. *** estimated\_delivery\_at -> [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.estimatedDeliveryAt) [estimatedDeliveryAt](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.estimatedDeliveryAt) The estimated delivery date based on the fulfillment's tracking number, as long as it's provided by one of the following carriers: USPS, FedEx, UPS, or Canada Post (Canada only). Value is `null` if no tracking number is available or if the tracking number is from an unsupported carrier. This property is available only when [carrier calculated rates](https://help.shopify.com/manual/shipping/rates-and-methods/custom-calculated-rates) are in use.' *** fulfillment\_id An ID for the fulfillment that's associated with the fulfillment event. *** happened\_at -> [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.happenedAt) [happenedAt](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.happenedAt) The date and time ([ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format) when the fulfillment event occurred. *** id -> [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.id) [id](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.id) An ID for the fulfillment event. *** latitude -> [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.latitude) [latitude](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.latitude) A geographic coordinate specifying the latitude of the fulfillment event. *** longitude -> [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.longitude) [longitude](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.longitude) A geographic coordinate specifying the longitude of the fulfillment event. *** message -> [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.message) [message](https://shopify.dev/docs/api/admin-graphql/latest/objects/FulfillmentEvent#field-FulfillmentEvent.fields.message) An arbitrary message describing the status. Can be provided by a shipping carrier. *** order\_id deprecated The ID of the order that's associated with the fulfillment event. *** {} ## The FulfillmentEvent resource ```json { "address1": "3575 Boul. Saint-Laurent", "city": "Montreal", "country": "Canada", "created_at": "2012-03-13T16:09:54-04:00", "estimated_delivery_at": "2014-04-13T16:09:54-04:00", "fulfillment_id": 450789469, "happened_at": "2012-03-13T16:09:54-04:00", "id": 255858046, "latitude": 45.5017, "longitude": 73.5673, "message": "IN_TRANSIT", "order_id": 3183479, "province": "QC", "shop_id": 255858046, "status": "in_transit", "updated_at": "2012-03-15T16:09:54-04:00", "zip": "H2X 2R7" } ``` *** ## postCreates a fulfillment event [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentEventCreate?example=creates-a-fulfillment-event) [fulfillmentEventCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentEventCreate?example=creates-a-fulfillment-event) Creates a fulfillment event ### Parameters *** api\_version string required *** fulfillment\_id string required *** order\_id string required *** ### Examples Create a fulfillment event post ## /admin/api/2025-10/orders/450789469/fulfillments/255858046/events.​json ```bash curl -d '{"event":{"status":"in_transit"}}' \ -X POST "https://your-development-store.myshopify.com/admin/api/2025-10/orders/450789469/fulfillments/255858046/events.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` {} ## Response JSON ```json HTTP/1.1 201 Created { "fulfillment_event": { "id": 944956392, "fulfillment_id": 255858046, "status": "in_transit", "message": null, "happened_at": "2025-10-01T15:06:01-04:00", "city": null, "province": null, "country": null, "zip": null, "address1": null, "latitude": null, "longitude": null, "shop_id": 548380009, "created_at": "2025-10-01T15:06:01-04:00", "updated_at": "2025-10-01T15:06:01-04:00", "estimated_delivery_at": null, "order_id": 450789469, "admin_graphql_api_id": "gid://shopify/FulfillmentEvent/944956392" } } ``` ### examples * #### Create a fulfillment event ##### ```curl curl -d '{"event":{"status":"in_transit"}}' \ -X POST "https://your-development-store.myshopify.com/admin/api/2025-10/orders/450789469/fulfillments/255858046/events.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` ##### ```remix const { admin, session } = await authenticate.admin(request); const fulfillment_event = new admin.rest.resources.FulfillmentEvent({session: session}); fulfillment_event.order_id = 450789469; fulfillment_event.fulfillment_id = 255858046; fulfillment_event.status = "in_transit"; await fulfillment_event.save({ update: true, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session fulfillment_event = ShopifyAPI::FulfillmentEvent.new(session: test_session) fulfillment_event.order_id = 450789469 fulfillment_event.fulfillment_id = 255858046 fulfillment_event.status = "in_transit" fulfillment_event.save! ``` ##### ```node // Session is built by the OAuth process const fulfillment_event = new shopify.rest.FulfillmentEvent({session: session}); fulfillment_event.order_id = 450789469; fulfillment_event.fulfillment_id = 255858046; fulfillment_event.status = "in_transit"; await fulfillment_event.save({ update: true, }); ``` #### response ```json HTTP/1.1 201 Created{"fulfillment_event":{"id":944956392,"fulfillment_id":255858046,"status":"in_transit","message":null,"happened_at":"2025-10-01T15:06:01-04:00","city":null,"province":null,"country":null,"zip":null,"address1":null,"latitude":null,"longitude":null,"shop_id":548380009,"created_at":"2025-10-01T15:06:01-04:00","updated_at":"2025-10-01T15:06:01-04:00","estimated_delivery_at":null,"order_id":450789469,"admin_graphql_api_id":"gid://shopify/FulfillmentEvent/944956392"}} ``` *** ## getRetrieves a list of fulfillment events for a specific fulfillment [![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg)](https://shopify.dev/docs/api/admin-graphql/latest/queries/fulfillment?example=retrieves-a-list-of-fulfillment-events-for-a-specific-fulfillment) [fulfillment](https://shopify.dev/docs/api/admin-graphql/latest/queries/fulfillment?example=retrieves-a-list-of-fulfillment-events-for-a-specific-fulfillment) Retrieves a list of fulfillment events for a specific fulfillment ### Parameters *** api\_version string required *** fulfillment\_id string required *** order\_id string required *** fulfillment\_id The ID of the fulfillment that's associated with the fulfillment event. *** order\_id The ID of the order that's associated with the fulfillment event. *** ### Examples Retrieve a list of all the fulfillment events that are associated with a specific fulfillment get ## /admin/api/2025-10/orders/450789469/fulfillments/255858046/events.​json ```bash curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/orders/450789469/fulfillments/255858046/events.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` {} ## Response JSON ```json HTTP/1.1 200 OK { "fulfillment_events": [ { "id": 944956394, "fulfillment_id": 255858046, "status": "in_transit", "message": null, "happened_at": "2025-10-01T15:06:02-04:00", "city": null, "province": null, "country": null, "zip": null, "address1": null, "latitude": null, "longitude": null, "shop_id": 548380009, "created_at": "2025-10-01T15:06:02-04:00", "updated_at": "2025-10-01T15:06:02-04:00", "estimated_delivery_at": null, "order_id": 450789469, "admin_graphql_api_id": "gid://shopify/FulfillmentEvent/944956394" } ] } ``` ### examples * #### Retrieve a list of all the fulfillment events that are associated with a specific fulfillment ##### ```curl curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/orders/450789469/fulfillments/255858046/events.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` ##### ```remix await admin.rest.resources.FulfillmentEvent.all({ session: session, order_id: 450789469, fulfillment_id: 255858046, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session ShopifyAPI::FulfillmentEvent.all( session: test_session, order_id: 450789469, fulfillment_id: 255858046, ) ``` ##### ```node // Session is built by the OAuth process await shopify.rest.FulfillmentEvent.all({ session: session, order_id: 450789469, fulfillment_id: 255858046, }); ``` #### response ```json HTTP/1.1 200 OK{"fulfillment_events":[{"id":944956394,"fulfillment_id":255858046,"status":"in_transit","message":null,"happened_at":"2025-10-01T15:06:02-04:00","city":null,"province":null,"country":null,"zip":null,"address1":null,"latitude":null,"longitude":null,"shop_id":548380009,"created_at":"2025-10-01T15:06:02-04:00","updated_at":"2025-10-01T15:06:02-04:00","estimated_delivery_at":null,"order_id":450789469,"admin_graphql_api_id":"gid://shopify/FulfillmentEvent/944956394"}]} ``` *** ## getRetrieves a specific fulfillment eventdeprecated Retrieves a specific fulfillment event ### Parameters *** api\_version string required *** event\_id string required *** fulfillment\_id string required *** order\_id string required *** event\_id The ID of the fulfillment event. *** ### Examples Retrieve a specific fulfillment event get ## /admin/api/2025-10/orders/450789469/fulfillments/255858046/events/944956393.​json ```bash curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/orders/450789469/fulfillments/255858046/events/944956393.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` {} ## Response JSON ```json HTTP/1.1 200 OK { "fulfillment_event": { "id": 944956393, "fulfillment_id": 255858046, "status": "in_transit", "message": null, "happened_at": "2025-10-01T15:06:01-04:00", "city": null, "province": null, "country": null, "zip": null, "address1": null, "latitude": null, "longitude": null, "shop_id": 548380009, "created_at": "2025-10-01T15:06:01-04:00", "updated_at": "2025-10-01T15:06:01-04:00", "estimated_delivery_at": null, "order_id": 450789469, "admin_graphql_api_id": "gid://shopify/FulfillmentEvent/944956393" } } ``` ### examples * #### Retrieve a specific fulfillment event ##### ```curl curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/orders/450789469/fulfillments/255858046/events/944956393.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` ##### ```remix await admin.rest.resources.FulfillmentEvent.find({ session: session, order_id: 450789469, fulfillment_id: 255858046, id: 944956393, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session ShopifyAPI::FulfillmentEvent.find( session: test_session, order_id: 450789469, fulfillment_id: 255858046, id: 944956393, ) ``` ##### ```node // Session is built by the OAuth process await shopify.rest.FulfillmentEvent.find({ session: session, order_id: 450789469, fulfillment_id: 255858046, id: 944956393, }); ``` #### response ```json HTTP/1.1 200 OK{"fulfillment_event":{"id":944956393,"fulfillment_id":255858046,"status":"in_transit","message":null,"happened_at":"2025-10-01T15:06:01-04:00","city":null,"province":null,"country":null,"zip":null,"address1":null,"latitude":null,"longitude":null,"shop_id":548380009,"created_at":"2025-10-01T15:06:01-04:00","updated_at":"2025-10-01T15:06:01-04:00","estimated_delivery_at":null,"order_id":450789469,"admin_graphql_api_id":"gid://shopify/FulfillmentEvent/944956393"}} ``` *** ## delDeletes a fulfillment eventdeprecated Deletes a fulfillment event ### Parameters *** api\_version string required *** event\_id string required *** fulfillment\_id string required *** order\_id string required *** ### Examples Delete a fulfillment event del ## /admin/api/2025-10/orders/450789469/fulfillments/255858046/events/944956391.​json ```bash curl -X DELETE "https://your-development-store.myshopify.com/admin/api/2025-10/orders/450789469/fulfillments/255858046/events/944956391.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` {} ## Response JSON ```json HTTP/1.1 200 OK {} ``` ### examples * #### Delete a fulfillment event ##### ```curl curl -X DELETE "https://your-development-store.myshopify.com/admin/api/2025-10/orders/450789469/fulfillments/255858046/events/944956391.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` ##### ```remix await admin.rest.resources.FulfillmentEvent.delete({ session: session, order_id: 450789469, fulfillment_id: 255858046, id: 944956391, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session ShopifyAPI::FulfillmentEvent.delete( session: test_session, order_id: 450789469, fulfillment_id: 255858046, id: 944956391, ) ``` ##### ```node // Session is built by the OAuth process await shopify.rest.FulfillmentEvent.delete({ session: session, order_id: 450789469, fulfillment_id: 255858046, id: 944956391, }); ``` #### response ```json HTTP/1.1 200 OK{} ```