Skip to content

Send Status ​

POST /status

Post a Telegram story on your account's profile: text, image, or video. It's still called "status" to match Zawa, but in Telegram it becomes a story at the top of your friends' chat lists.

Endpoint Details ​

  • Base URL: https://api-zate.azickri.com
  • Headers: id, session-id, and Content-Type: application/json
  • Requirement: the session must be connected (isConnected: true)

Headers ​

HeaderTypeRequiredDescription
idstringYesid from Create Session.
session-idstringYessessionId from Create Session.

Request Body ​

FieldTypeRequiredDescription
typestringYesStory type: text, image, or video.
textstringFor textThe text on a text story. For image and video, it becomes the caption (optional).
privacystringNoWho can see it: contacts (default), everyone, or close_friends.
imageobjectFor imageurl and mimetype, same as the image object in Send Message.
videoobjectFor videourl, mimetype, duration, and thumbnail (optional), same as the video object in Send Message.

What the Story Looks Like ​

typeResult
textTelegram has no text stories, so Zate draws your text in bold white in the middle of a dark green 1080 × 1920 image. The font shrinks for long text, and whatever still doesn't fit is cut off.
imageThe image is scaled down to at most 1080 pixels, then posted as a photo story.
videoThe video is posted as is. If thumbnail is empty, Zate uses the video's first frame.
privacyWho can see it
contactsAll your contacts. This is the default.
everyoneEveryone.
close_friendsOnly the Close Friends list you set up in Telegram.

Example Request ​

bash
curl -X POST "https://api-zate.azickri.com/status" \
  -H "id: YOUR_ID" \
  -H "session-id: YOUR_SESSION_ID" \
  -H "Content-Type: application/json" \
  -d '{"type":"text","text":"Sate on the grill, ready to deliver! 🍢"}'
javascript
import axios from 'axios';

const response = await axios.post(
  'https://api-zate.azickri.com/status',
  {
    type: 'text',
    text: 'Sate on the grill, ready to deliver! 🍢',
  },
  {
    headers: {
      'id': 'YOUR_ID',
      'session-id': 'YOUR_SESSION_ID',
    },
  },
);

console.log(response.data);
javascript
const response = await fetch('https://api-zate.azickri.com/status', {
  method: 'POST',
  headers: {
    'id': 'YOUR_ID',
    'session-id': 'YOUR_SESSION_ID',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    type: 'text',
    text: 'Sate on the grill, ready to deliver! 🍢',
  }),
});

const data = await response.json();
console.log(data);

Example Body per Type ​

json
{
  "type": "text",
  "text": "Sate on the grill, ready to deliver! 🍢"
}
json
{
  "type": "image",
  "text": "This week's new menu",
  "privacy": "everyone",
  "image": {
    "url": "https://example.com/menu.jpg",
    "mimetype": "image/jpeg"
  }
}
json
{
  "type": "video",
  "text": "Behind the scenes at the grill",
  "privacy": "close_friends",
  "video": {
    "url": "https://example.com/grilling-sate.mp4",
    "mimetype": "video/mp4",
    "duration": 15
  }
}

Response ​

json
{
  "statusId": "12"
}
json
// Unknown type
{
  "statusCode": 400,
  "message": "type must be one of the following values: text, image, video"
}

// Unknown privacy
{
  "statusCode": 400,
  "message": "privacy must be one of the following values: everyone, contacts, close_friends"
}

// A required field for that type is empty
{
  "statusCode": 400,
  "message": "text should not be empty"
}
json
{
  "statusCode": 404,
  "message": "session not found"
}
json
// Session isn't connected
{
  "statusCode": 500,
  "message": "session not connected"
}

// The image couldn't be processed
{
  "statusCode": 500,
  "message": "error compress image: Input buffer contains unsupported image format"
}
FieldTypeDescription
statusIdstringID of the story on your profile. May be empty if Telegram doesn't send the ID back, even though the story was posted.

Daily story limit

Free Telegram accounts can only post a certain number of stories per day. Once you hit it, Telegram rejects further stories and the error is passed through as is. Telegram Premium has a more generous limit.