diff --git a/pleroma-cli.sh b/pleroma-cli.sh
index 83732bdd8392825a3343f56583d9bd9f517a485c..55980c433ebd4077f76dc15f25a96e816df49ce4 100755
--- a/pleroma-cli.sh
+++ b/pleroma-cli.sh
@@ -21,6 +21,7 @@ 	default_curl_opt()
 	{
 		curl -s --compressed -H "Authorization: Bearer $auth" $1
 	}
+	alias post_request="curl -s --compressed -X POST -H \"Authorization: Bearer $auth\""
 	echo '+Authorized account+'
 else
 	default_curl_opt()
@@ -119,12 +120,12 @@ }
 
 backup_api_create()
 {
-	curl -s --compressed -X POST -H "Authorization: Bearer $auth" "$instance_point/pleroma/backups"
+	 post_request "$instance_point/pleroma/backups"
 }
 
 backup_api_list()
 {
-	curl -s --compressed -H "Authorization: Bearer $auth" "$instance_point/pleroma/backups"
+	default_curl_opt "$instance_point/pleroma/backups"
 }
 
 follow_api_export()
@@ -208,19 +209,19 @@ }
 
 follow_api_import()
 {
-	curl -v --compressed -H "Authorization: Bearer $auth" "$instance_point_pleroma/follow_import" \
+	post_request "$instance_point_pleroma/follow_import" \
 	--data 'list=@restore/friends.csv'
 }
 
 blocks_api_import()
 {
-	curl -s --compressed -H "Authorization: Bearer $auth" "$instance_point_pleroma/blocks_import" \
+	post_request "$instance_point_pleroma/blocks_import" \
 	--data 'list=@restore/blocks.csv'
 }
 
 mutes_api_import()
 {
-	curl -s --compressed -H "Authorization: Bearer $auth" "$instance_point_pleroma/mutes_import" \
+	post_request "$instance_point_pleroma/mutes_import" \
 	--data 'list=@restore/mutes.csv'
 }
 #[MIGRATION SECTION END]
@@ -384,16 +385,36 @@ }
 
 share_api_status()
 {
-	curl -w "%{http_code}" -X POST -s --compressed -H "Authorization: Bearer $auth" --url $instance_point/statuses/$1/reblog --output /dev/null
+	post_request -w "%{http_code}" --url $instance_point/statuses/$1/reblog --output /dev/null
 }
 
 write_api_status()
 {
-	curl -s --compressed -H "Authorization: Bearer $auth" --url $instance_point/statuses \
-	--data-urlencode "status=$1" \
-	--data-urlencode "content_type=$content_type" \
-	--data-urlencode "visibility=$status_visibility" \
-	--data-urlencode "in_reply_to_id=$replyto"
+	if [ -n "$mediaattach" ]; then
+		media=$(upload_api_media | jj id)
+		post_request -w "%{http_code}" --url $instance_point/statuses \
+		--data-urlencode "status=$1" \
+		--data-urlencode "content_type=$content_type" \
+		--data-urlencode "visibility=$status_visibility" \
+		--data-urlencode "in_reply_to_id=$replyto" \
+		--data-urlencode "media_ids[]=$media" \
+		--output /dev/null
+		echo $http_code
+	else
+		post_request -w "%{http_code}" --url $instance_point/statuses \
+		--data-urlencode "status=$1" \
+		--data-urlencode "content_type=$content_type" \
+		--data-urlencode "visibility=$status_visibility" \
+		--data-urlencode "in_reply_to_id=$replyto" \
+		--output /dev/null
+		echo $http_code
+	fi
+}
+
+upload_api_media()
+{
+	post_request --url $instance_point/media \
+	--form "file=$mediaattach"
 }
 
 write_status_menu()
@@ -402,6 +423,7 @@ 	touch tmp_status.md
 	content_type="$default_content_type"
 	status_visibility="$default_visibility"
 	replyto=$1
+	mediaattach=
 	sub_menu_lvl=1
 	while [ $sub_menu_lvl -eq 1 ]; do
 		clear
@@ -414,10 +436,20 @@ 		echo "Content type: $content_type"
 		if [ -n "$replyto" ]; then
 			echo "Reply to: $replyto"
 		fi
-		wrirepostmenu=$(echo "Write\nSend\nChange type\nVisiblity\nMain menu" | fzy)
+		if [ -n "$mediaattach" ]; then
+			echo "Attachments: $mediaattach"
+		fi
+		if [ -n "http_code" ]; then
+			echo "Send state: $http_code"
+		fi
+		wrirepostmenu=$(echo "Write\nSend\nAdd attach\nChange type\nVisiblity\nMain menu" | fzy)
 		case $wrirepostmenu in
 			"Write") echo > tmp_status.md; $EDITOR tmp_status.md ;;
-			"Send") write_api_status "$(cat tmp_status.md)" | jj -p ;;
+			"Send") http_code=$(write_api_status "$(cat tmp_status.md)") ;;
+			"Add attach") 
+			echo 'Input path to attach (ex. @image.png or @/full/path/to/attach.png)'
+			read mediaattach
+			;;
 			"Change type") content_type=$(echo 'text/plain\ntext/markdown\ntext/html' | fzy) ;;
 			"Visiblity")
 			status_visibility=$(echo 'public\nunlisted\nlocal\nprivate\ndirect\nlist' | fzy)
@@ -460,7 +492,7 @@ }
 
 notif_api_remove_all()
 {
-	curl -X POST --compressed -H "Authorization: Bearer $auth" --url $instance_point/notifications/clear
+	post_request --url $instance_point/notifications/clear
 }
 
 menu_write_status='Write status'
@@ -520,6 +552,7 @@ 			default_curl_opt()
 			{
 				curl -s --compressed -H "Authorization: Bearer $auth" $1
 			}
+			alias post_request="curl -s --compressed -X POST -H \"Authorization: Bearer $auth\""
 			echo '+Authorized account+'
 		else
 			default_curl_opt()
