Introduction

The TrueLoyal API is a RESTful API built on HTTP, uses the OAuth 2.0 protocol to authorize applications to access data on behalf of users, and the requests and responses are formatted according to the JSON:API specification.

Authentication

The vast majority of our API endpoints require an OAuth 2.0 bearer token. In order to get one, you will first need to create an OAuth application:

  • Sign in to TrueLoyal
  • Click on your name or email on the top right corner
  • Select Team Settings
  • Choose API
  • Click on the Add button
  • Create your OAuth 2.0 application

Once done, you'll receive the client ID and secret you need to initiate the authorization flow.

We currently only support the authorization code flow so you will need to authenticate as a user. Our API tokens are short-lived but you will be provided a refresh token you can use to get a new access token when your token has expired.

Authorize an application using the authorization code flow

query Parameters
client_id
required
string
redirect_uri
required
string
response_type
required
string
Value: "code"
scope
required
Array of strings
Items Enum: "accounts:read" "accounts:write" "assets:read" "assets:write" "authentication_factors:read" "authentication_factors:write" "collections:read" "collections:write" "domains:read" "domains:write" "experiences:read" "experiences:write" "fonts:read" "fonts:write" "form_submissions:read" "form_submissions:write" "identity" "itentity:write" "marketing_integrations:read" "marketing_integrations:write" "marketing_integrations_requests:write" "oauth_applications:read" "oauth_applications:write" "posts:read" "posts:write" "right_request_templates:read" "right_request_templates:write" "right_request_terms:read" "right_request_terms:write" "right_requests:read" "right_requests:write" "social_feeds:read" "social_feeds:write" "teams:read" "tints:read" "tints:write" "users:read" "users:write"
state
string

Responses

Exchange an authorization code for or refresh an access token

query Parameters
client_id
required
string
client_secret
string

Required when grant_type is authorization_code

code
string

Required when grant_type is authorization_code

grant_type
required
string
Enum: "authorization_code" "refresh_token"
redirect_uri
string

Required when grant_type is authorization_code

refresh_token
string

Required when grant_type is refreh_token

Responses

Changes to Sensitive Data

You must provide the id_token provided when the user authorized your application as a query parameter in order to make changes to sensitive information such as their email, password, authentication factors, etc. The id_token is only valid for 15 minutes.

Should your id_token expire, you must redirect the user to the OAuth authorization URL above for the user to provide authorization again.

PATCH /v2/me?id_token=nHOoUfFHEm.pvgdGWlMz6X1mQvyY7ORPxFbIksmf6qz.srCyXxT2Fv HTTP/1.1
Accept: application/vnd.api+json
Content-Type: application/vnd.api+json
Authorization: Bearer bbAo5OvKt5p7NlJ4PlMWpE87wrkxhiJDayIgHSyhGx92KmSOHf5UtvpGK14ARxYA

{
  "data": {
    "id": 1,
    "type": "user",
    "attributes": {
      "email": "support-advocacy@trueloyal.com"
    }
  }
}

Inclusion of Related Resources

You may customize which related resources are returned using the include request parameter. The value of the include parameter must be a comma-separated list of relationship paths. A relationship path is a dot-separated list of relationship names.

For instance, authentication factors could be requested with a user:

GET /v2/me?include=authentication_factors HTTP/1.1
Accept: application/vnd.api+json

In order to request resources related to other resources, a dot-separated path for each relationship name can be specified:

GET /v2/teams/1?include=tints.personalizations HTTP/1.1
Accept: application/vnd.api+json

Multiple related resources can be requested in a comma-separated list:

GET /v2/me?include=authentication_factors,teams HTTP/1.1
Accept: application/vnd.api+json

Sparse Fieldsets

You may request that an endpoint return only specific fields in the response on a per-type basis by including a fields[TYPE] parameter. The value of the fields parameter must be a comma-separated list that refers to the name(s) of the fields to be returned.

For example:

GET /v2/teams/1/tints?include=personalizations&fields[tints]=name,status&fields[personalizations]=name,theme HTTP/1.1
Accept: application/vnd.api+json

Pagination

We limit the number of resources returned in a response to a subset of the whole set available and provide links to traverse it. Pagination links will appear in the links object that correspond to a collection.

Sorting

Some collections can be sorted using the sort query parameter. We support multiple sort fields by allowing comma-separated sort fields. The sort order for each sort field will be in ascending order unless it is prefixed with a minus.

For example:

GET /v2/teams/1/experiences?sort=status,-id  HTTP/1.1
Accept: application/vnd.api+json

Versioning

Our API supports versioning so that, as we make breaking changes, it does not break your application. To specify a version, simply use the API-Version header. If you do not specify a version, your OAuth Application's version configuration will be used.

Available versions:

  • 20190326 (current)

For example:

GET /v2/me HTTP/1.1
API-Version: 20190326

Important Notes

  • We only accept bearer tokens via the Authorization header.
  • Our WAF may block request that do not include a User-Agent header.
  • POST, PUT and PATCH requests with a body must have the Content-Type header set to application/vnd.api+json as defined in the JSON:API specification unless specified otherwise.

Accounts

Retrieve a list of accounts

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object
include
Array of strings
Items Enum: "social_feeds" "subaccounts"
object

Responses

Response Schema: application/vnd.api+json
Array of objects
Array
object
id
integer
object
type
string
Value: "account"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Retrieve an account

Authorizations:
access_token
path Parameters
account_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Enum: "social_feeds" "subaccounts"

