Medusa
Store APIAdmin API
Store APIAdmin API
Discord
Twitter
Linkedin
Github
  1. Batch Jobs
  • Auth
    • Get Current User
      GET
    • User Logout
      DELETE
    • User Login
      POST
    • User Login (JWT)
      POST
  • Apps Oauth
    • Generate Token for App
      POST
    • List Applications
      GET
  • Batch Jobs
    • Cancel a Batch Job
      POST
    • Get a Batch Job
      GET
    • Confirm a Batch Job
      POST
    • List Batch Jobs
      GET
    • Create a Batch Job
      POST
  • Currencies
    • List Currency
      GET
    • Update a Currency
      POST
  • Customers
    • Create a Customer
      POST
    • List Customers
      GET
    • Update a Customer
      POST
    • Get a Customer
      GET
  • Customer Groups
    • Remove Customers from Group
      DELETE
    • Add Customers to Group
      POST
    • List Customers
      GET
    • Create a Customer Group
      POST
    • List Customer Groups
      GET
    • Get a Customer Group
      GET
    • Delete a Customer Group
      DELETE
    • Update a Customer Group
      POST
  • Discounts
    • Create a Condition
    • Create a Discount
    • List Discounts
    • Get a Condition
    • Update a Condition
    • Delete a Condition
    • Create a Dynamic Code
    • Remove Batch Resources
    • Add Batch Resources
    • Get Discount by Code
    • Delete a Dynamic Code
    • Add Region to Discount
    • Remove Region
    • Delete a Discount
    • Update a Discount
    • Get a Discount
  • Draft Orders
    • Create a Line Item
    • Delete a Line Item
    • Update a Line Item
    • Update a Draft Order
    • Delete a Draft Order
    • Get a Draft Order
    • Create a Draft Order
    • List Draft Orders
    • Mark Paid
  • Gift Cards
    • Create a Gift Card
    • List Gift Cards
    • Delete a Gift Card
    • Get a Gift Card
    • Update a Gift Card
  • Inventory Items
    • Create an Inventory Item
    • List Inventory Items
    • List Inventory Level
    • Create an Location Level
    • Update an Inventory Item
    • Get an Inventory Item
    • Delete an Inventory Item
    • Update a Location Level
    • Delete a Location Level
  • Invites
    • Lists Invites
    • Create an Invite
    • Delete an Invite
    • Accept an Invite
    • Resend an Invite
  • Notes
    • List Notes
    • Create a Note
    • Get a Note
    • Delete a Note
    • Update a Note
  • Notifications
    • Resend Notification
    • List Notifications
  • Orders
    • Create a Reservation
    • Cancel Claim's Fulfillment
    • Ship a Claim's Fulfillment
    • Cancel Swap's Fulfilmment
    • Get Order Reservations
    • Add a Shipping Method
    • Create a Refund
    • Get an Order
    • Update an Order
    • Create a Fulfillment
    • Cancel a Swap
    • List Orders
    • Create a Swap
    • Complete an Order
    • Create a Swap Fulfillment
    • Cancel a Claim
    • Process a Swap Payment
    • Ship a Fulfillment
    • Capture an Order's Payments
    • Archive Order
    • Update a Claim
    • Request a Return
    • Create a Claim Fulfillment
    • Ship a Swap's Fulfillment
    • Cancel a Fulfilmment
    • Create a Claim
    • Cancel an Order
  • Order Edits
    • Delete a Line Item Change
    • Add a Line Item
    • Upsert Line Item Change
    • Delete Line Item
    • Cancel an Order Edit
    • Delete an Order Edit
    • Get an Order Edit
    • Update an Order Edit
    • Request Confirmation
    • Create an OrderEdit
    • List Order Edits
    • Confirm an OrderEdit
  • Payments
    • Capture a Payment
    • Get Payment details
    • Refund Payment
  • Payment Collections
    • Delete a Payment Collection
    • Get a Payment Collection
    • Update Payment Collection
    • Mark Authorized
  • Product Collections
    • Add Products to Collection
    • Remove Products from Collection
    • Get a Collection
    • Update a Collection
    • Delete a Collection
    • List Collections
    • Create a Collection
  • Product Tags
    • List Product Tags
  • Product Types
    • List Product Types
  • Product Variants
    • Get Variant's Inventory
    • List Product Variants
    • Get a Product variant
  • Price Lists
    • Delete a Product's Prices
    • List Products
    • Delete a Variant's Prices
    • Get a Price List
    • Update a Price List
    • Delete a Price List
    • Add or Update Prices
    • Delete Prices
    • Create a Price List
    • List Price Lists
  • Products
    • List Product Types
    • List Tags Usage Number
    • List a Product's Variants
    • Create a Product Variant
    • Update a Product Variant
    • Delete a Product Variant
    • Add a Product Option
    • Set Metadata
    • Delete a Product Option
    • Update a Product Option
    • List Products
    • Create a Product
    • Delete a Product
    • Update a Product
    • Get a Product
  • Product Categories
    • Create a Product Category
    • List Product Categories
    • Update a Product Category
    • Delete a Product Category
    • Get a Product Category
    • Add Products to a Category
    • Remove Products from Category
  • Publishable Api Keys
    • List Sales Channels
    • Delete Publishable API Key
    • Get a Publishable API Key
    • Revoke a Publishable API Key
    • Remove Sales Channels
    • Add Sales Channels
    • Update Publishable API Key
    • List Publishable API keys
    • Create Publishable API Key
  • Reservations
    • Delete a Reservation
    • Update a Reservation
    • Get a Reservation
    • Create a Reservation
    • List Reservations
  • Regions
    • List Fulfillment Options
    • Add Country
    • Remove Fulfillment Provider
    • Remove Payment Provider
    • Add Payment Provider
    • Delete a Region
    • Update a Region
    • Get a Region
    • List Regions
    • Create a Region
    • Add Fulfillment Provider
    • Remove Country
  • Return Reasons
    • Get a Return Reason
    • Delete a Return Reason
    • Update a Return Reason
    • List Return Reasons
    • Create a Return Reason
  • Returns
    • Receive a Return
    • List Returns
    • Cancel a Return
  • Sales Channels
    • Remove Stock Location from Sales Channels.
    • Associate a Stock Location
    • Get a Sales Channel
    • Delete a Sales Channel
    • Update a Sales Channel
    • Remove Products from Sales Channel
    • Add Products to Sales Channel
    • Create a Sales Channel
    • List Sales Channels
  • Shipping Options
    • Update Shipping Option
    • Get a Shipping Option
    • Delete Shipping Option
    • List Shipping Options
    • Create Shipping Option
  • Shipping Profiles
    • List Shipping Profiles
    • Create a Shipping Profile
    • Delete a Shipping Profile
    • Update a Shipping Profile
    • Get a Shipping Profile
  • Stock Locations
    • Get a Stock Location
    • List Stock Locations
    • Create a Stock Location
    • Update a Stock Location
    • Delete a Stock Location
  • Store
    • List Payment Providers
    • Add a Currency Code
    • Remove a Currency
    • List Tax Providers
    • Update Store Details
    • Get Store details
  • Swaps
    • Get a Swap
    • List Swaps
  • Uploads
    • Upload Files
    • Delete an Uploaded File
    • Get a File's Download URL
    • Protected File Upload
  • Tax Rates
    • Add to Shipping Options
    • Remove Shipping Options from Rate
    • Create a Tax Rate
    • List Tax Rates
    • Add to Products
    • Remove Products from Rate
    • Delete a Tax Rate
    • Get a Tax Rate
    • Update a Tax Rate
    • Add to Product Types
    • Remove Product Types from Rate
  • Users
    • Reset Password
    • Request Password Reset
    • Get a User
    • Delete a User
    • Update a User
    • Create a User
    • List Users
  1. Batch Jobs

