KINOPIO

API Docs

The Kinopio API is used to find, save, and update the spaces of signed up users. You can use it to make your own integrations and tools.

Base Path for All RoutesDescription
https://api.kinopio.clubConfirm that the API server is online

Authentication

You can auth requests with either your user or an app api key, both can be found in User → Settings → Account → API.

API Key TypeHeaderPermissionsDescription
App API KeyApp-AuthorizationScope is either user, read, edit, or deleteFor projects, apps, and integrations
User API KeyAuthorizationRoot, be carefulFor legacy projects
App API Key ScopesDescription
userCan only read User data
readCan read content (User, Spaces, Cards, etc.)
editCan read and edit content
deleteCan read, edit, and delete content

API Keys are secrets, so be sure to keep them safe. For safety, prefer keys with the narrowest scope possible.


Rate Limits

The API is limited to 5 requests per second. If you exceed this rate, you will receive a 429 response and will need to wait 30 seconds before subsequent requests will succeed.


Users

Users are representations of any account on Kinopio. Users are created by the server when they sign up.

User Routes

MethodPathDescriptionScope
GET/user/public/:userIdGets public info on a user
GET/user/public/explore-spaces/:userIdThe a list of spaces with showInExplore: true created by the user
GET/user/hidden-spacesGet hidden spaces for the authenticating userread
GET/user/public/multiple?userIds=id1,id2Gets public info for multiple userIds, up to 60 userIds at a time
GET/userGet all info on the authenticating useruser
GET/user/favorite-spacesGet favorite spaces for the authenticating user. Favorited spaces which have unread updates will have isEdited: trueread
GET/user/favorite-usersGet favorite users for the authenticating userread
GET/user/favorite-colorsGet favorite colors for the authenticating userread
GET/user/spacesGet a list of the user’s Spaces. Use /user/group-spaces for spaces created by other members of groups they belong toread
GET/user/groupsGet a list of the user’s groups. Their role in each group (member or admin) is inside the groupUser objectread
GET/user/group-spacesGet a list of the user’s group Spaces created by other members of groups they belong toread
GET/user/template-spacesGet a list of the user’s template Spaces. These include template spaces you made or are a collaborator inread
GET/user/removed-spacesGet Spaces removed by the authenticating userread
GET/user/inbox-spaceGet info on the user’s Inbox space. whether a space is an inbox or not is based on name only, so it’s possible to have multiple Inbox spaces, but only one the most recently updated Inbox will be returnedread
GET/user/tagsGet a list of the last edited Tags in your spacesread
GET/user/todosGet todo cards and boxes (item names start with [], [ ], or [x]), grouped by spaceread
GET/user/at-user-mentionsGet cards where the user is in atUserMentionsread
GET/user/at-date-mentionsGet cards in your spaces with atDateMentions (i.e. due dates)read
PATCH/userUpdate the user based on an object body with updated user attributes. You can’t patch apiKey, password, emailIsVerified, or emailedit

User Attributes

