• Welcome
  • Docs
Information
Core Resources
    Account Management
      Get All AccountsgetTrack AccountpostStop Tracking AccountdeleteBulk Track AccountspostBulk Stop Tracking AccountsdeleteGet Account HistorygetGet Specific AccountgetStop Tracking Account By IDdelete
    Video Management
      Get All VideosgetTrack VideopostStop Tracking VideodeleteBulk Track VideospostBulk Stop Tracking VideosdeleteGet Specific VideogetStop Tracking Video By IDdeleteGet Video HistorygetGet All Videos Linked To Accountget
    Collection Management
      Get All CollectionsgetCreate CollectionpostGet CollectiongetDelete CollectiondeleteUpdate CollectionpatchGet Collection VideosgetAdd Videos to CollectionpostRemove Videos from CollectiondeleteGet Collection AccountsgetAdd Accounts to CollectionpostRemove Accounts from Collectiondelete
    Organisation Management
      Get Organisation Historyget
Analytics
    Statistics
      Total VideosgetTotal Accountsget
System
    Integration
      Shortimize MCP Serverpost
powered by Zuplo
Shortimize API
Shortimize API

Collection Management

Endpointhttps://api.shortimize.com

Organize accounts and videos into collections


Get All Collections

GET
https://api.shortimize.com
/collections

All tiers — Limited/Basic: 1 result with masked metrics. Premium: full access.

Retrieves all collections linked to your organisation. Collections are used to organize and group accounts and videos for easier management.

Rate Limit: 5 (limited) / 15 (basic) / 30 (premium) requests per minute

Get All Collections › query Parameters

parent_id
​string

Filter collections by parent ID. Use 'null' for root-level collections only.

include_children
​boolean

Include child collections in the response

Default: false
paginated
​boolean

Set to true to receive paginated response with {data, pagination} format instead of {data, count}

Default: false
page
​integer · min: 1

Page number for pagination (requires paginated=true)

Default: 1
limit
​integer · min: 1 · max: 5000

Number of items to return per page

Default: 5000
order_by
​string

Field to order results by

Default: created_at
order_direction
​string · enum

Direction of ordering (ascending or descending)

Enum values:
asc
desc
Default: desc

Get All Collections › Headers

Authorization
​string · required

Bearer token for authentication

Get All Collections › Responses

Successful response with a list of collections

​object[]
count
​integer

Number of collections returned

GET/collections
curl --request GET \ --url https://api.shortimize.com/collections \ --header 'Authorization: <string>'
shell
Example Responses
{ "data": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "name", "organisation_id": "00000000-0000-0000-0000-000000000000", "parent_id": "00000000-0000-0000-0000-000000000000", "access": "private", "hash": "hash", "display_settings": {}, "created_by": "00000000-0000-0000-0000-000000000000", "created_at": "2024-08-25T15:00:00Z", "hashtags": [ "string" ] } ], "count": 0 }
json
application/json

Create Collection

POST
https://api.shortimize.com
/collections

Creates a new collection for organizing accounts and videos.

Rate Limit: 5 (limited) / 15 (basic) / 30 (premium) requests per minute

Create Collection › Headers

Authorization
​string · required

Bearer token for authentication

Create Collection › Request Body

name
​string · maxLength: 100 · required

Collection name

parent_id
​string · uuid

Optional parent collection ID for nested collections

access
​string · enum

Access level for the collection

Enum values:
private
public
protected
Default: private

Create Collection › Responses

Collection created successfully

id
​string · uuid
name
​string
organisation_id
​string · uuid
access
​string
created_at
​string · date-time
POST/collections
curl --request POST \ --url https://api.shortimize.com/collections \ --header 'Authorization: <string>' \ --header 'Content-Type: application/json' \ --data ' { "name": "name", "parent_id": "00000000-0000-0000-0000-000000000000", "access": "private" } '
shell
Example Request Body
{ "name": "name", "parent_id": "00000000-0000-0000-0000-000000000000", "access": "private" }
json
Example Responses
{ "id": "00000000-0000-0000-0000-000000000000", "name": "name", "organisation_id": "00000000-0000-0000-0000-000000000000", "access": "access", "created_at": "2024-08-25T15:00:00Z" }
json
application/json

Get Collection

GET
https://api.shortimize.com
/collections/{collection_id}

All tiers — Limited/Basic: 1 result with masked metrics. Premium: full access.

Retrieves a specific collection by ID.

Rate Limit: 5 (limited) / 15 (basic) / 30 (premium) requests per minute

Get Collection › path Parameters

collection_id
​string · uuid · required

The unique identifier of the collection

Get Collection › query Parameters

include_counts
​boolean

Include video and account counts

Default: false

Get Collection › Headers

Authorization
​string · required

Get Collection › Responses

Collection details

id
​string · uuid
name
​string
organisation_id
​string · uuid
parent_id
​string | null
access
​string
hash
​string | null
display_settings
​object | null
created_at
​string · date-time
hashtags
​string[]
video_count
​integer