Create a Batch Job

POST
/admin/batch-jobs
Batch Jobs
Create a Batch Job to be executed asynchronously in the Medusa backend. If dry_run is set to true, the batch job will not be executed until the it is confirmed, which can be done using the Confirm Batch Job endpoint.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location -g --request POST '{{BASE_URL}}/admin/batch-jobs' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": "product-export",
    "dry_run": false,
    "context": {
        "list_config": {
            "skip": 0,
            "take": 50,
            "order": {
                "created_at": "DESC"
            },
            "relations": [
                "variants",
                "variant.prices",
                "images"
            ]
        },
        "shape": {
            "dynamicImageColumnCount": 4,
            "dynamicOptionColumnCount": 2,
            "prices": [
                {
                    "region": null,
                    "currency_code": "eur"
                }
            ]
        }
    }
}'
Response Response Example
201 - Example 1
{
  "batch_job": {
    "id": "batch_01G8T782965PYFG0751G0Z38B4",
    "created_by": "usr_01G1G5V26F5TB3GPAPNJ8X1S3V",
    "dry_run": false,
    "pre_processed_at": "2019-08-24T14:15:22Z",
    "processing_at": "2019-08-24T14:15:22Z",
    "confirmed_at": "2019-08-24T14:15:22Z",
    "completed_at": "2019-08-24T14:15:22Z",
    "canceled_at": "2019-08-24T14:15:22Z",
    "failed_at": "2019-08-24T14:15:22Z",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "deleted_at": "2019-08-24T14:15:22Z",
    "type": "product-import",
    "status": "created",
    "context": {
      "list_config": {
        "skip": 0,
        "take": 50,
        "order": {
          "created_at": "DESC"
        },
        "relations": [
          "variants",
          "variant.prices",
          "images"
        ]
      },
      "shape": {
        "dynamicImageColumnCount": 4,
        "dynamicOptionColumnCount": 2,
        "prices": [
          {
            "region": null,
            "currency_code": "eur"
          }
        ]
      }
    },
    "result": {
      "stat_descriptors": {
        "0": {
          "key": "product-export-count",
          "name": "Product count to export",
          "message": "There will be 8 products exported by this action"
        },
        "key": "string",
        "name": "string",
        "message": "string"
      },
      "errors": {
        "0": {
          "code": "unknown",
          "message": "Method not implemented.",
          "err": []
        },
        "message": "string",
        "err": [
          "string"
        ],
        "code": "string"
      },
      "count": 0,
      "advancement_count": 0,
      "progress": 0,
      "file_key": "string",
      "file_size": 0
    },
    "created_by_user": {
      "id": "usr_01G1G5V26F5TB3GPAPNJ8X1S3V",
      "email": "user@example.com",
      "first_name": "Levi",
      "last_name": "Bogan",
      "api_token": null,
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z",
      "deleted_at": "2019-08-24T14:15:22Z",
      "role": "member",
      "metadata": {
        "car": "white"
      }
    }
  }
}

