Back to Skills
    🦞

    postproxy

    Call PostProxy API to create and manage social media posts.

    By @danbaranov
    View on GitHub
    SKILL.md
    ---
    name: postproxy
    description: Call PostProxy API to create and manage social media posts
    allowed-tools: Bash
    ---
    
    # PostProxy API Skill
    
    Call the PostProxy API to manage social media posts across multiple platforms (Facebook, Instagram, TikTok, LinkedIn, YouTube, X/Twitter, Threads).
    
    ## Setup
    
    API key must be set in environment variable `POSTPROXY_API_KEY`.
    Get your API key at: https://app.postproxy.dev/api_keys
    
    ## Base URL
    
    ```
    https://api.postproxy.dev
    ```
    
    ## Authentication
    
    All requests require Bearer token:
    ```bash
    -H "Authorization: Bearer $POSTPROXY_API_KEY"
    ```
    
    ## Endpoints
    
    ### List Profiles
    ```bash
    curl -X GET "https://api.postproxy.dev/api/profiles" \
      -H "Authorization: Bearer $POSTPROXY_API_KEY"
    ```
    
    ### List Posts
    ```bash
    curl -X GET "https://api.postproxy.dev/api/posts" \
      -H "Authorization: Bearer $POSTPROXY_API_KEY"
    ```
    
    ### Get Post
    ```bash
    curl -X GET "https://api.postproxy.dev/api/posts/{id}" \
      -H "Authorization: Bearer $POSTPROXY_API_KEY"
    ```
    
    ### Create Post (JSON with media URLs)
    ```bash
    curl -X POST "https://api.postproxy.dev/api/posts" \
      -H "Authorization: Bearer $POSTPROXY_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "post": {
          "body": "Post content here"
        },
        "profiles": ["twitter", "linkedin", "threads"],
        "media": ["https://example.com/image.jpg"]
      }'
    ```
    
    ### Create Post (File Upload)
    Use multipart form data to upload local files:
    ```bash
    curl -X POST "https://api.postproxy.dev/api/posts" \
      -H "Authorization: Bearer $POSTPROXY_API_KEY" \
      -F "post[body]=Check out this image!" \
      -F "profiles[]=instagram" \
      -F "profiles[]=twitter" \
      -F "media[]=@/path/to/image.jpg" \
      -F "media[]=@/path/to/image2.png"
    ```
    
    ### Create Draft
    Add `post[draft]=true` to create without publishing:
    ```bash
    curl -X POST "https://api.postproxy.dev/api/posts" \
      -H "Authorization: Bearer $POSTPROXY_API_KEY" \
      -F "post[body]=Draft post content" \
      -F "profiles[]=twitter" \
      -F "media[]=@/path/to/image.jpg" \
      -F "post[draft]=true"
    ```
    
    ### Publish Draft
    ```bash
    curl -X POST "https://api.postproxy.dev/api/posts/{id}/publish" \
      -H "Authorization: Bearer $POSTPROXY_API_KEY"
    ```
    
    Profile options: `facebook`, `instagram`, `tiktok`, `linkedin`, `youtube`, `twitter`, `threads` (or use profile IDs)
    
    ### Schedule Post
    Add `scheduled_at` to post object:
    ```bash
    curl -X POST "https://api.postproxy.dev/api/posts" \
      -H "Authorization: Bearer $POSTPROXY_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "post": {
          "body": "Scheduled post",
          "scheduled_at": "2024-01-16T09:00:00Z"
        },
        "profiles": ["twitter"]
      }'
    ```
    
    ### Delete Post
    ```bash
    curl -X DELETE "https://api.postproxy.dev/api/posts/{id}" \
      -H "Authorization: Bearer $POSTPROXY_API_KEY"
    ```
    
    ## Platform-Specific Parameters
    
    For Instagram, TikTok, YouTube, add `platforms` object:
    ```json
    {
      "platforms": {
        "instagram": { "format": "reel", "first_comment": "Link in bio!" },
        "youtube": { "title": "Video Title", "privacy_status": "public" },
        "tiktok": { "privacy_status": "PUBLIC_TO_EVERYONE" }
      }
    }
    ```
    
    ## User Request
    
    $ARGUMENTS