- 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}`)
} })