Skip to main content
POST
/
v1
/
chat
/
states
/
{type}
/
{id}
/
{name}
/
get-or-set
cURL
curl --request POST \
  --url https://api.botpress.cloud/v1/chat/states/{type}/{id}/{name}/get-or-set \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-bot-id: <x-bot-id>' \
  --data '{
  "payload": {},
  "expiry": 1296000000.5
}'
{
  "state": {
    "id": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "botId": "<string>",
    "conversationId": "<string>",
    "userId": "<string>",
    "name": "<string>",
    "type": "conversation",
    "payload": {}
  },
  "meta": {
    "cached": true
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-bot-id
string
required

Bot id

x-integration-id
string

Integration id

x-integration-alias
string

Integration alias

Path Parameters

type
enum<string>
required

Represents the resource type that the state is related to

Available options:
conversation,
user,
bot,
integration,
task,
workflow
id
string
required

Id of the State which will be either the botId, the userId or the conversationId

name
string
required

Name of the State which is declared inside the bot definition

Body

application/json

State content

payload
object
required

Payload is the content of the state defined by your bot.

expiry
number | null

Expiry of the State in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.

Required range: 1 <= x <= 2592000000

Response

Returns the State object if a valid identifiers were provided. Returns an error otherwise.

state
object
required

The state object represents the current payload. A state is always linked to either a bot, a conversation or a user.

meta
object
required