Only if include_counts=true

account_count
​integer

Only if include_counts=true

GET/collections/{collection_id}
curl --request GET \ --url https://api.shortimize.com/collections/:collection_id \ --header 'Authorization: <string>'
shell
Example Responses
{ "id": "00000000-0000-0000-0000-000000000000", "name": "name", "organisation_id": "00000000-0000-0000-0000-000000000000", "parent_id": "parent_id", "access": "access", "hash": "hash", "display_settings": {}, "created_at": "2024-08-25T15:00:00Z", "hashtags": [ "string" ], "video_count": 0, "account_count": 0 }
json
application/json

Delete Collection

DELETE
https://api.shortimize.com
/collections/{collection_id}

Deletes a collection. This will also remove all associations with accounts and videos.

Rate Limit: 5 (limited) / 15 (basic) / 30 (premium) requests per minute

Delete Collection › path Parameters

collection_id
​string · uuid · required

Delete Collection › Headers

Authorization
​string · required

Delete Collection › Request Body optional

Delete Collection › Responses

Collection deleted successfully

success
​boolean
deleted_id
​string · uuid
DELETE/collections/{collection_id}
curl --request DELETE \ --url https://api.shortimize.com/collections/:collection_id \ --header 'Authorization: <string>' \ --header 'Content-Type: application/json' \ --data '{}'
shell
Example Request Body
{}
json
Example Responses
{ "success": true, "deleted_id": "00000000-0000-0000-0000-000000000000" }
json
application/json

Update Collection

PATCH
https://api.shortimize.com
/collections/{collection_id}

Updates a collection's properties.

Rate Limit: 5 (limited) / 15 (basic) / 30 (premium) requests per minute

Update Collection › path Parameters

collection_id
​string · uuid · required

Update Collection › Headers

Authorization
​string · required

Update Collection › Request Body

name
​string · maxLength: 100
parent_id
​string | null · uuid
access
​string · enum
Enum values:
private
public
protected
password
​string · minLength: 8

Password for protected collections

display_settings
​object

Display settings for public collections

Update Collection › Responses

Collection updated successfully

No data returned
PATCH/collections/{collection_id}
curl --request PATCH \ --url https://api.shortimize.com/collections/:collection_id \ --header 'Authorization: <string>' \ --header 'Content-Type: application/json' \ --data ' { "name": "name", "parent_id": "00000000-0000-0000-0000-000000000000", "access": "private", "password": "password", "display_settings": {} } '
shell
Example Request Body
{ "name": "name", "parent_id": "00000000-0000-0000-0000-000000000000", "access": "private", "password": "password", "display_settings": {} }
json
Example Responses
No example specified for this content type

Get Collection Videos

GET
https://api.shortimize.com
/collections/{collection_id}/videos

All tiers — Limited/Basic: 1 result with masked metrics. Premium: full access.

Retrieves all videos in a collection with pagination.

Rate Limit: 5 (limited) / 15 (basic) / 30 (premium) requests per minute

Get Collection Videos › path Parameters

collection_id
​string · uuid · required

Get Collection Videos › query Parameters

page
​integer

Page number (default: 1)

Default: 1
limit
​integer · max: 5000

Items per page (default: 100, max: 5000)

Default: 100
order_by
​string

Field to order by

Default: created_at
order_direction
​string · enum

Order direction

Enum values:
asc
desc
Default: desc

Get Collection Videos › Headers

Authorization
​string · required

Get Collection Videos › Responses

List of videos in the collection

​object[]
​object
GET/collections/{collection_id}/videos
curl --request GET \ --url https://api.shortimize.com/collections/:collection_id/videos \ --header 'Authorization: <string>'
shell
Example Responses
{ "data": [ {} ], "pagination": { "total": 0, "page": 0, "limit": 0, "total_pages": 0 } }
json
application/json

Add Videos to Collection

POST
https://api.shortimize.com
/collections/{collection_id}/videos

Adds one or more videos to a collection.

Rate Limit: 5 (limited) / 15 (basic) / 30 (premium) requests per minute

Add Videos to Collection › path Parameters

collection_id
​string · uuid · required

Add Videos to Collection › Headers

Authorization
​string · required

Add Videos to Collection › Request Body

video_ids
​string[] · minItems: 1 · maxItems: 100 · required

Array of video IDs to add to the collection

Add Videos to Collection › Responses

Videos added successfully

success
​boolean
collection_id
​string
videos_added
​integer
POST/collections/{collection_id}/videos
curl --request POST \ --url https://api.shortimize.com/collections/:collection_id/videos \ --header 'Authorization: <string>' \ --header 'Content-Type: application/json' \ --data ' { "video_ids": [ "00000000-0000-0000-0000-000000000000" ] } '
shell
Example Request Body
{ "video_ids": [ "00000000-0000-0000-0000-000000000000" ] }
json
Example Responses
{ "success": true, "collection_id": "collection_id", "videos_added": 0 }
json
application/json

