Skip to content
Ordinal
Esc
↑↓navigate↵open⌘Jpreview

Update idea

Update an existing idea by ID. All fields are optional - only include the fields you want to update. Archived ideas cannot be updated; unarchive them first.

PATCH/ideas/{id}
Authorization
AuthorizationBearer token · headerrequired

API key authentication. Generate an API key from your workspace settings.

Path parameters
idstring<uuid>required

Idea ID (UUID)

Request body
requiredapplication/json
titlestring

Idea title

min length 1
labelIdsstring<uuid>[]

Label IDs to attach to the idea (replaces existing labels)

campaignIdstring<uuid> | null

Campaign ID to link the idea to (null to unlink)

linkedInobject

LinkedIn channel content updates

Show properties
copystring
assetsChannelAssetRef[]
Show properties
Array of ChannelAssetRef
assetIdstring<uuid>required

Asset ID from the Uploads API

xobject

X/Twitter channel content updates

Show properties
tweetsobject[]
Show properties
Array of object
copystring
assetsChannelAssetRef[]
Show properties
Array of ChannelAssetRef
assetIdstring<uuid>required

Asset ID from the Uploads API

tikTokTikTokConfig

TikTok channel configuration for creating or updating posts. TikTok posts require exactly one video asset.

Show properties
profileIdstring<uuid>required

TikTok profile ID to post from

copystringrequired

Caption text. Maximum 2,200 characters.

max length 2200
assetsChannelAssetRef[]required

Array containing exactly one video asset.

min items 1 · max items 1
Show properties
Array of ChannelAssetRef
assetIdstring<uuid>required

Asset ID from the Uploads API

privacyLevelTikTokPrivacyLevel

Audience visibility for the TikTok video.

Allowed:PUBLIC_TO_EVERYONEFOLLOWER_OF_CREATORMUTUAL_FOLLOW_FRIENDSSELF_ONLY
isCommentDisabledboolean

Disable comments on the video.

isDuetDisabledboolean

Disable Duet on the video.

isStitchDisabledboolean

Disable Stitch on the video.

isPromotingBusinessboolean

Mark the video as promoting the creator's own business (branded content disclosure).

isPaidPartnershipboolean

Mark the video as a paid partnership with a third-party brand (branded content disclosure).

videoCoverTimestampMsinteger<int32> | null

Timestamp (in milliseconds) of the video frame TikTok should use as the cover thumbnail. Defaults to the first frame when omitted or null.

min 0 · max 2147483647
youTubeShortsYouTubeShortsConfig

YouTube Shorts channel configuration for creating or updating posts. YouTube Shorts posts require exactly one video asset (1s–3min).

Show properties
profileIdstring<uuid>required

YouTube channel profile ID to post from

titlestringrequired

Video title. Required by YouTube. Maximum 100 characters.

max length 100
descriptionstring

Video description. Maximum 5,000 characters.

max length 5000
assetsChannelAssetRef[]required

Array containing exactly one video asset (1s–3min duration).

min items 1 · max items 1
Show properties
Array of ChannelAssetRef
assetIdstring<uuid>required

Asset ID from the Uploads API

privacyStatusYouTubePrivacyStatus

Audience visibility for the YouTube Shorts video.

Allowed:publicprivateunlisted
categoryIdstring

YouTube category ID for the video.

notifySubscribersboolean

Whether to notify channel subscribers when the video is published.

isEmbeddableboolean

Whether the video can be embedded on other sites.

isSelfDeclaredMadeForKidsboolean

Whether the video is self-declared as made for kids.

notesstring | null

Internal notes for the idea

Responses
200

Idea updated successfully

idstring<uuid>
urlstring<uri>
titlestring
channelsstring[]
statusstring
updatedAtstring<date-time>
linkedInobject | null
Show properties
copystring
assetsAsset[]
Show properties
Array of Asset
idstring<uuid>

Asset ID

namestring

Original filename

urlstring<uri>

URL to access the asset

mimetypestring

MIME type of the file (e.g., image/jpeg, video/mp4)