NameTypeDescription
idStringThe unique ID of the user. Is not user updateable
apiKeyUUIDUsed in Authentication headers to make API calls as the currentUser. Generated and returned only when user signs up or in. Is not user updateable. Grants root scope, so should not be shared.
atMentionDateIsRelativeBooleanWhether @dates assigned to cards by the user should default to relative format (‘2 days left’), instead of the default absolute format (‘Jan 2, 2026’).
cardsCreatedCountIntegerThe number of cards the user has created if they’re not a paid user, used to enforce the free user limit. Is not user updatable.
cardsCreatedCountRawIntegerSimilar to cardsCreatedCount except the raw version increments even if your’re a free user on a paid user space. This is a vanity metric and is not used to enforce free user limits.
cardSettingsDefaultCharacterLimitIntegerThe max number of characters you can enter in a card. Either 300 (default) or 4000 (max). Constrained character limits are meant to encourage using cards to represent single ideas. But this override exists for those who don’t want that.
cardSettingsCardWrapWidthIntegerSets the maximum default length of a card before it starts wrapping on cards created by the user
cardSettingsShiftEnterShouldAddChildCardBooleanSets whether shift-enter while editing a card creates a new-child (true) or a line break (false)
colorStringUser color changes your paint stroke and default avatar color
createdAtStringThe date when the user was created
creditsEarnedIntegerThe number of $ credits earned by referring or inviting new users to Kinopio. Is not user updateable
creditsUsedIntegerThe number of $ credits subtracted from your payments so far. Is not user updateable
defaultCardBackgroundColorStringUser preference for a default background color to use for new cards
defaultSpaceBackgroundStringUser preference for a default background url to use for new spaces. This becomes null if defaultSpaceBackgroundGradient is set.
defaultSpaceBackgroundGradientObjectUser preference for the default background gradient to use for new spaces. This becomes null if defaultSpaceBackground is set.
defaultSpaceBackgroundTintStringUser preference for a default background color used to tint new spaces
defaultConnectionControlPointStringUser preference for the default control point for new connections. null makes a curved path, q00,00 makes a straight line
descriptionStringA description of this particular user
emailStringThe unique email address of the user required to create an account
emailIsVerifiedBooleanWhether the user has verified their email address
filterShowAbsoluteDatesBooleanWhether card dates are displayed as absolute (false is default relative)
filterCommentsBooleanWhether comment cards are hidden to the user
filterShowDateUpdatedBooleanWhether the user has has toggled the card date filter
filterShowUsersBooleanWhether the user has has toggled the card user filter
groupsJSON ArrayThe groups a user belongs to, including public metadata on the other users in each group
isAmbassadorBooleanWhether the user is in the friends of kinopio affiliate program. Is not user updatable.
isDonorBooleanWhether the user has donated to Kinopio. Is not user updatable.
isModeratorBooleanWhether the user is a moderator of the community forums or discord. Is not user updatable.
isDebugModeBooleanWhether the user has debug mode enabled, which displays item ids and other attributes in the kinopio-client.
isUpgradedBooleanWhether the user currently has a paid subscription. Is not user updatable.
lastReadNewStuffIdStringThe id of the last read article from the ‘new stuff’ newsfeed
lastUsedImagePickerServiceStringThe user’s last used image picker service, is either stickers, gifs, bing, backgrounds, recent, ai
lastSidebarSectionStringThe shortname of the sidebar section last viewed. Can be stats, inbox, removed, links, favorites, history, minimap, tags, tasks, note, atUserMentions, atDateMentions. Defaults to inbox.
lastSpaceIdStringThe spaceId of the last space edited. Used to return you to the same space the next time you visit kinopio.club
nameStringThe unique name of the user. Is a url-safe string (no spaces or special characters) because it’s also used for url slugs
prevHeaderFontIdIntegerThe id of the previous header font selected. Default value is 0 for Recoleta
prevInviteEmailsStringThe emails you last used when emailing space invites. Is private user info.
shouldEmailBulletinBooleanWhether the user has chosen to allow bulletin emails (default to true)
shouldEmailNotificationsBooleanWhether the user has chosen to allow notification emails (default to true)
shouldEmailWeeklyReviewBooleanWhether the user has chosen to allow weekly review emails (default to true)
shouldIncreaseUIContrastBooleanUser preference for whether the header and footer buttons should not be translucent or transparent in any way
shouldUseLastConnectionColorBooleanWhether the user has chosen to use last connection color for new connections (default to true)
shouldShowMoreAlignOptionsBooleanWhether the user has chosen to view more card position alignment and distribution options (default to true)
shouldShowCurrentSpaceTagsBooleanWhether the user has chosen should only tags in the current space in the Tags dialog
shouldShowItemActionsBooleanWhether extra card formatting options (h1, h2, etc.) buttons are visible in the card details dialog
shouldShowMultipleSelectedBoxActionsBooleanWhether extra box formatting options (color, fill, etc.) buttons are visible in the multiple selected items dialog
shouldShowMultipleSelectedLineActionsBooleanWhether extra connection formatting options (type, reverse, etc.) buttons are visible in the multiple selected items dialog
shouldShowMultipleSelectedListActionsBooleanWhether extra list formatting options (color, etc.) buttons are visible in the multiple selected items dialog
shouldNotifyUnlockedStickyCardsBooleanWhether to eventually notify users that they’ve unlocked sticky cards (true for new users only, triggered after they create 20 cards)
shouldPauseConnectionDirectionsBooleanUser pereference for whether connection directions should be static, instead of animating along their connection path
shouldUseStickyCardsBooleanUser pereference for whether cards should stick to their mouse cursor
shouldShowMinimapJumpToListBooleanWhether the list of boxes to jump to is expanded in the Minimap dialog
showInExploreUpdatedAtStringWhen the user last opened the Explore dialog. Used to determine new/unread Explore spaces
showItemActionsBooleanWhether the user has chosen to show expanded options and info in both the card-details and multiple-selected-actions dialogs
sidebarResizeWidthIntegerManually resized width of the sidebar dialog
timezoneStringThe user’s timezone, in IANA name format
updatedAtStringThe date when any changes to the user was made. Also is updated whenever the user starts a Kinopio session
websiteStringThe user’s website, url validity is not checked
prevSettingsSectionStringThe last used settings section. Can be general, controls, or cards
outsideSpaceBackgroundIsStaticBooleanUser preference for whether the outside space area should use dynamically cycling colors, or whether it should be static grey
studentDiscountIsAvailableBooleanWhether the user is eligible for a student discount. Is not user updateable
shouldShowMinimapBooleanWhether the bottom-right minimap is persistently visible