Responses

Response Schema: application/vnd.api+json
object
object
id
integer
object
type
string
Value: "account"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete an account

Only accounts without social feeds can be removed

Authorizations:
access_token
path Parameters
account_id
required
integer
team_id
required
integer

Responses

Reauthenticate an account

Authorizations:
access_token
path Parameters
account_id
required
integer
team_id
required
integer
query Parameters
origin
string

When specified, we will post a message with containing the response body using window.postMessage with this value as the target origin

redirect_uri
string

When specified, we will redirect the user to this URI and include a data query parameter containing the response encoded using Base64

Responses

Retrieve a list of subaccounts for an account

Authorizations:
access_token
path Parameters
account_id
required
integer
team_id
required
integer
query Parameters
object

Responses

Response Schema: application/vnd.api+json
Array of objects
Array
object
id
string
type
string
Value: "subaccount"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Authenticate an account

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
origin
string

When specified, we will post a message with containing the response body using window.postMessage with this value as the target origin

redirect_uri
string

When specified, we will redirect the user to this URI and include a data query parameter containing the response encoded using Base64

type
required
string
Enum: "facebook" "hootsuite" "instagram_business" "linkedin" "pinterest" "slack" "spark" "twitter" "tumblr" "flickr"

The type of account to authenticate

Responses

Subaccounts

A subaccount is an account that can be accessed directly using the specified account credentials such as an Instagram business or creator account or Facebook page.

Retrieve a list of subaccounts

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object

Responses

Response Schema: application/vnd.api+json
Array of objects
Array
object
id
string
type
string
Value: "subaccount"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Authentication Factors

Retrieve a list of authentication factors

Authorizations:
access_token
path Parameters
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "authentication_factor"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a new authentication factor

Authorizations:
(access_tokenid_token)
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "authentication_factor"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "authentication_factor"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Verify an authentication factor

Authorizations:
(access_tokenid_token)
path Parameters
authentication_factor_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "authentication_factor"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "authentication_factor"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete an authentication factor

Authorizations:
(access_tokenid_token)
path Parameters
authentication_factor_id
required
integer
team_id
required
integer

Responses

Challenge a pending authentication factor

When adding a new authentication factor, we always challenge it right away however it's possible to challenge pending authentication factors again every 30 seconds in the even where the user did not receive the code to verify it

Authorizations:
(access_tokenid_token)
path Parameters
authentication_factor_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "authentication_factor_challenge"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
string
type
required
string
Value: "authentication_factor_challenge"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Domains

Retrieve a list of domains

Authorizations:
access_token
path Parameters
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "domain"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a domain

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "domain"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "domain"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a domain

Authorizations:
access_token
path Parameters
domain_id
required
integer
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "domain"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a domain

Authorizations:
access_token
path Parameters
domain_id
required
integer
team_id
required
integer

Responses

Email Templates

Retrieve a list of email templates

Authorizations:
access_token
path Parameters
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "email_template"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create an email template

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "email_template"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "email_template"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve an email template

Authorizations:
access_token
path Parameters
email_template_id
required
integer
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "email_template"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete an email template

Authorizations:
access_token
path Parameters
email_template_id
required
integer
team_id
required
integer

Responses

Fonts

Retrieve a list of fonts

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
type
required
string
Value: "font"

Response samples

Content type
application/vnd.api+json
{}

Create a font

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "font"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "font"

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/vnd.api+json
{}

Delete a font

Authorizations:
access_token
path Parameters
font_id
required
integer
team_id
required
integer

Responses

Retrieve fonts as a CSS stylesheet

path Parameters
font_id
required
integer
team_id
required
integer

Responses

Response samples

Content type
text/css
@font-face { font-family: "Quicksand"; font-style: normal; font-weight: 400; src: local("Quicksand"), url("https://www.fontsquirrel.com/fonts/download/quicksand"); }

OAuth 2.0 Applications

Retrieve a list of applications

Authorizations:
access_token
path Parameters
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "oauth_application"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create an applications

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "oauth_application"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "oauth_application"

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve an application

Authorizations:
access_token
path Parameters
oauth_application_id
required
integer
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "oauth_application"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update an applications

Authorizations:
access_token
path Parameters
oauth_application_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "oauth_application"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "oauth_application"

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete an applications

Authorizations:
access_token
path Parameters
oauth_application_id
required
integer
team_id
required
integer

Responses

Team Users

Retrieve my user

Authorizations:
access_token
query Parameters
include
Array of strings
Items Enum: "accounts" "authentication_factors" "teams" "tints"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "user"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update my user

Authorizations:
access_token(access_tokenid_token)
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "user"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "user"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a list of users

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object
include
Array of strings
Items Enum: "accounts" "tints"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
type
required
string
Value: "team_user"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Invite users to a team

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema:
required
Array of objects
Array
email
string
role_id
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "team_user"

Request samples

Content type
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Bulk update users

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
role_id
integer

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Bulk remove users from a team

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
id
required
integer
type
required
string
Value: "user"

Responses

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Retrieve a user

Authorizations:
access_token
path Parameters
team_id
required
integer
user_id
required
integer
query Parameters
include
Array of strings
Items Enum: "accounts" "tints"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "team_user"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a user

Authorizations:
access_token
path Parameters
team_id
required
integer
user_id
required
integer
query Parameters
include
Array of strings
Items Enum: "accounts" "tints"
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "team_user"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "team_user"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Remove a user from a team

