{
  "info": {
    "name": "Typefully — mcp.ai",
    "description": "REST API for the Typefully MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/typefully",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "typefully_create_draft",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/draft",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "draft"
          ]
        },
        "description": "Create a new draft with platform-specific content for multi-platform publishing. Use this action when you need to create a draft that can target multiple social media platforms (X, LinkedIn, Threads, ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"tags\": \"\",\n  \"share\": false,\n  \"platforms\": {},\n  \"publish_at\": \"\",\n  \"draft_title\": \"\",\n  \"social_set_id\": 0,\n  \"scratchpad_text\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_create_tag",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/tag",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "tag"
          ]
        },
        "description": "Creates a new tag for organizing drafts within a social set in Typefully. Use this action when you need to add a new organizational tag to help categorize and group drafts within a specific social acc",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"social_set_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_delete_draft",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/draft",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "draft"
          ]
        },
        "description": "Permanently deletes a draft from Typefully. This action cannot be undone. Use this action when you need to remove a draft that is no longer needed. WARNING: This is a destructive operation. Once delet",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"draft_id\": 0,\n  \"social_set_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_get_current_user",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/current/user",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "current",
            "user"
          ]
        },
        "description": "Get the current authenticated user's information. Returns user details including profile information, email, signup date, and optional profile image URL. Use this action when you need to retrieve the ",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_get_draft",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/draft",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "draft"
          ]
        },
        "description": "Retrieves a single draft by its ID with full details including platform-specific content, tags, status, and scheduling information. Use this action when you need to retrieve comprehensive details abou",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"draft_id\": 0,\n  \"social_set_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_get_media_status",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/media/status",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "media",
            "status"
          ]
        },
        "description": "Check the processing status of an uploaded media file. Use when you need to poll the status of a media file after uploading it. Poll this endpoint until status becomes 'ready' before using the media i",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"media_id\": \"\",\n  \"social_set_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_get_queue",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/queue",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "queue"
          ]
        },
        "description": "Get the scheduled content queue for a social set within a date range. Returns upcoming scheduled drafts organized by day with their scheduled times. Use this action when you need to view what content ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"end_date\": \"\",\n  \"start_date\": \"\",\n  \"social_set_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_get_queue_schedule",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/queue/schedule",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "queue",
            "schedule"
          ]
        },
        "description": "Get the queue schedule configuration for a social set, including posting slots and timezone settings. Use this action when you need to retrieve the scheduling rules and timezone configuration for a so",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"social_set_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_get_social_set",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/social/set",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "social",
            "set"
          ]
        },
        "description": "Get detailed information about a specific social set, including all connected platforms (X, LinkedIn, Mastodon, Threads, Bluesky) with account details and profile information. Use this action when you",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"social_set_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_initialize_media_upload",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/initialize/media/upload",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "initialize",
            "media",
            "upload"
          ]
        },
        "description": "Initializes a media upload by returning a presigned URL. Use when you need to upload images, videos, GIFs, or PDFs to attach to draft posts. First call this action to get a `media_id` and `upload_url`",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"file_name\": \"\",\n  \"social_set_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_list_drafts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/drafts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "drafts"
          ]
        },
        "description": "List drafts for a social set with filtering and sorting options. Use this action when you need to retrieve drafts from a specific social set in Typefully. Supports filtering by status (draft, schedule",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"tag\": \"\",\n  \"limit\": 0,\n  \"offset\": 0,\n  \"status\": \"\",\n  \"order_by\": \"\",\n  \"social_set_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_list_social_sets",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/social/sets",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "social",
            "sets"
          ]
        },
        "description": "List all social sets (groups of connected platform accounts) accessible to the authenticated user. Returns paginated list of social sets with basic info including id, username, name, and profile image",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_list_tags",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/tags",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "tags"
          ]
        },
        "description": "List all tags for a social set. Tags help organize and categorize drafts. Use this action when you need to retrieve all tags associated with a specific social set to organize, filter, or categorize dr",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"offset\": 0,\n  \"social_set_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_resolve_linked_in_organization",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/resolve/linked/in/organization",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "resolve",
            "linked",
            "in",
            "organization"
          ]
        },
        "description": "Resolve a LinkedIn organization from its public URL. Returns the organization URN needed for mentions in LinkedIn posts. Use this action when you need to get the LinkedIn organization identifier to in",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"social_set_id\": 0,\n  \"organization_url\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_update_draft",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/draft",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "draft"
          ]
        },
        "description": "Update an existing draft with partial update semantics. Use this action when you need to modify specific fields of an existing draft. Only the fields you provide will be updated; omitted fields remain",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"tags\": \"\",\n  \"share\": false,\n  \"draft_id\": 0,\n  \"platforms\": {},\n  \"publish_at\": \"\",\n  \"draft_title\": \"\",\n  \"social_set_id\": 0,\n  \"scratchpad_text\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "typefully_update_queue_schedule",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/queue/schedule",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "queue",
            "schedule"
          ]
        },
        "description": "Replace the queue schedule configuration for a social set. Defines the posting slots for scheduled content. Use this action when you need to update or configure the posting schedule for a social accou",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"rules\": \"\",\n  \"social_set_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}