sizeinteger

File size in bytes

widthinteger | null

Width in pixels for images and videos

heightinteger | null

Height in pixels for images and videos

durationnumber | null

Duration in seconds for videos

xobject | null
Show properties
tweetsobject[]
Show properties
Array of object
copystring
assetsAsset[]
Show properties
Array of Asset
idstring<uuid>

Asset ID

namestring

Original filename

urlstring<uri>

URL to access the asset

mimetypestring

MIME type of the file (e.g., image/jpeg, video/mp4)

sizeinteger

File size in bytes

widthinteger | null

Width in pixels for images and videos

heightinteger | null

Height in pixels for images and videos

durationnumber | null

Duration in seconds for videos

tikTokTikTokContent | null

TikTok content. Present when the post targets the TikTok channel.

Show properties
profileobject | null
Show properties
idstring<uuid>

Profile ID

namestring | null

Profile name

detailstring | null

Profile detail (vanity name for LinkedIn, @username for X)

copystring

Caption text

assetsAsset[]

Assets attached to the TikTok post (one video).

Show properties
Array of Asset
idstring<uuid>

Asset ID

namestring

Original filename

urlstring<uri>

URL to access the asset

mimetypestring

MIME type of the file (e.g., image/jpeg, video/mp4)

sizeinteger

File size in bytes

widthinteger | null

Width in pixels for images and videos

heightinteger | null

Height in pixels for images and videos

durationnumber | null

Duration in seconds for videos

privacyLevelTikTokPrivacyLevel

Audience visibility for the TikTok video.

Allowed:PUBLIC_TO_EVERYONEFOLLOWER_OF_CREATORMUTUAL_FOLLOW_FRIENDSSELF_ONLY
isCommentDisabledboolean
isDuetDisabledboolean
isStitchDisabledboolean
isPromotingBusinessboolean
isPaidPartnershipboolean
videoCoverTimestampMsinteger<int32> | null

Timestamp (in milliseconds) of the video frame used as the cover thumbnail. Null when not set.

youTubeShortsYouTubeShortsContent | null

YouTube Shorts content. Present when the post targets the YouTube Shorts channel.

Show properties
profileobject | null
Show properties
idstring<uuid>

Profile ID

namestring | null

Profile name

detailstring | null

Profile detail (vanity name for LinkedIn, @username for X)

titlestring | null

Video title

descriptionstring | null

Video description

assetsAsset[]

Assets attached to the YouTube Shorts post (one video).

Show properties
Array of Asset
idstring<uuid>

Asset ID

namestring

Original filename

urlstring<uri>

URL to access the asset

mimetypestring

MIME type of the file (e.g., image/jpeg, video/mp4)

sizeinteger

File size in bytes

widthinteger | null

Width in pixels for images and videos

heightinteger | null

Height in pixels for images and videos

durationnumber | null

Duration in seconds for videos

privacyStatusYouTubePrivacyStatus

Audience visibility for the YouTube Shorts video.

Allowed:publicprivateunlisted
categoryIdstring | null
notifySubscribersboolean
isEmbeddableboolean
isSelfDeclaredMadeForKidsboolean
400

Bad Request - Invalid input parameters

codestring
messagestring
dataobject
Show properties
errorsobject
401

Unauthorized - Missing or invalid API key

codestring
messagestring
404

Not Found - Resource does not exist

codestring
messagestring
Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X PATCH 'https://app.tryordinal.com/api/v1/ideas/497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "title": "Updated Idea Title",
  "linkedIn": {
    "copy": "Updated LinkedIn content"
  }
}'
Response
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "url": "https://app.tryordinal.com/workspace/ideas/550e8400-e29b-41d4-a716-446655440000",
  "title": "Updated Idea Title",
  "channels": [
    "LinkedIn"
  ],
  "status": "Idea",
  "updatedAt": "2026-02-18T15:00:00.000Z",
  "linkedIn": {
    "copy": "Updated LinkedIn content",
    "assets": []
  },
  "x": null
}