Authorizations:
access_token
path Parameters
team_id
required
integer
user_id
required
integer

Responses

Asynchronously export users

Once complete, a websocket message will be delivered to the user's private channel (private-user- followed by the user's id) with a message of type teams_user_export_request containing a response but you may also opt to use our origin and redirect_uri options

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "teams_user_export_request"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
string
type
required
string
Value: "teams_user_export_request"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Check the status of an asynchronous user export request

Authorizations:
access_token
path Parameters
team_id
required
integer
teams_user_export_request_id
required
string

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
string
type
required
string
Value: "teams_user_export_request"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Teams

Retrieve a list of teams

Authorizations:
access_token
query Parameters
include
Array of strings
Items Enum: "accounts" "assets" "plan" "tints"

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
object
type
required
string
Value: "team"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Retrieve a team

Authorizations:
access_token
query Parameters
include
Array of strings
Items Enum: "accounts" "assets" "plan" "tints"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "team"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a team

Authorizations:
access_token
query Parameters
include
Array of strings
Items Enum: "accounts" "assets" "plan" "tints"
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "team"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "team"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Roles

Retrieve a list of roles

Authorizations:
access_token
path Parameters
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
object
required
object
id
required
integer
type
required
string
Value: "role"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Create a role

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
description
string or null
external_id
string or null

Optional identifier for this role in an external systems (e.g. SAML)

name
string
permissions
Array of strings unique
Items Enum: "all" "accounts_create" "accounts_delete" "accounts_new" "accounts_new" "accounts_read" "anomaly_detection" "anomaly_detection" "anomaly_detection_cu" "anomaly_detection_d" "assets_archive" "assets_delete" "assets_edit" "assets_publish" "assets_read" "audiences_cu" "audiences_d" "audiences_r" "campaigns" "campaigns" "campaigns_cu" "campaigns_d" "challenge" "challenge" "challenge_cu" "challenge_d" "change_billing" "community_u" "create_tint" "customers" "customers" "customers_cu" "customers_d" "delete_tint" "design" "design" "design_cu" "design_d" "domains_cu" "domains_d" "domains_r" "experiences_cu" "experiences_d" "experiences_publish" "experiences_r" "fonts_cu" "fonts_d" "fonts_r" "form_submissions_d" "form_submissions_r" "forms_cu" "forms_d" "forms_publish" "forms_r" "mixes_cu" "mixes_d" "mixes_r" "moderate_tint" "moderation" "moderation" "moderation_cu" "modify_tint" "new_collections" "new_collections" "new_domains" "new_domains" "new_experiences" "new_experiences" "new_fonts" "new_fonts" "new_forms" "new_forms" "new_mixes" "new_mixes" "new_oauth_applications" "new_oauth_applications" "new_personalizations" "new_personalizations" "new_product_accounts" "new_product_accounts" "new_product_feeds" "new_product_feeds" "new_tints_access" "new_tints_access" "new_webhooks" "new_webhooks" "notifications" "notifications" "notifications_cu" "notifications_d" "oauth_applications_cu" "oauth_applications_d" "oauth_applications_r" "ownership_tint" "people_cu" "people_d" "people_r" "personalizations_cu" "personalizations_d" "personalizations_r" "posts_tag_product" "product_accounts_cu" "product_accounts_d" "product_accounts_r" "product_feeds_cu" "product_feeds_d" "product_feeds_r" "products_cu" "products_d" "products_r" "program_settings" "program_settings" "program_settings_cu" "program_settings_d" "replies_cu" "replies_d" "replies_r" "reports" "reports" "roles_cu" "roles_d" "roles_r" "schemas_cu" "schemas_d" "schemas_r" "streak" "streak" "streak_cu" "streak_d" "team_security" "teams_users_cu" "teams_users_d" "teams_users_r" "webhooks_cu" "webhooks_d" "webhooks_r"

Permissions that will be granted to collaborators who are assigned to this group where permissions that start with new_ will grant access to future objects, and the prefixes _r, _cu and _d mean read, create/upadte and delete respectively

Responses

Response Schema: application/vnd.api+json
object
required
object
id
required
integer
type
required
string
Value: "role"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a role

Authorizations:
access_token
path Parameters
role_id
required
integer
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
object
required
object
id
required
integer
type
required
string
Value: "role"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a role

Authorizations:
access_token
path Parameters
role_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "role"

Responses

Response Schema: application/vnd.api+json
object
required
object
id
required
integer
type
required
string
Value: "role"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a role

Authorizations:
access_token
path Parameters
role_id
required
integer
team_id
required
integer

Responses

Experiences

Retrieve a list of experiences

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
include
Array of strings
Items Enum: "domain" "form_submission_keys" "submissions"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
object
type
required
string
Value: "experience"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create an experience

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
include
Array of strings
Items Enum: "domain" "form_submission_keys" "submissions"
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "experience"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "experience"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Bulk update experiences

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
required
object
type
required
string
Value: "experience"

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Bulk delete experiences

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
id
required
integer
type
required
string
Value: "experience"

Responses

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Retrieve an experience

Authorizations:
access_token
path Parameters
experience_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Enum: "domain" "form_submission_keys" "submissions"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "experience"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update an experience

Authorizations:
access_token
path Parameters
experience_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Enum: "domain" "form_submission_keys" "submissions"
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "experience"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "experience"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete an experience

Authorizations:
access_token
path Parameters
experience_id
required
integer
team_id
required
integer

Responses

Retrieve a published experience