Request

Body Params application/json
type
string 
required
The type of batch job to start, which is defined by the batchType property of the associated batch job strategy.
Example:
product-export
dry_run
boolean 
optional
Set a batch job in dry_run mode, which would delay executing the batch job until it's confirmed.
Default:
false
context
object 
required
Additional infomration regarding the batch to be used for processing.
Example:
{"list_config":{"skip":0,"take":50,"order":{"created_at":"DESC"},"relations":["variants","variant.prices","images"]},"shape":{"dynamicImageColumnCount":4,"dynamicOptionColumnCount":2,"prices":[{"region":null,"currency_code":"eur"}]}}
Examples

Responses

🟢201OK
application/json
Body
batch_job
object (Batch Job) 
required
A Batch Job indicates an asynchronus task stored in the Medusa backend. Its status determines whether it has been executed or not.
id
string 
required
The unique identifier for the batch job.
Example:
batch_01G8T782965PYFG0751G0Z38B4
created_by
string  | null 
required
The unique identifier of the user that created the batch job.
Example:
usr_01G1G5V26F5TB3GPAPNJ8X1S3V
dry_run
boolean 
required
Specify if the job must apply the modifications or not.
Default:
false
pre_processed_at
string <date-time> | null 
required
The date from which the job has been pre-processed.
processing_at
string <date-time> | null 
required
The date the job is processing at.
confirmed_at
string <date-time> | null 
required
The date when the confirmation has been done.
completed_at
string <date-time> | null 
required
The date of the completion.
canceled_at
string <date-time> | null 
required
The date of the concellation.
failed_at
string <date-time> | null 
required
The date when the job failed.
created_at
string <date-time>
required
The date with timezone at which the resource was created.
updated_at
string <date-time>
required
The date with timezone at which the resource was last updated.
deleted_at
string <date-time> | null 
required
The date with timezone at which the resource was deleted.
type
enum<string> 
required
The type of batch job.
Allowed values:
product-importproduct-export
status
enum<string> 
required
The status of the batch job.
Allowed values:
createdpre_processedconfirmedprocessingcompletedcanceledfailed
Default:
created
context
object  | null 
required
The context of the batch job, the type of the batch job determines what the context should contain.
Example:
{"list_config":{"skip":0,"take":50,"order":{"created_at":"DESC"},"relations":["variants","variant.prices","images"]},"shape":{"dynamicImageColumnCount":4,"dynamicOptionColumnCount":2,"prices":[{"region":null,"currency_code":"eur"}]}}
result
object 
required
The result of the batch job.
Examples:
{"stat_descriptors":[{"key":"product-export-count","name":"Product count to export","message":"There will be 8 products exported by this action"}],"errors":[{"code":"unknown","message":"Method not implemented.","err":[]}]}{}
created_by_user
object (User) 
optional
A User is an administrator who can manage store settings and data.
🟠400Client Error or Multiple Errors
🟠401User is not authorized. Must log in first
🟠404Not Found Error
🟠409Invalid State Error
🟠422Invalid Request Error
🔴500Server Error
Modified at 2023-10-10 11:56:36
Previous
List Batch Jobs
Next
List Currency
Built with