Spaces

Spaces are where your Cards and Connections live.

Space Routes

MethodPathDescriptionScope
GET/space/:spaceIdGet info on a space by id. Use ?textOnly=true for card names onlyread
GET/space/:spaceId/public-metaGet public space info on non-private spaces
GET/space/:spaceId/favoritesGet a list of users who have favorited the spaceIdread
GET/space/:spaceId/feed.jsonRSS feed for cards recently created or updated in a space. Use ?apiKey= for private spaces
GET/space/:spaceId/removed-cardsGet Cards removed in a spaceread
GET/space/explore-spacesGet a list of recently updated public spaces which have been added to Explore. Sorted by date showInExploreUpdatedAt
GET/space/explore-spaces/feed.jsonRSS feed for new spaces added to Explore
GET/space/live-spacesGet a list of currently being edited spaces which are open or closed (Public Read Only)
GET/space/multiple?spaceIds=id1,id2Get info on multiple spaces, up to 60 spaceIds at a timeread
GET/space/public/multiple?spaceIds=id1,id2Gets public info for multiple public spaces, up to 60 spaceIds at a time.
GET/space/inboxGet the current user’s inbox spaceread
GET/space/everyone-spacesGet a list of recent public spaces sorted by date createdAt
GET/space/everyone-spaces/feed.jsonRSS feed for recent public spaces
GET/space/date-imageGet the image url for today’s date card image
POST/spaceCreate a new space(s) from object(s) in request body. The owner will be the apiKey useredit
POST/space/search-explore-spacesGet all showInExplore spaces based on space name. Body object must contain query. Searches are not case-insensitive
POST/screenshotgenerates and returns the space screenshot url. Body object must contain spaceId, format (either pdf, png, jpeg, webp, html, webm, md), and optional isDarkTheme boolread
PATCH/spaceUpdate space(s) from object(s) in request bodyedit
PATCH/space/restore/:spaceIdRestore removed space(s) from object(s) in request bodyedit
DELETE/spaceRemove space(s) specified in request bodydelete
DELETE/space/permanentPermanently remove space(s) specified in request bodydelete
DELETE/space/collaboratorRemoves collaborator user from space. Request Body Keys: spaceId, userIdedit

Space Attributes