path Parameters
experience_slug
required
integer
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "experience"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Form Submissions

Retrieve a list of form submissions

Authorizations:
access_token
path Parameters
experience_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "post"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
object
type
required
string
Value: "form_submission"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a form submission

path Parameters
experience_id
required
integer
team_id
required
integer
Request Body schema: application/x-www-form-urlencoded
object

Responses

Request samples

Content type
application/x-www-form-urlencoded
first_name=Francois&last_name=Deschenes

Delete all form submissions

Authorizations:
access_token
path Parameters
experience_id
required
integer
team_id
required
integer

Responses

Retrieve aggregated form submissions metrics

path Parameters
experience_id
required
integer
team_id
required
integer
query Parameters
group
string
Default: "created_at.millenium"
Enum: "created_at.day" "created_at.hour" "created_at.millenium" "created_at.month" "created_at.quarter" "created_at.week" "created_at.year" "data.keys" "post_id"
include
Array of strings
Items Value: "post"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string

The beginning of the created_at interval, the data.key, or the post_id,depending on the group query parameter.

object
type
required
string
Value: "form_submission_metric"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Asynchronously export form submissions

Once complete, a websocket message will be delivered to the user's private channel (private-user- followed by the user's id) with a message of type form_submission_export_request containing a response but you may also opt to use our origin and redirect_uri options

Authorizations:
access_token
path Parameters
experience_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "form_submission_export_request"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
string
type
required
string
Value: "form_submission_export_request"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Check the status of an asynchronous form submission export request

Authorizations:
access_token
path Parameters
experience_id
required
integer
form_submission_export_request_id
required
string
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
string
type
required
string
Value: "form_submission_export_request"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Product Accounts

Retrieve a list of product accounts

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object
include
Array of strings
Items Value: "cataglogs"
object

Responses

Response Schema: application/vnd.api+json
Array of objects
Array
object
id
integer
object
type
string
Value: "product_account"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Manually create a product account

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
string
Value: "product_account"

Responses

Response Schema: application/vnd.api+json
object
object
id
integer
object
type
string
Value: "product_account"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a product account

Authorizations:
access_token
path Parameters
product_account_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "cataglogs"

Responses

Response Schema: application/vnd.api+json
Array of objects
Array
object
id
integer
object
type
string
Value: "product_account"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Delete a product account

Only product accounts without a feed can be deleted

Authorizations:
access_token
path Parameters
product_account_id
required
integer
team_id
required
integer

Responses

Manually update a product account

Authorizations:
access_token
path Parameters
product_account_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
string
Value: "product_account"

Responses

Response Schema: application/vnd.api+json
Array of objects
Array
object
id
integer
object
type
string
Value: "product_account"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Reauthenticate a product account

Authorizations:
access_token
path Parameters
product_account_id
required
integer
team_id
required
integer
query Parameters
origin
string

When specified, we will post a message with containing the response body using window.postMessage with this value as the target origin

redirect_uri
string

When specified, we will redirect the user to this URI and include a data query parameter containing the response encoded using Base64

Responses

Authenticate a product account

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
origin
string

When specified, we will post a message with containing the response body using window.postMessage with this value as the target origin

redirect_uri
string

When specified, we will redirect the user to this URI and include a data query parameter containing the response encoded using Base64

type
required
string
Enum: "facebook" "shopify" "magento" "woocommerce" "bigcommerce" "salesforce_commerce_cloud" "ftp" "http" "s3"

The type of the product account to authenticate

Responses

Product Feeds

Asynchronously re-sync a product feed or import a new CSV file incase of a CSV feed

All product feeds, with the exception of manual feeds, can be updated.

We update feeds managed via our integration partners regularly but you may trigger a refresh using this endpoint at any time – this is particularily useful if you have made product changes that you would like reflected in TrueLoyal immediately.

For csv products feeds, you can use this endpoint to upload a new CSV file. The file will need to be in the prescribed format.

Authorizations:
access_token
path Parameters
product_feed_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
object
type
string
Value: "product_feed_refresh_request"

Responses

Response Schema: application/vnd.api+json
object
object
id
string
type
string
Value: "product_feed_refresh_request"

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Check the status of a product feed refresh request

Authorizations:
access_token
path Parameters
product_feed_id
required
integer
product_feed_refresh_request_id
required
integer
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
object
object
id
string
type
string
Value: "product_feed_refresh_request"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a list of product feeds

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object
include
Array of strings
Items Enum: "product_account" "catalog"
object

Responses

Response Schema: application/vnd.api+json
Array of objects
Array
object
id
integer
object
type
string
Value: "product_feed"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a product feed

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "product_feed"

Responses

Response Schema: application/vnd.api+json
object
object
id
integer
object
type
string
Value: "product_feed"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a product feed

Authorizations:
access_token
path Parameters
product_feed_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Enum: "product_account" "catalog"

Responses

Response Schema: application/vnd.api+json
object
object
id
integer
object
type
string
Value: "product_feed"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a product Feed

Authorizations:
access_token
path Parameters
product_feed_id
required
integer
team_id
required
integer

Responses

Product Tags

Tag a product

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "product_tag"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "product_tag"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a product tag

Authorizations:
access_token
path Parameters
product_tag_id
required
integer
team_id
required
integer
tint_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "product_tag"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "product_tag"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Remove a product tag

Authorizations:
access_token
path Parameters
product_tag_id
required
integer
team_id
required
integer
tint_id
required
integer

Responses

