create_post

Create draft

Create an unscheduled LinkedIn draft.

Authorization and permissions

Requires a valid delegated OAuth token and access to the selected workspace.

OAuth scope
mcp:content
Workspace requirement
Authorized workspace and current membership required

Draft creation permission or owned profile.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "description": {
      "default": "",
      "description": "Description.",
      "maxLength": 63206,
      "type": "string"
    },
    "team_id": {
      "description": "Consented workspace ID.",
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "team_id"
  ],
  "type": "object"
}

Result schema

{
  "additionalProperties": false,
  "properties": {
    "post": {
      "additionalProperties": false,
      "description": "Post.",
      "properties": {
        "content_revision": {
          "description": "Content revision.",
          "type": "integer"
        },
        "delivery": {
          "additionalProperties": false,
          "description": "Delivery.",
          "properties": {
            "details": {
              "additionalProperties": {
                "type": "integer"
              },
              "description": "Details.",
              "properties": {},
              "required": [],
              "type": "object"
            },
            "failed": {
              "description": "Failed.",
              "type": "integer"
            },
            "pending": {
              "description": "Pending.",
              "type": "integer"
            },
            "published": {
              "description": "Published.",
              "type": "integer"
            },
            "status": {
              "description": "Status.",
              "type": "string"
            },
            "total": {
              "description": "Total.",
              "type": "integer"
            }
          },
          "required": [
            "status",
            "total"
          ],
          "type": "object"
        },
        "description": {
          "description": "Description.",
          "type": "string"
        },
        "id": {
          "description": "Id.",
          "type": "string"
        },
        "schedule_active": {
          "description": "Schedule active.",
          "type": "boolean"
        },
        "scheduled_on": {
          "description": "Scheduled on.",
          "type": [
            "string",
            "null"
          ]
        },
        "target_account_id": {
          "description": "Target account id.",
          "type": [
            "integer",
            "null"
          ]
        },
        "timezone": {
          "description": "Timezone.",
          "type": [
            "string",
            "null"
          ]
        },
        "version": {
          "description": "Version.",
          "type": "integer"
        }
      },
      "required": [
        "id",
        "description",
        "version",
        "content_revision",
        "scheduled_on",
        "timezone",
        "schedule_active",
        "target_account_id",
        "delivery"
      ],
      "type": "object"
    }
  },
  "required": [
    "post"
  ],
  "type": "object"
}

Example arguments

{
  "description": "A draft about what ten customer interviews taught us about onboarding.",
  "team_id": 42
}

Example result

{
  "post": {
    "content_revision": 1,
    "delivery": {
      "details": {},
      "failed": 0,
      "pending": 0,
      "published": 0,
      "status": "draft",
      "total": 0
    },
    "description": "A draft about what ten customer interviews taught us about onboarding.",
    "id": "R8m3Nk2V",
    "schedule_active": false,
    "scheduled_on": null,
    "target_account_id": null,
    "timezone": "America/New_York",
    "version": 1
  }
}

Errors and retry

Requires a current workspace membership. Unknown or cross-workspace posts return not found; draft permissions can deny writes. Content over 63,206 characters, stale versions, missing approval confirmation, active schedules, or started publication reject the applicable mutation. Calls are limited to 120 per user per minute.

Reads are safe to retry. Before retrying create, search or list posts to avoid a duplicate draft. For update or delete, reload the post after an ambiguous response and use its current version; never blindly repeat a stale mutation.

Effects, limits, and source

Workspace roles, subscription and AI usage limits, approval rules, and server rate limits are enforced at call time. Rate-limit responses identify when to retry; scheduled work returns state rather than holding the request open.

PostCreateView and can_create_draft

Message on LinkedIn