Contentstack

Contentstack

Source:
The Content Management API (CMA) is used to manage the content of your Contentstack account. This includes creating, updating, deleting, and fetching content of your account.

Members

(static) client

Source:
Properties:
Name Type Attributes Description
params.endpoint string <optional>
API endpoint that a service will talk to
params.host string <optional>
API host (default: api.contentstack.io)
params.headers object <optional>
Optional additional headers
params.authtoken string <optional>
Optional Authtoken is a read-write token used to make authorized CMA requests, but it is a user-specific token.
params.authorization string <optional>
Optional authorization token is a read-write token used to make authorized CMA requests, but it is a user-specific token.
params.timeout number <optional>
Optional number of milliseconds before the request times out. Default is 30000ms
params.maxRequests number <optional>
Optional maximum number of requests SDK should send concurrently. Default is 5 concurrent request.
params.retryOnError boolean <optional>
Optional boolean for retry on failure. Default is true
params.retryLimit number <optional>
Optional number of retries before failure. Default is 5
params.retryDelay number <optional>
The number of milliseconds to use for operation retries. Default is 300ms
params.retryCondition function <optional>
A function to determine if the error can be retried. Default retry is on status 429.
params.retryDelayOptions.base number <optional>
The base number of milliseconds to use in the exponential backoff for operation retries.
params.retryDelayOptions.customBackoff function <optional>
A custom function that accepts a retry count and error and returns the amount of time to delay in milliseconds. (if you want not to retry for specific condition return -1)
params.maxContentLength number <optional>
Optional maximum content length in bytes (default: 1073741824 i.e. 1 GB)
params.maxBodyLength number <optional>
Optional maximum body length in bytes (default: 10 MB)
params.logHandler function <optional>
A log handler function to process given log messages & errors.
params.application string <optional>
Application name and version e.g myApp/version
params.integration string <optional>
Integration name and version e.g react/version
Create client instance
Examples
import * as contentstack from '@contentstack/management'
const client = contentstack.client()
//Set the `endpoint` to 'https://api.contentstack.io:{port}/{version}'
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ endpoint: 'https://api.contentstack.io:{port}/{version}' })
//Set the `host` to 'api.contentstack.io'
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ host: 'api.contentstack.io' })
//Set the `headers` to { 'headerkey': 'value'}
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ headers: { 'headerkey': 'value'} })
//Set the `authtoken`
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ authtoken: 'value' })
//Set the `authorization`
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ authorization: 'Bearer <token_value>' })
//Set the `timeout` to 50000ms
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ timeout: 50000 })
//Set the `maxRequests` to 5
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ maxRequests: 5 })
//Set the `retryOnError` to false
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ retryOnError: false })
//Set the `retryLimit` to 2
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ retryLimit: 2 })
//Set the `retryDelay` to 500ms
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ retryDelay: 500 })
//Set the `retryCondition` on error status 429
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ retryCondition: (error) => {
     if (error.response && error.response.status === 429) {
       return true
     }
     return false
   }
 })
Set  base retry delay for all services to 300 ms
import * as contentstack from '@contentstack/management'
const client = contentstack.client({retryDelayOptions: {base: 300}})
Set a custom backoff function to provide delay of 500 ms on retryCount < 3 and -1 for retryCount >= 3values on retries
import * as contentstack from '@contentstack/management'
const client = contentstack.client({retryDelayOptions: {customBackoff: function(retryCount, err) {
       if (retryCount < 3) {
         return 500
       } else {
         return -1 //returning -1 will hold next retry for request
       }
    }}}
)
//Set the `maxContentLength` to 1024 ** 3
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ maxContentLength: 1024 ** 3 })
//Set the `maxBodyLength` to 1024 ** 2 * 10 // 10 MB
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ maxBodyLength: 1024 ** 2 * 10 })
//Set the `logHandler`
import * as contentstack from '@contentstack/management'
const client = contentstack.client({ logHandler: (level, data) => {
      if (level === 'error' && data) {
        const title = [data.name, data.message].filter((a) => a).join(' - ')
        console.error(`[error] ${title}`)
        return
      }
      console.log(`[${level}] ${data}`)
    } })