Products

Retrieve a list of products

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object
include
Array of strings
Items Value: "product_feed"
object

Responses

Response Schema: application/vnd.api+json
Array of objects
Array
object
object
type
string
Value: "product"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a new product

This only works for product feed of type custom.

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
string
Value: "product"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a product

Authorizations:
access_token
path Parameters
product_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "product_feed"

Responses

Response Schema: application/vnd.api+json
object
object
object
type
string
Value: "product"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a product

Authorizations:
access_token
path Parameters
product_id
required
integer
team_id
required
integer

Responses

Templates

Retrieve a list of right request templates

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "tint"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
object
type
required
string
Value: "right_request_template"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a new right request template

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "tint"
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "right_request_template"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "right_request_template"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a list of right request templates applicable to a tint

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer
query Parameters
object
include
Array of strings
Items Value: "tint"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
object
type
required
string
Value: "right_request_template"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Retrieve a specific right request template

Authorizations:
access_token
path Parameters
team_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "tint"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "right_request_template"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a specific right request template

Authorizations:
access_token
path Parameters
team_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "tint"
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "right_request_template"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "right_request_template"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a specific right request template

Authorizations:
access_token
path Parameters
team_id
required
integer
team_id
required
integer

Responses

Terms

Retrieve a list of right request terms

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "tint"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
object
type
required
string
Value: "right_request_term"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a new right request term

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "tint"
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "right_request_term"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "right_request_term"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a list of right request terms applicable to a tint

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer
query Parameters
object
include
Array of strings
Items Value: "tint"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
object
type
required
string
Value: "right_request_term"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Retrieve a specific right request term

Unlike other right request term endpoints, this one returns archived terms so they can be displayed to users who may want to review the terms they were asked to accept

path Parameters
right_request_term_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "tint"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "right_request_term"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Archive a specific right request term

Authorizations:
access_token
path Parameters
right_request_term_id
required
integer
team_id
required
integer

Responses

Right Requests

Retrieve a list of right requests

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
filter[account_id]
integer
filter[source]
string
Enum: "facebook" "twitter" "instagram" "public_post" "instagram_business" "externally_sourced_posts"
filter[status]
string
Enum: "approved" "deleted" "error" "expired" "missing" "pending" "requested" "soft_approved" "token_error"

A comma separated list of statuses

filter[subaccount_id]
string
filter[user_id]
integer
include
Array of strings
Items Enum: "posts" "right_request_term"
object

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "right_request"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Request rights to a specific post

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
include
Array of strings
Items Enum: "posts" "right_request_term"
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "right_request"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "right_request"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a specific right request

Authorizations:
access_token
path Parameters
team_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Enum: "posts" "right_request_term"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "right_request"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve aggregated right requests metrics

path Parameters
measure_name
required
string
Enum: "created" "approved"
team_id
required
integer
query Parameters
object
group
Array of strings
Items Enum: "time.day" "time.day_of_week" "time.hour" "time.hour_of_day" "time.month" "time.quarter" "time.week" "time.year" "source" "user_id" "account_id" "subaccount_id"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string
type
required
string
Value: "right_requests_metric"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Personalizations

Retrieve a list of personalizations

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "personalization"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a personalization

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "personalization"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "personalization"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Bulk update personalizations

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
required
object
type
required
string
Value: "personalization"

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Bulk delete personalizations

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
id
required
integer
type
required
string
Value: "personalization"

Responses

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Retrieve a personalization

Authorizations:
access_token
path Parameters
personalization_id
required
integer
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "personalization"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a personalization

Authorizations:
access_token
path Parameters
personalization_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "personalization"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "personalization"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a personalization

Authorizations:
access_token
path Parameters
personalization_id
required
integer
team_id
required
integer

Responses

Posts

Retrieve a list of posts

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object
object
sort
string
Default: "last_moderated_at"
Enum: "pinned" "last_moderated_at" "published_at" "score"

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "post"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Bulk delete posts

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
id
required
integer
type
required
string
Value: "post"

Responses

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Bulk update posts

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "post"

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "post"

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Retrieve aggregated post moderation metrics

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object
group
Array of strings
Items Enum: "time.day" "time.day_of_week" "time.hour" "time.hour_of_day" "time.month" "time.quarter" "time.week" "time.year" "user_id" "tint_id" "status" "source"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string
type
required
string
Value: "posts_metric"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Retrieve aggregated post engagement metrics

This endpoint requires the posts:read

path Parameters
post_engagement_type
required
string
Enum: "embed_post_modal_opened" "embed_post_external_link_opened" "embed_post_cta_clicked" "embed_post_shared" "embed_post_modal_navigate_right" "embed_post_author_clicked"
team_id
required
integer
query Parameters
object
group
Array of strings
Items Enum: "time.day" "time.day_of_week" "time.hour" "time.hour_of_day" "time.month" "time.quarter" "time.week" "time.year" "tint_id" "post_id" "personalization_type" "theme" "device_category" "media_type"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string
type
required
string
Value: "embed_engagement_metric"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Retrieve aggregated post ingestion metrics

This endpoint requires the posts:read scope unless you specify at least a tint or social feed id and provides up to 12 months of ingestion metrics

path Parameters
team_id
required
integer
query Parameters
object
group
Array of strings
Items Enum: "time.day" "time.day_of_week" "time.hour" "time.hour_of_day" "time.month" "time.quarter" "time.week" "time.year" "social_feed_id" "social_feed_source" "tint_id" "account_id"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string
type
required
string
Value: "posts_ingested_metric"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Update a post

