Bulk Operations

View as Markdown

Bulk Operations

Perform bulk operations, such as publish, unpublish, delete, or move, on entries and assets in a single action.

delete

The Delete entries and assets in bulk request allows you to delete multiple entries and assets at the same time.

NameTypeDescription
data (required)Dict

The request body

data = {
       "entries":[{
           "content_type":"content_type_uid",
           "uid":"entry_uid",
           "locale":"locale"
       },{
           "content_type":"content_type_uid",
           "uid":"entry_uid",
           "locale":"entry_locale"
       }
       ],
       "assets": [{
           "uid": "uid"
       }]
   }
import contentstack_management
client = contentstack_management.Client(authtoken='your_authtoken')
result = client.stack('api_key').bulk_operation().delete(data).json()

publish

The Publish entries and assets in bulk method allows you to publish multiple entries and assets at the same time.

NameTypeDescription
data (required)Dict

The request body

data = {
           "entries":[
               {
                   "uid":"entry_uid",
                   "content_type":"ct0",
                   "version":"5",
                   "locale":"en-us"
               },
               {
                   "uid":"entry_uid",
                   "content_type":"ct0",
                   "version":"1",
                   "locale":"en-us"
               },
               {
                   "uid":"entry_uid",
                   "content_type":"ct5",
                   "version":"2",
                   "locale":"en-us"
               }
           ],
           "locales":[
               "en-us"
           ],
           "environments":[
               "env1"
           ],
           "rules":{
               "approvals":"true/false"
           },
           "scheduled_at":"scheduled_time",
           "publish_with_reference":true
           }
import contentstack_management
client = contentstack_management.Client(authtoken='your_authtoken')
result = client.stack('api_key').bulk_operation().publish(data).json()

unpublish

The Unpublish entries and assets in bulk method allows you to unpublish multiple entries and assets at the same time.

NameTypeDescription
data (required)Dict

The request body

data = {
       "entries": [
           {
           "content_type": "news",
           "uid": "entry_uid",
           "locale": "en-us"
           },
           {
           "content_type": "article",
           "uid": "entry_uid",
           "locale": "en-us"
           }
       ],
       "workflow": {
           "workflow_stage": {
           "comment": "String Comment",
           "due_date": "Thu Dec 01 2018",
           "notify": false,
           "uid": "workflow_uid",
           "assigned_to": [
               {
               "uid": "user_uid",
               "name": "user_name",
               "email": "user_email_ID"
               }
           ],
           "assigned_by_roles": [
               {
               "uid": "role_uid",
               "name": "Content Manager"
               }
           ]
           }
       },
       "locales": [
           "en-us"
       ],
       "environments": [
           "env_uid"
       ]
       }
import contentstack_management
client = contentstack_management.Client(authtoken='your_authtoken')
result = client.stack('api_key').bulk_operation().unpublish(data).json()

update

The update method allows you to make changes in the existing entries/assets in the stack.

NameTypeDescription
data (required)Dict

The request body

data = {
       "entries": [{
           "content_type": "content_type_uid1",
           "uid": "entry_uid",
           "locale": "en-us"
       }, {
           "content_type": "content_type_uid2",
           "uid": "entry_uid",
           "locale": "en-us"
       }],
       "workflow": {
           "workflow_stage": {
               "comment": "Workflow-related Comments",
               "due_date": "Thu Dec 01 2018",
               "notify": false,
               "uid": "workflow_stage_uid",
               "assigned_to": [{
                   "uid": "user_uid",
                   "name": "user_name",
                   "email": "user_email_id"
               }],
               "assigned_by_roles": [{
                   "uid": "role_uid",
                   "name": "role_name"
               }]
           }
       }
   }
import contentstack_management
client = contentstack_management.Client(authtoken='your_authtoken')
result = client.stack('api_key').bulk_operation().update(data).json()

add_items

The add_items method adds multiple entries and assets to a specified release for bulk publishing and coordinated deployment.

NameTypeDescription
data (required)Dict

Data required to add the entries

Example:

data = {
    "release": "release_uid"
    "action": "publish",
    "locale": ["en-us", "hi-in"]
    "reference": true
    "items": [
        {
        "uid": "entry_uid",
        "content_type_uid": "content_type_uid"
        }
    ]
}

import contentstack_management
client = contentstack_management.Client(authtoken='your_authtoken')
result = client.stack('api_key').bulk_operation().add_items(data).json()

update_items

The update_items method updates all release items (entries and assets) to their latest versions before deployment, ensuring the most current content is published.

NameTypeDescription
data (required)Dict

Data required to update the items

Example:

data = {
    "release": "release_uid",
    "items": [
        {
            "uid": "entry_uid",
            "locale": "en-us"
        },
        {
            "uid": "entry_uid",
            "locale": "en-us",
            "variant_id": "entry_variant_id"
        }
    ]
    or
    [ '$all' ]
}
import contentstack_management
client = contentstack_management.Client(authtoken='your_authtoken')
result = client.stack('api_key').bulk_operation().update_items(data).json()

job_status

The job_status method retrieves the current status of a bulk job, including detailed progress and nested reference publishing metadata.

NameTypeDescription
job_uid (required)String

UID of the bulk operation of job

Example:

import contentstack_management
client = contentstack_management.Client(authtoken='your_authtoken')
result = client.stack('api_key').bulk_operation().job_status('job_uid').json()