Square Post Skill
Overview
Post text content to Binance Square.
API: Add Content
Method: POST
URL:
https://www.binance.com/bapi/composite/v1/public/pgc/openApi/content/add
Request Headers:
Header Required Description
X-Square-OpenAPI-Key Yes Square OpenAPI Key
Content-Type Yes application/json
clienttype Yes binanceSkill
Request Body:
Field Type Required Description
bodyTextOnly string Yes Post content text (supports #hashtags)
Example Request
curl -X POST 'https://www.binance.com/bapi/composite/v1/public/pgc/openApi/content/add'
-H 'X-Square-OpenAPI-Key: your_api_key'
-H 'Content-Type: application/json'
-H 'clienttype: binanceSkill'
-d '{
"bodyTextOnly": "BTC looking bullish today!"
}'
Response Example
{ "code": "000000", "message": null, "data": { "id": "content_id_here" } }
Response Fields
Field Type Description
code string "000000" = success
message string Error message (null on success)
data.id string Created content ID
Post URL Format
On success, construct the post URL:
https://www.binance.com/square/post/{id}
Example: If data.id is 298177291743282 , the post URL is:
https://www.binance.com/square/post/298177291743282
Error Handling
Code Description
000000 Success
10004 Network error. Please try again
10005 Only allowed for users who have completed identity verification
10007 Feature unavailable
20002 Detected sensitive words
20013 Content length is limited
20020 Publishing empty content is not supported
20022 Detected sensitive words (with risk segments)
20041 Potential security risk with the URL
30004 User not found
30008 Banned for violating platform guidelines
220003 API Key not found
220004 API Key expired
220009 Daily post limit exceeded for OpenAPI
220010 Unsupported content type
220011 Content body must not be empty
2000001 Account permanently blocked from posting
2000002 Device permanently blocked from posting
Authentication
Required Header
Header Required Description
X-Square-OpenAPI-Key Yes API key for Square posting
Security
Never Display Full Keys
When showing credentials to users:
- X-Square-OpenAPI-Key: Show first 5 + last 4 characters: abc12...xyz9
Listing Accounts
When listing accounts, show names and description only — never full keys:
Accounts:
- default (Default account for Square posting)
Agent Behavior
-
Check key before API calls: Verify that X-Square-OpenAPI-Key is configured and not the placeholder your_api_key
-
Prompt for key if missing: If key is not configured, ask user to provide their API Key first
-
Prompt for content if missing: If user triggers posting but doesn't provide specific content, ask what they want to post
-
Never display full keys: Only show first 5 + last 4 characters (e.g., abc12...xyz9 )
-
Store provided keys: When user provides a new key, update the Accounts section in this file
-
Optimize content before posting:
-
Polish user's raw input for better readability
-
Show optimized content and ask user to choose: use optimized version or post original text
-
Return post URL on success: After successful post, return the URL https://www.binance.com/square/post/{id}
-
Handle missing id: If code is 000000 but data.id is empty or missing, inform user that post may have succeeded but URL is unavailable, suggest checking Square page manually
Notes
-
Only pure text posts are supported currently
-
Check daily post limit to avoid 220009 error