Content / REST API

Submit content authoring

Validate cited research, one idea, and one LinkedIn draft against an unexpired prepared bundle, then persist exactly one reviewable draft and optionally notify Slack. Never invokes hosted inference, schedules, publishes, or creates a workflow.

POST /api/v1/content/authoring/submitDeterministic operation

Parameters

workspaceIdOptional · string
See the input schema for this field.
authoringRunIdRequired · string
See the input schema for this field.
bundleIdRequired · string
See the input schema for this field.
bundleVersionRequired · integer
See the input schema for this field.
clientRunIdRequired · string
See the input schema for this field.
artifactRequired · object
See the input schema for this field.
Request example
curl -X POST "https://app.pipeline.help/api/v1/content/authoring/submit" \
  -H "Authorization: Bearer $PIPELINE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"authoringRunId":"00000000-0000-4000-8000-000000000000","bundleId":"00000000-0000-4000-8000-000000000000","bundleVersion":1,"clientRunId":"00000000-0000-4000-8000-000000000000","artifact":{"research":[{"url":"https://example.com","title":"example","summary":"example"}],"idea":{"title":"example","angle":"example","evidenceIds":["example"]},"draft":{"postType":"thought_leadership","hook":"example","body":"example","fullPost":"example","evidenceIds":["example"]}}}'
Full input schema
Input schema
{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string"
    },
    "authoringRunId": {
      "type": "string"
    },
    "bundleId": {
      "type": "string"
    },
    "bundleVersion": {
      "type": "integer",
      "minimum": 1
    },
    "clientRunId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "artifact": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "research": {
          "type": "array",
          "minItems": 1,
          "maxItems": 10,
          "items": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "pattern": ".*\\S.*"
              },
              "summary": {
                "type": "string",
                "minLength": 1,
                "pattern": ".*\\S.*"
              }
            },
            "required": [
              "url",
              "title",
              "summary"
            ],
            "additionalProperties": false
          }
        },
        "idea": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": ".*\\S.*"
            },
            "angle": {
              "type": "string",
              "minLength": 1,
              "pattern": ".*\\S.*"
            },
            "evidenceIds": {
              "type": "array",
              "minItems": 1,
              "maxItems": 20,
              "items": {
                "type": "string",
                "minLength": 1,
                "pattern": ".*\\S.*"
              }
            }
          },
          "required": [
            "title",
            "angle",
            "evidenceIds"
          ],
          "additionalProperties": false
        },
        "draft": {
          "type": "object",
          "properties": {
            "postType": {
              "type": "string",
              "enum": [
                "thought_leadership",
                "lead_magnet",
                "case_study",
                "personal_story"
              ]
            },
            "hook": {
              "type": "string",
              "minLength": 1,
              "pattern": ".*\\S.*"
            },
            "body": {
              "type": "string",
              "minLength": 1,
              "pattern": ".*\\S.*"
            },
            "cta": {
              "type": "string"
            },
            "fullPost": {
              "type": "string",
              "minLength": 1,
              "pattern": ".*\\S.*"
            },
            "evidenceIds": {
              "type": "array",
              "minItems": 1,
              "maxItems": 20,
              "items": {
                "type": "string",
                "minLength": 1,
                "pattern": ".*\\S.*"
              }
            }
          },
          "required": [
            "postType",
            "hook",
            "body",
            "fullPost",
            "evidenceIds"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "research",
        "idea",
        "draft"
      ]
    }
  },
  "required": [
    "authoringRunId",
    "bundleId",
    "bundleVersion",
    "clientRunId",
    "artifact"
  ],
  "additionalProperties": false
}
See this operation inCLI MCP TypeScript SDK
API reference | Pipeline v2 preview