Skip to main content

Repurpose Links API

The Repurpose Links API lets you manage automated content repurposing links. Repurpose links automatically take content published on one platform and republish it to another, with optional template formatting and custom settings.
Retrieve a list of repurpose links configured for your account.
GET /v1/repurposeLinks

Headers

HeaderRequiredDescription
soku-api-keyYesYour Soku API key

Query Parameters

ParameterTypeRequiredDescription
platformstringNoFilter by source platform (for example, "instagram", "tiktok")
accountIdstringNoFilter by account ID
typestringNoFilter by repurpose link type

Response

Returns an array of repurpose link objects.
[
  {
    "id": "rl_a1b2c3d4",
    "platform": "instagram",
    "accountId": "ig_main",
    "type": "post",
    "templateId": "tmpl_f7e8d9c0",
    "settings": {
      "includeCaption": true,
      "addHashtags": false
    },
    "createdAt": "2026-02-15T10:30:00.000Z"
  },
  {
    "id": "rl_e5f6a7b8",
    "platform": "tiktok",
    "accountId": "tt_brand",
    "type": "video",
    "templateId": null,
    "settings": {
      "includeCaption": true,
      "addHashtags": true
    },
    "createdAt": "2026-02-20T14:00:00.000Z"
  }
]

Examples

List all repurpose links:
curl -X GET https://api.mysoku.io/v1/repurposeLinks \
  -H "soku-api-key: sk_live_your_api_key_here"
Filter by platform:
curl -X GET "https://api.mysoku.io/v1/repurposeLinks?platform=instagram" \
  -H "soku-api-key: sk_live_your_api_key_here"
Filter by platform and account:
curl -X GET "https://api.mysoku.io/v1/repurposeLinks?platform=instagram&accountId=ig_main" \
  -H "soku-api-key: sk_live_your_api_key_here"

Create a new repurpose link to automate content repurposing between platforms.
POST /v1/repurposeLinks

Headers

HeaderRequiredDescription
Content-TypeYesMust be application/json
soku-api-keyYesYour Soku API key

Request Body

FieldTypeRequiredDescription
platformstringYesThe source platform to watch for new content (for example, "instagram", "tiktok", "youtube")
accountIdstringYesThe account ID for the source platform
typestringYesThe type of content to repurpose (for example, "post", "video", "story")
templateIdstringNoThe ID of a template to apply when repurposing. Pass null or omit to repurpose without a template.
settingsobjectNoAdditional configuration for the repurpose behavior

Settings Object

FieldTypeDescription
includeCaptionbooleanWhether to include the original caption in the repurposed content
addHashtagsbooleanWhether to automatically add relevant hashtags

Response

Returns the created repurpose link object.
{
  "id": "rl_c9d0e1f2",
  "platform": "instagram",
  "accountId": "ig_main",
  "type": "post",
  "templateId": "tmpl_f7e8d9c0",
  "settings": {
    "includeCaption": true,
    "addHashtags": false
  },
  "createdAt": "2026-02-28T12:00:00.000Z"
}

Examples

Create a repurpose link with a template:
curl -X POST https://api.mysoku.io/v1/repurposeLinks \
  -H "Content-Type: application/json" \
  -H "soku-api-key: sk_live_your_api_key_here" \
  -d '{
    "platform": "instagram",
    "accountId": "ig_main",
    "type": "post",
    "templateId": "tmpl_f7e8d9c0",
    "settings": {
      "includeCaption": true,
      "addHashtags": false
    }
  }'
Create a repurpose link without a template:
curl -X POST https://api.mysoku.io/v1/repurposeLinks \
  -H "Content-Type: application/json" \
  -H "soku-api-key: sk_live_your_api_key_here" \
  -d '{
    "platform": "tiktok",
    "accountId": "tt_brand",
    "type": "video",
    "settings": {
      "includeCaption": true,
      "addHashtags": true
    }
  }'

Remove a repurpose link and stop its automated repurposing.
DELETE /v1/repurposeLinks/{id}

Headers

HeaderRequiredDescription
soku-api-keyYesYour Soku API key

Path Parameters

ParameterTypeRequiredDescription
idstringYesThe ID of the repurpose link to delete

Response

Returns an empty response with HTTP status 204 No Content on success.

Examples

curl -X DELETE https://api.mysoku.io/v1/repurposeLinks/rl_a1b2c3d4 \
  -H "soku-api-key: sk_live_your_api_key_here"

Error Responses

HTTP StatusError CodeDescription
400validation_errorMissing or invalid fields in the request body
400missing_accountThe specified accountId does not exist for the given platform
401unauthorizedMissing or invalid API key
403forbiddenSubscription is not active
404not_foundThe repurpose link ID does not exist
429rate_limit_exceededToo many requests. See Rate Limits.
500internal_errorAn internal error occurred
Example error response:
{
  "error": {
    "code": "missing_account",
    "message": "No account found with ID 'ig_nonexistent' for platform 'instagram'.",
    "timestamp": "2026-02-28T12:00:00.000Z",
    "requestId": "req_abc123def456",
    "details": {
      "platform": "instagram",
      "accountId": "ig_nonexistent"
    }
  }
}

Next Steps

TopicDescription
Repurpose LinksConfigure repurpose links in the dashboard
Content RepurposingLearn about content repurposing workflows
Posts APIManually create posts via the API