NameTypeDescription
idStringThe unique ID of the space. Is not user updateable
backgroundStringThe image url used by the space background
backgroundIsGradientBooleanWhether the space background uses backgroundGradient (instead of the default background)
backgroundGradientObjectAn array of gradient layer data that’s used to build the space background gradient. The gradients are layered and animated using the technique described by Shelby Wilson
backgroundTintStringThe background color used to tint the space background
boxesArrayA list of Boxes in the space
cardsArrayA list of Cards in the space
collaboratorKeyStringUsed like an apikey to allow editing, but just for that space. allows anonymous users who aren’t signed in to edit a space. You can rotate this key, but you should still treat it as a secret
collaboratorsArrayA list of users that can also edit the space
connectionsArrayA list of Connections
createdAtStringThe date when the space was created
drawingImageStringThe image url for drawings on the space. The image is regenerated on the server after each drawing stroke.
editedAtStringThe date when card contents in the space was last added or changed
editedByUserIdStringThe user id of the last user who edited or created a card in the space
isFromTweetBooleanWhether the space was created by replying to a tweet with @kinopioclub save
isHiddenBooleanWhether the space is hidden by the current user
isFavoriteBooleanWhether the space is favorited by the current user
isRemovedBooleanWhether the space has been soft-removed. (can then be restored or permanently removed)
isRestrictedByModeratorBooleanWhether the space has been marked as restricted. Restricted spaces are not shown in Explore, Live, or in the Everyone feed. This value cannot be patched, it is set manually by a moderator only when necessary.
isTemplateBooleanWhether the space is a personal template
linesArrayA list of the Line dividers in the space
listsObjectA list of the Lists in the space
moonPhaseStringName of the moonPhase icon representing when the space was created. Possible values are new-moon, waxing-crescent, waxing-quarter, waxing-gibbous, full-moon, waning-gibbous, waning-quarter, waning-crescent
nameStringThe name of the space
noteStringThe sidebar space note associated with the current user
ownerUserIdStringThe userId of the user who created the space. Used to create url slugs
originSpaceIdStringIf the space was created by duplicating another space, the origin space id is recorded
privacyStringCan be open, closed, private
removedByUserIdStringThe user who soft-removed the space. All space users can restore it via the API, but only the user who removed it will see it listed
previewImageStringURL for the large-sized preview jpg image associated with the space
previewThumbnailImageStringURL for the thumbnail-sized preview jpg image associated with the space
previewImagePrivateStringSame as previewImage, except images in cards are not rendered. This is used for private space unfurling.
previewThumbnailImagePrivateStringSame as previewImageThumbnail, except images in cards are not rendered. This is used for private space unfurling.
urlStringThe url of a space is determined by its name and id. For example, kinopio.club/:space-name-:id
usersArrayThe user who created/owns the space (a space will always have only one user)
showInExploreBooleanWhether the space is shown in explore
tagsArrayA list of Tags
groupObjectInformation on the group that a space belongs to (if any), including public metadata on the other group users
groupIdStringThe group id that the space belongs to. A space can only belong to one group.
addedTogroupByUserIdStringThe user who added the space to the group
updatedAtStringThe date when any changes in the space were made including a member visiting it
visitsIntegerThe number of times the space has been loaded by a person
readOnlyKeyStringSimilar to collaboratorKey but only allows users and non-signed-in users to read a private space

Cards

Cards are the building blocks of Spaces. They have x, y, and z positions, height, width, and a name.

Cards Routes