Remove Videos from Collection

DELETE
https://api.shortimize.com
/collections/{collection_id}/videos

Removes one or more videos from a collection.

Rate Limit: 5 (limited) / 15 (basic) / 30 (premium) requests per minute

Remove Videos from Collection › path Parameters

collection_id
​string · uuid · required

Remove Videos from Collection › Headers

Authorization
​string · required

Remove Videos from Collection › Request Body

video_ids
​string[] · minItems: 1 · maxItems: 100 · required

Array of video IDs to remove from the collection

Remove Videos from Collection › Responses

Videos removed successfully

success
​boolean
collection_id
​string
videos_removed
​integer
DELETE/collections/{collection_id}/videos
curl --request DELETE \ --url https://api.shortimize.com/collections/:collection_id/videos \ --header 'Authorization: <string>' \ --header 'Content-Type: application/json' \ --data ' { "video_ids": [ "00000000-0000-0000-0000-000000000000" ] } '
shell
Example Request Body
{ "video_ids": [ "00000000-0000-0000-0000-000000000000" ] }
json
Example Responses
{ "success": true, "collection_id": "collection_id", "videos_removed": 0 }
json
application/json

Get Collection Accounts

GET
https://api.shortimize.com
/collections/{collection_id}/accounts

All tiers — Limited/Basic: 1 result with masked metrics. Premium: full access.

Retrieves all accounts in a collection with pagination.

Rate Limit: 5 (limited) / 15 (basic) / 30 (premium) requests per minute

Get Collection Accounts › path Parameters

collection_id
​string · uuid · required

Get Collection Accounts › query Parameters

page
​integer

Page number (default: 1)

Default: 1
limit
​integer · max: 5000

Items per page (default: 100, max: 5000)

Default: 100
order_by
​string

Field to order by

Default: created_at
order_direction
​string · enum

Order direction

Enum values:
asc
desc
Default: desc

Get Collection Accounts › Headers

Authorization
​string · required

Get Collection Accounts › Responses

List of accounts in the collection

​object[]
​object
GET/collections/{collection_id}/accounts
curl --request GET \ --url https://api.shortimize.com/collections/:collection_id/accounts \ --header 'Authorization: <string>'
shell
Example Responses
{ "data": [ {} ], "pagination": { "total": 0, "page": 0, "limit": 0, "total_pages": 0 } }
json
application/json

Add Accounts to Collection

POST
https://api.shortimize.com
/collections/{collection_id}/accounts

Adds one or more accounts to a collection.

Rate Limit: 5 (limited) / 15 (basic) / 30 (premium) requests per minute

Add Accounts to Collection › path Parameters

collection_id
​string · uuid · required

Add Accounts to Collection › Headers

Authorization
​string · required

Add Accounts to Collection › Request Body

account_ids
​string[] · minItems: 1 · maxItems: 100 · required

Array of account IDs to add to the collection

Add Accounts to Collection › Responses

Accounts added successfully

success
​boolean
collection_id
​string
accounts_added
​integer
POST/collections/{collection_id}/accounts
curl --request POST \ --url https://api.shortimize.com/collections/:collection_id/accounts \ --header 'Authorization: <string>' \ --header 'Content-Type: application/json' \ --data ' { "account_ids": [ "00000000-0000-0000-0000-000000000000" ] } '
shell
Example Request Body
{ "account_ids": [ "00000000-0000-0000-0000-000000000000" ] }
json
Example Responses
{ "success": true, "collection_id": "collection_id", "accounts_added": 0 }
json
application/json

Remove Accounts from Collection

DELETE
https://api.shortimize.com
/collections/{collection_id}/accounts

Removes one or more accounts from a collection.

Rate Limit: 5 (limited) / 15 (basic) / 30 (premium) requests per minute

Remove Accounts from Collection › path Parameters

collection_id
​string · uuid · required

Remove Accounts from Collection › Headers

Authorization
​string · required

Remove Accounts from Collection › Request Body

account_ids
​string[] · minItems: 1 · maxItems: 100 · required

Array of account IDs to remove from the collection

Remove Accounts from Collection › Responses

Accounts removed successfully

success
​boolean
collection_id
​string
accounts_removed
​integer
DELETE/collections/{collection_id}/accounts
curl --request DELETE \ --url https://api.shortimize.com/collections/:collection_id/accounts \ --header 'Authorization: <string>' \ --header 'Content-Type: application/json' \ --data ' { "account_ids": [ "00000000-0000-0000-0000-000000000000" ] } '
shell
Example Request Body
{ "account_ids": [ "00000000-0000-0000-0000-000000000000" ] }
json
Example Responses
{ "success": true, "collection_id": "collection_id", "accounts_removed": 0 }
json
application/json

Video ManagementOrganisation Management