Authorizations:
access_token
path Parameters
post_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "post"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "post"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a post

Authorizations:
access_token
path Parameters
post_id
required
integer
team_id
required
integer

Responses

Retrieve a list of posts for a tint Deprecated

We deprecated this endpoint in favour of the retrieve a list of posts one where you can optionally filter by tint

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer

Create a custom post

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "post"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "post"

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a list of posts that are public for a tint

path Parameters
tint_slug
required
string
query Parameters
object
object
sort
string
Default: "last_moderated_at"
Enum: "pinned" "last_moderated_at" "published_at" "score"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "post"

Response samples

Content type
application/vnd.api+json
{}

Create a public post

path Parameters
tint_slug
required
string
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "post"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "post"

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/vnd.api+json
{}

Check the status of an asynchronous public post upload request

path Parameters
posts_request_id
required
string
tint_slug
required
string

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
string
type
required
string
Value: "post_create_request"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Asynchronously export posts

Once complete, a websocket message will be delivered to the user's private channel (private-user- followed by the user's id) with a message of type post_export_request containinga response but you may also opt to use our origin and redirect_uri options

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "post_export_request"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
string
type
required
string
Value: "post_export_request"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Check the status of an asynchronous post export request

Authorizations:
access_token
path Parameters
post_export_request_id
required
string
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
string
type
required
string
Value: "post_export_request"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

posts_summaries

Generate or retrieve a posts summary

Generates or retrieves a posts summary for the specified Tint. If the summary already exists and is up-to-date, the request returns 200 OK with the summary. If the summary needs to be generated, the request returns 202 Accepted and the summary will be available shortly.

Authorizations:
access_token
path Parameters
tint_id
required
integer
query Parameters
include
Array of strings
Items Enum: "product_tags.product" "cta_associations.cta" "team"
Request Body schema: application/vnd.api+json
object

Filters applied to the posts included in the summary.

property name*
additional property
any

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
string

Identifier of the posts summary. This is the query_hash value and is used as the primary key.

object
object
type
required
string
Value: "posts_summary"
Response Schema: application/vnd.api+json
required
object
required
object
id
required
string

Identifier of the posts summary. This is the query_hash value and is used as the primary key.

object
object
type
required
string
Value: "posts_summary"

Request samples