MethodPathDescriptionScope
GET/card/:cardIdGet info on a cardread
GET/card/multiple?cardIds=id1,id2Get info on multiple cards, up to 60 cardIds at a timeread
GET/card/by-tag-name/:tagNameGet all cards with tag matching tagName in your Spacesread
GET/card/by-link-to-space/:spaceIdGet the cards and Spaces where linkToSpaceId is spaceId. Will only return spaces that the user can viewread
POST/card/searchGet all cards that match a query. Body object must contain query. Only matches cards created by the user. Does not return removed cards, or cards from removed spaces. Searches are not case-insensitiveread
POST/cardCreate card from object in request body. Body object must contain spaceId and name. If not included, x, y, z will be positioned near the top left of the space, in a cascade pattern to prevent overlapsedit
POST/card/to-inboxCreate card saved to the user’s Inbox space from object in request body and . Body object must contain name. Will return 404 if the user does not already have an Inbox space. Positioning works just like POST /cardedit
POST/card/multipleCreates multiple cards from an array of objects in request body. Works just like POST /cardedit
PATCH/card/listAdd card to a List specified in request body. Body object must contain card id, and listId. If body object has shouldPrepend: true, the card will be added to the top of the listedit
PATCH/cardUpdate card from object in request body. Body object must contain id. spaceId cannot be patchededit
PATCH/card/multipleUpdates multiple cards from an array of objects in request body. Works just like PATCH /cardedit
PATCH/card/update-counterIncrement or decrement a card counter for voting. Body object must contain cardId, and either shouldIncrement: true or shouldDecrement: trueedit
PATCH/card/restoreRestore removed card specified in bodyedit
DELETE/card/listRemove card from the List that it’s in. Body object must contain card id. The card’s position will be shifted to the right of the list.edit
DELETE/cardRemove card specified in bodydelete
DELETE/card/permanentPermanently remove card specified in bodydelete

Card Attributes