Content type
application/vnd.api+json
{
  • "filter": { }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Social Feeds

Retrieve a list of social feeds

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "social_feed"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a social feed

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "social_feed"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "social_feed"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Bulk update social feeds

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "social_feed"

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Retrieve a specific social feeds

Authorizations:
access_token
path Parameters
social_feed_id
required
integer
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "social_feed"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a specific social feed

Authorizations:
access_token
path Parameters
social_feed_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "social_feed"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "social_feed"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve aggregated ingestion metrics for a specific social feed Deprecated

This endpoint has been replaced with a newer version and can be found in the posts section above.

path Parameters
social_feed_id
required
integer
team_id
required
integer
query Parameters
group
string
Default: "created_at.millenium"
Enum: "created_at.day" "created_at.hour" "created_at.millenium" "created_at.month" "created_at.quarter" "created_at.week" "created_at.year"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string

The beginning of the created_at interval

type
required
string
Default: "social_feed_metric"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Boards

Retrieve a list of boards

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object
include
Array of strings
Items Enum: "personalizations" "posts" "recently_active_embed_locations" "social_feeds"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
object
object
type
required
string
Value: "tint"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a board

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
include
Array of strings
Items Enum: "personalizations" "posts" "recently_active_embed_locations" "social_feeds"
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "tint"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
object
type
required
string
Value: "tint"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Bulk update boards

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "tint"

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Bulk delete boards

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
id
required
integer
type
required
string
Value: "tint"

Responses

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Retrieve aggregated board engagement metrics

This endpoint requires the tints:read

path Parameters
embed_engagement_type
required
string
Enum: "embed_post_modal_opened" "embed_post_external_link_opened" "embed_post_cta_clicked" "embed_post_shared" "embed_post_modal_navigate_right" "embed_post_author_clicked" "embed_paginated" "embed_loaded" "embed_viewed"
team_id
required
integer
query Parameters
aggregation
string
Enum: "count_unique" "count"

Used to select the type of analysis, defaults to count

object
group
Array of strings
Items Enum: "time.day" "time.day_of_week" "time.hour" "time.hour_of_day" "time.month" "time.quarter" "time.week" "time.year" "tint_id" "post_id" "personalization_type" "theme" "device_category" "media_type" "embed_url" "remote_ip_country"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string
type
required
string
Value: "embed_engagement_metric"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Retrieve a board

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer
query Parameters
include
Array of strings
Items Enum: "personalizations" "posts" "recently_active_embed_locations" "social_feeds"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
object
type
required
string
Value: "tint"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a board

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer
query Parameters
include
Array of strings
Items Enum: "personalizations" "posts" "recently_active_embed_locations" "social_feeds"
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "tint"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
object
type
required
string
Value: "tint"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a board

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer

Responses

Retrieve a board

path Parameters
tint_slug
required
string

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
object
type
required
string
Value: "tint"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Saved Filters

Retrieve a list of saved filters

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
object
id
required
integer
type
required
string
Value: "saved_filter"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a saved filter

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer
Request Body schema: application/vnd.api+json
required
object
object
type
required
string
Value: "saved_filter"

Responses

Response Schema: application/vnd.api+json
required
object
object
id
required
integer
type
required
string
Value: "saved_filter"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a saved filter

Authorizations:
access_token
path Parameters
saved_filter_id
required
integer
team_id
required
integer
tint_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
object
id
required
integer
type
required
string
Value: "saved_filter"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a saved filter

Authorizations:
access_token
path Parameters
saved_filter_id
required
integer
team_id
required
integer
tint_id
required
integer
Request Body schema: application/vnd.api+json
required
object
object
id
required
integer
type
required
string
Value: "saved_filter"

Responses

Response Schema: application/vnd.api+json
required
object
object
id
required
integer
type
required
string
Value: "saved_filter"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a saved filter

Authorizations:
access_token
path Parameters
saved_filter_id
required
integer
team_id
required
integer
tint_id
required
integer

Responses

CTAs

Retrieve list of CTAs

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer
query Parameters
include
Array of strings
Items Value: "cta_associations"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
string
Value: "cta"

Response samples

Content type
application/vnd.api+json
{}

Create a CTA

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
string
Value: "cta"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
string
Value: "cta"

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/vnd.api+json
{}

Retrieve a CTA

Authorizations:
access_token
path Parameters
cta_id
required
integer
team_id
required
integer
tint_id
required
integer
query Parameters
include
Array of strings
Items Value: "cta_associations"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
string
Value: "cta"

Response samples

Content type
application/vnd.api+json
{}

Update a CTA

Authorizations:
access_token
path Parameters
cta_id
required
integer
team_id
required
integer
tint_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
string
Value: "cta"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
string
Value: "cta"

Request samples

Content type
application/vnd.api+json
{}

Response samples

Content type
application/vnd.api+json
{}

Delete a CTA

Authorizations:
access_token
path Parameters
cta_id
required
integer
team_id
required
integer
tint_id
required
integer

Responses

Apply a CTA

Authorizations:
access_token
path Parameters
team_id
required
integer
tint_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
string
Value: "cta_association"

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
object
id
required
integer
object

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Unapply a CTA

Authorizations:
access_token

Responses

Replies

Reply to a specific post

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "user"
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "reply"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "reply"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a reply

Authorizations:
access_token
path Parameters
reply_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "reply"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "reply"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Mixes

Retrieve a public mix

path Parameters
mix_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "mix"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a list of mixes

Authorizations:
access_token
path Parameters
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "mix"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a mix

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "mix"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "mix"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Bulk delete mixes

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
id
required
integer
type
required
string
Value: "mix"

Responses

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Retrieve a mix

Authorizations:
access_token
path Parameters
mix_id
required
integer
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "mix"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a mix

Authorizations:
access_token
path Parameters
mix_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "mix"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "mix"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a mix

Authorizations:
access_token
path Parameters
mix_id
required
integer
team_id
required
integer

Responses

Assets

Retrieve a list of assets

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object
include
Array of strings
Items Value: "collections"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
object
object
type
required
string
Value: "asset"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Asynchronously create assets

Once complete, a websocket message will be delivered to the team's private channel (private-team- followed by the team's id) with a message of type asset_bulk_create_request containing a response

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema:
required
Array of objects
Array
required
object
type
required
string
Value: "asset"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
string
type
required
string
Default: "asset_bulk_create_request"

Request samples

Content type
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Bulk update assets

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "collections"

Bulk delete assets

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
id
required
integer
type
required
string
Value: "asset"

Responses

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Retrieve an asset

Authorizations:
access_token
path Parameters
asset_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "collections"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
object
type
required
string
Value: "asset"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update an asset

Authorizations:
access_token
path Parameters
asset_id
required
integer
team_id
required
integer
query Parameters
include
Array of strings
Items Value: "collections"
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "asset"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
object
type
required
string
Value: "asset"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete an asset

Authorizations:
access_token
path Parameters
asset_id
required
integer
team_id
required
integer

Responses

Retrieve aggregations for assets

Authorizations:
access_token
path Parameters
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string
type
required
string
Value: "aggregation"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Collections

Retrieve a list of collections

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
object
type
required
string
Value: "collection"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a collections

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "collection"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "collection"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Bulk update collections

Authorizations:
access_token
path Parameters
team_id
required
integer

Bulk delete collections

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json; ext=bulk
required
Array of objects
Array
id
required
integer
type
required
string
Value: "collection"

Responses

Request samples

Content type
application/vnd.api+json; ext=bulk
{
  • "data": [
    ]
}

Retrieve a collection

Authorizations:
access_token
path Parameters
collection_id
required
integer
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "collection"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a collection

Authorizations:
access_token
path Parameters
collection_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "collection"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "collection"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a collection

Authorizations:
access_token
path Parameters
collection_id
required
integer
team_id
required
integer

Responses

Marketing Integrations

Retrieve a list of marketing integrations

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "marketing_integration"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a marketing integrations

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "marketing_integration"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "marketing_integration"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a marketing integration

Authorizations:
access_token
path Parameters
marketing_integration_id
required
integer
team_id
required
integer

Responses

Reauthenticate a marketing integration

Authorizations:
access_token
path Parameters
marketing_integration_id
required
integer
team_id
required
integer
query Parameters
origin
string

When specified, we will post a message with containing the response body using window.postMessage with this value as the target origin

redirect_uri
string

When specified, we will redirect the user to this URI and include a data query parameter containing the response encoded using Base64

Responses

Retrieve a list of folders