NameTypeDescription
idStringThe unique ID of the card. Is not user updateable
backgroundColorStringThe background color for the card
createdAtStringThe date when the card was created
codeBlockLanguageStringCode language syntax highlighting to use for markdown ``` code blocks
counterIsVisibleBooleanWhether the card counter for voting is visible
counterValueIntegerThe incremented number of the card counter. Default value is 0
frameIdIntegerThe id of type of frame applied to the card, if any
headerFontIdIntegerAn id representing the card’s header font. Default value is 0 for Recoletta
headerFontSizeStringThe header font size of the card. Can be either s(small-size, default), m(medium-size), or l(large-size)
heightStringThe reference height of the card. Used to generate space preview images
isCreatedThroughPublicApiBooleanWhether the card was created through the public API. Cards that created through POST /card/ will automatically receive this attribute
isCommentBooleanWhether the card is a comment (an alternative to the ((comment)) name syntax)
isLockedBooleanWhether the card is locked and cannot be selected or edited in the client unless unlocked
isRemovedBooleanWhether the card has been soft-removed. (Can be restored or permanently removed by space users)
isTodoBooleanWhether the card has a checkbox (either completed [x] or uncompleted [])
linkToSpaceIdStringThe spaceId linked to in the card name
linkToCardIdStringThe cardId linked to in the card name. A card link will always also include linkToSpaceId (but not vice versa)
linkToSpaceCollaboratorKeyStringThe collaboratorKey used to invite someone to the space specified in linkToSpaceId. Indicates the the space has a space invite link
maxWidthIntegerSets the default maximum width before cards text starts wrapping
nameStringThe name of the card is its main text. Limited to 4000 characters
nameUpdatedAtStringThe date when the card name was last updated
nameUpdatedByUserIdStringThe user id that last updated the name of the card
resizeWidthIntegerThe width of a card that’s been manually resized by the user
shouldHideUrlPreviewImageBooleanWhether the card will display it’s url preview image
shouldHideUrlPreviewInfoBooleanWhether the card will display it’s url preview title and description
shouldUpdateUrlPreviewBooleanWhether the card should be checked for a url preview the next time it’s space is loaded in the kinopio-client app. This attribute is automatically assigned to cards created by /card POSTs
spaceIdStringThe space that the card belongs to
tiltIntegerThe amount a card is rotated in degrees. Default value is 0
updatedAtStringThe date when any changes in the card was made, including to it’s position. Use nameUpdatedAt instead to see when the card name was changed
urlIsVisibleBooleanWhether the url string is displayed on the card
urlPreviewDescriptionStringThe description displayed in the line of the url preview. Because most sites stuff their description tags with SEO gibberish, descriptions are only displayed for whitelisted domains. Contact support to add a domain to the whitelist.
urlPreviewErrorUrlStringThe last url that the preview failed on (could be a private or broken url). If this matches urlPreviewUrl, the url preview won’t be created
urlPreviewFaviconStringThe url for the url preview favicon image
urlPreviewImageStringThe url for the url preview image
urlPreviewIsVisibleBooleanWhether the card will display a url preview (aka link unfurl)
urlPreviewTitleStringThe title displayed in the url preview
urlPreviewUrlStringThe url that the card url preview is based on
urlPreviewEmbedHtmlStringDEPRECATED html embed code returned by iframely. Used to display url previews when available (like youtube videos). Html containing <script> tags is run inside an iframe.
urlPreviewIframeUrlStringIframe url returned by iframely. Used to display url previews when available (like youtube videos). Cannot be patched.
videoIsPausedBooleanWhether video file (mp4) playback in a card will be paused
widthIntegerThe reference width of the card. Used to generate space preview images
xIntegerThe x-axis position
yIntegerThe y-axis position
zIntegerThe z-axis position

Connections

Connections are lines that visually connect a startItemId to an endItemId.

Connection Routes

MethodPathDescriptionScope
GET/connection/
:connectionId
Get info on a connectionread
POST/connectionCreate connection(s) from object in request body. Object must contain spaceId and coloredit
PATCH/connectionUpdate connection(s) from object in request body. spaceId cannot be patched.edit
DELETE/connectionPermenently remove connection(s) speced in req bodydelete

Connection Attributes

NameTypeDescription
idStringThe unique ID of the connection. Is not user updateable
colorStringThe connection color
controlPointStringCustom control point for a connection path curve. q00,00 makes a straight line
createdAtStringThe date when the connection was created
directionIsVisibleBooleanThe connection has a directional arrow, in the direction of start card to end card
endItemIdStringThe card or box that the connection line ends at
labelIsVisibleBooleanThe connection has a connection label
labelRelativePositionXFloatLabel’s horizontal position relative to the DOM box of it’s parent connection. Is between 0 (max left) and 1 (max right). Default is 0.5 (middle)
labelRelativePositionYFloatLabel’s vertical position relative to the DOM box of it’s parent connection. Is between 0 (max top) and 1 (max bottom). Default is 0.5 (middle)
nameStringThe connection name, is displayed if labelIsVisible
pathStringSVG path that defines the connection line and its curve, e.g. ‘m524,138 q90,40 49,123’ is a quadratic bezier curve made up of origin XY, control point XY, and end XY points.
point1CardinalStringThe cardinal direction used to connect to the startItem. Possible values are north, south, west, east, northEast, southEast, southWest, northWest.
point2CardinalStringSame as point1Cardinal, but for connecting to the endItem
spaceIdStringThe space that the connection belongs to
startItemIdStringThe card or box that the connection line starts from
updatedAtStringThe date when any changes to the connection were made

Boxes

Boxes are items used by users to contain or organize cards in a space. They can be named, colored, and positioned

Box Routes

MethodPathDescriptionScope
GET/box/:boxIdGet info on a boxread
POST/boxCreate a box from object in request body. Object must contain spaceIdedit
PATCH/boxUpdate box from object in request bodyedit
DELETE/boxPermenently remove box, from object in request bodydelete

Box Attributes

NameTypeDescription
idStringThe unique ID of the connection. Is not user updateable
backgroundStringThe image url used by the box background
backgroundIsStretchBooleanWhether the box background image is stretched (default is false, to display images tiled)
colorStringThe color of the box
createdAtStringThe date when the box was created
headerFontIdIntegerAn id representing the header font of the box. Default value is 0 for Recoletta. Similar to card.headerFontId
headerFontSizeStringThe header font size of the box. Can be either s(small-size, default), m(medium-size), or l(large-size). Similar to card.headerFontSize
infoHeightStringThe reference height of the box info area. Used to generate space preview images
infoWidthStringThe reference width of the box info area. Used to generate space preview images
isLockedBooleanWhether the box is locked and cannot be selected or edited in the client unless unlocked
isTodoBooleanWhether the box has a checkbox (either completed [x] or uncompleted [])
fillStringThe fill type for the box. Possible values are filled, empty
nameStringThe name of the box
resizeHeightStringThe height of the box
resizeWidthStringThe width of the box
spaceIdStringThe space that the box belongs to
userIdStringThe user that created the box
updatedAtStringThe date when any changes were made to the box
xIntegerThe x-axis position of the box origin (top-left point)
yIntegerThe y-axis position of the box origin
zIntegerThe z-axis position

Lists

Lists are items used by users to vertically contain and organize Cardsin a space. They can be named, colored, and positioned. Cards that belong to lists have a listId, and listPositionIndex.

List Routes

MethodPathDescriptionScope
GET/list/:listIdGet info on a list, including cardsread
POST/listCreate a list from object in request body. Body object must contain spaceIdedit
PATCH/listUpdate list from object in request body. Body object must contain id and spaceIdedit

List Attributes

NameTypeDescription
idStringThe unique ID of the list. Is not user updateable
colorStringThe color of the list
createdAtStringThe date when the list was created
nameStringThe name of the list
heightStringThe rendered height of the list
frameIdIntegerThe id of type of frame applied to the list, if any
resizeWidthStringThe width of the list
shouldUpdateListBooleanWhether the list dimensions, and the positions of the cards inside it, should be updated the next time the space is loaded. This is set automatically when adding cards to a list via the API.
spaceIdStringThe space that the list belongs to
userIdStringThe user that created the list
updatedAtStringThe date when any changes were made to the list
xIntegerThe x-axis position of the list origin (top-left point)
yIntegerThe y-axis position of the list origin
zIntegerThe z-axis position

Tags

Each tag you add to a card is considered a seperate entity. So if you have multiple Cardswhich both have the tag [[balloon]] in their name, you’ll have multiple tag objects named 'balloon' with different cardIds.

Tags Routes

MethodPathDescriptionScope
GET/tag/:tagNameGet all tags with tagName in your Spacesread
GET/tag/by-card/:cardIdGet all tags in a Cardsread
PATCH/tag/colorChange the color of all tags with the name specified in request body. Object must contain name, coloredit

Tags Attributes

NameTypeDescription
idStringThe unique ID of the tag. Is not user updateable
cardIdStringThe card that the tag belongs to
colorStringTag color, displayed on a card
createdAtStringThe date when the tag was created
nameStringThe name of the tag
spaceIdStringThe space that the tag belongs to
updatedAtStringThe date when any changes were made to the tag
userIdStringThe user who created the tag

Notifications

Notifications are created when another user adds a card in a space that you’re a member and not currently viewing. The notifying user can be either a space collaborator, or anyone viewing an open space.

Notifications Routes

MethodPathDescriptionScope
GET/notificationGet the last 50 notifications for the current userread

Notifications Attributes

NameTypeDescription
idStringThe unique ID of the notification. Is not user updateable
cardObjectBasic information about the Card id, name
cardIdStringThe card that the notification involves
createdAtStringThe date when the notification was created
isEmailedBooleanHas the notification been emailed to the recipient. Emails are only sent if user.shouldEmailNotifications = true
isReadBooleanHas the notification been read by the recipient in Kinopio
recipientUserIdStringThe user that’ll receive the notification
spaceObjectBasic information about the Space id, name, privacy, background
spaceIdStringThe space that the notification involves
typeStringThe action that created the notification (e.g. addCard)
userObjectBasic information about the User id, name, color
userIdStringThe user that created the notification
updatedAtStringThe date when any changes were made to the notification

Other

Other routes used by the kinopio-client app, which you can also use in your integrations

other Routes

MethodPathDescriptionScope
GET/affiliatereturns affiliate info, promo url, commissions earned, and pending payoutread
GET/services/community-backgroundsLists the space background images aded to the are.na channel
GET/meta/dateCurrent time/timezone of kinopio-server
GET/meta/changelogLists recent Kinopio new feature updates
GET/meta/emojisList of unicode emojis for the emoji picker
GET/meta/random-namereturns a random word space name – based on the logic formerly used to generate space names