A folder is a remote group or collection that can be access directly using the specified marketing integration credentials

Authorizations:
access_token
path Parameters
marketing_integration_id
required
integer
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
object
id
string
type
string
Value: "folder"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Authenticate a marketing integration

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
origin
string

When specified, we will post a message with containing the response body using window.postMessage with this value as the target origin

redirect_uri
string

When specified, we will redirect the user to this URI and include a data query parameter containing the response encoded using Base64

type
required
string
Value: "widen_collective"

The type of marketing integration to authenticate

Responses

Asynchronously publish assets or collections to an integration

Authorizations:
access_token
path Parameters
marketing_integration_id
required
integer
team_id
required
integer
Request Body schema:
required
Array of objects
Array
required
object
type
required
string
Value: "marketing_integration_request"

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string
type
required
string
Value: "marketing_integration_request"

Request samples

Content type
{
  • "data": [
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Scheduled Content

Retrieve a list of scheduled content

Authorizations:
access_token
path Parameters
team_id
required
integer
query Parameters
include
Array of strings
Items Enum: "campaign" "account" "team"
object

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string
type
required
string
Value: "scheduled_content"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Schedule content to be published

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "scheduled_content"

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string
type
required
string
Value: "scheduled_content"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Check the status of a scheduled content

Authorizations:
access_token
path Parameters
scheduled_content_id
required
integer
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string
type
required
string
Value: "scheduled_content"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Update a pending or failed scheduled content

Authorizations:
access_token
path Parameters
scheduled_content_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "scheduled_content"

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string
type
required
string
Value: "scheduled_content"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Delete a scheduled content

Authorizations:
access_token
path Parameters
scheduled_content_id
required
integer
team_id
required
integer

Responses

Retrieve aggregations for scheduled contents

Authorizations:
access_token
path Parameters
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
string
type
required
string
Value: "aggregation"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Campaigns

Retrieve a list of campaigns

Authorizations:
access_token
path Parameters
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "campaign"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a campaign

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "campaign"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "campaign"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a campaign

Authorizations:
access_token
path Parameters
campaign_id
required
integer
team_id
required
integer

Update a campaign

Authorizations:
access_token
path Parameters
campaign_id
required
integer
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "campaign"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "campaign"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a campaign

Authorizations:
access_token
path Parameters
campaign_id
required
integer
team_id
required
integer

Responses

Webhooks

Retrieve a list of webhooks

Authorizations:
access_token
path Parameters
team_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
type
required
string
Value: "webhook"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Create a webhook

Authorizations:
access_token
path Parameters
team_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
type
required
string
Value: "webhook"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "webhook"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Retrieve a webhook

Authorizations:
access_token
path Parameters
team_id
required
integer
webhook_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "webhook"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Update a webhook

Authorizations:
access_token
path Parameters
team_id
required
integer
webhook_id
required
integer
Request Body schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "webhook"

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
type
required
string
Value: "webhook"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a webhook

Authorizations:
access_token
path Parameters
team_id
required
integer
webhook_id
required
integer

Responses

Webhook Events

Webhook event will be sent to your webhook endpoint using POST in the same format as our other API responses.

You will receive a resource of type webhook_event which has a relationship to an object resource which will contain the object this webhook is about. While the included relationship isn't customizable for webhooks, we tried to use reasonable default but should you need any additional data, you can always request it from the API.

For example:

{
  "data": {
    "id": 1,
    "type": "event",
    "attributes": {
      "name": "asset_created",
      "created_at": "2021-04-21T20:19:00Z",
    },
    "relationships": {
      "object": {
        "type": "asset",
        "id": 1
      },
      "object": {
        "type": "team",
        "id": 1
      }
    }
  },
  "included": [...]
}

For a list of supported events, please see the endpoint to create events but please note that events of type post_created, post_updated and post_destroyed are only sent for posts ingested via SMS, email and/or public post social feeds.

If your webhook endpoint returns 404 or 410, we will immediately fail the webhook request, and after 50 consecutive failures, we will inactivate your webhook.

Retrieve a list of webhook events

Authorizations:
access_token
path Parameters
team_id
required
integer
webhook_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
Array of objects
Array
required
object
id
required
integer
object
type
required
string
Value: "event"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ]
}

Retrieve a webhook event

Authorizations:
access_token
path Parameters
team_id
required
integer
webhook_event_id
required
integer
webhook_id
required
integer

Responses

Response Schema: application/vnd.api+json
required
object
required
object
id
required
integer
object
type
required
string
Value: "event"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Webhook Event Signatures

To protect your application against man-in-the-middle and replay attacks it is essential, but optional, to verify webhook event signatures. Verification ensures that the webhook payloads were actually sent by TrueLoyal and that the contents of the payloads have not been changed in transport.

If we have a signing secret for your webhook endpoint, we will include a X-TINT-Signature header which contains a timestamp and the signature, separated by a comma.

To verify the signature:

  • Create a new string by joining the timestamp and the payload (raw request)
  • Generate the signature of the above-generated string using HMAC-SHA256 algorithm with your webhook signing secret.

The following example shows the basics of how to verify a signature using PHP.

<?php

$payload = file_get_contents("php://input");
list($timestamp, $signature) = explode($_SERVER["X_TINT_SIGNATURE"], ",", 2);
$signing_secret = '<SIGNING_SECRET>';

if (base64_encode(hash_hmac("sha256", $timestamp . "." . $payload, $signing_secret)) == $signature) {
  # Signature is valid
}