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.

Authentication

Kinopio uses token-based authentication using your user apiKey. You can get your apiKey in the app through User → Settings → Account → API.

Use your apiKey in the Authorization header of each request.

🙈 Your API key carries the same privileges as your user account, so be sure to keep it secret!

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.

Routes and Attributes by Item Type

All

https://api.kinopio.club is the base path for all routes

MethodNameDescriptionAuth
GET/Confirm that the API server is onlineNone

Users

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

User Routes

Routes with Auth as apiKey mean that the Authorization header apiKey must match the requested user.

MethodPathDescriptionAuth
GET/user/public/:userIdGets public info on a userNone
GET/user/public/explore-spaces/:userIdThe a list of spaces with showInExplore: true created by the userNone
GET/user/hidden-spacesGet hidden spaces for the authenticating userapiKey
GET/user/public/multiple?userIds=id1,id2Gets public info for multiple userIds, up to 60 userIds at a timeNone
GET/userGet all info on the authenticating userapiKey
GET/user/favorite-spacesGet favorite spaces for the authenticating user. Favorited spaces which have unread updates will have isEdited: trueapiKey
GET/user/favorite-usersGet favorite users for the authenticating userapiKey
GET/user/favorite-colorsGet favorite colors for the authenticating userapiKey
GET/user/spacesGet a list of the user’s Spaces. Use /user/group-spaces for spaces created by other members of groups they belong toapiKey
GET/user/groupsGet a list of the user’s groups. Their role in each group (member or admin) is inside the groupUser objectapiKey
GET/user/group-spacesGet a list of the user’s group Spaces created by other members of groups they belong toapiKey
GET/user/template-spacesGet a list of the user’s template Spaces. These include template spaces you made or are a collaborator inapiKey
GET/user/removed-spacesGet Spaces removed by the authenticating userapiKey
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 returnedapiKey
GET/user/tagsGet a list of the last edited Tags in your spacesapiKey
GET/user/todosGet todo cards and boxes (item names start with [], [ ], or [x]), grouped by spaceapiKey
PATCH/userUpdate the user based on an object body with updated user attributes. You can’t patch apiKey, password, emailIsVerified, or emailapiKey

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
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
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, todos, note. 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
groupsJSON ArrayThe groups a user belongs to, including public metadata on the other users in each group
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

Routes with Auth canViewSpace or canEditSpace requires that your Authorization apiKey belongs to a user with the permission to view or edit the space.

The closed privacy state refers to Public Read Only.

MethodPathDescriptionAuth
GET/space/:spaceIdGet info on a space by id. Use ?textOnly=true for card names onlycanViewSpace
GET/space/:spaceId/public-metaGet public space info on non-private spacesNone
GET/space/:spaceId/favoritesGet a list of users who have favorited the spaceIdNone
GET/space/:spaceId/feed.jsonRSS feed for cards recently created or updated in a space. Use ?apiKey= for private spacescanViewSpace
GET/space/:spaceId/
removedCards
Get Cards removed in a spacecanEditSpace
GET/space/explore-spacesGet a list of recently updated public spaces which have been added to Explore. Sorted by date showInExploreUpdatedAtNone
GET/space/explore-spaces/feed.jsonRSS feed for new spaces added to ExploreNone
GET/space/live-spacesGet a list of currently being edited spaces which are open or closedNone
GET/space/multiple?spaceIds=id1,id2Get info on multiple spaces, up to 60 spaceIds at a timecanViewSpace
GET/space/public/multiple?spaceIds=id1,id2Gets public info for multiple public spaces, up to 60 spaceIds at a time. None
GET/space/inboxGet the current user’s inbox spaceapiKey
GET/space/everyones-spacesGet a list of recent public spaces sorted by date createdAtNone
GET/space/everyones-spaces/feed.jsonRSS feed for recent public spacesNone
GET/space/date-imageGet the image url for today’s date card imageNone
POST/spaceCreate a new space(s) from object(s) in request body. The owner will be the apiKey userapiKey
POST/space/search-explore-spaceGet all showInExplore spaces based on space name. Body object must contain query. Searches are not case-insensitiveNone
PATCH/spaceUpdate space(s) from object(s) in request bodycanEditSpace
PATCH/space/restoreRestore removed space(s) from object(s) in request bodycanEditSpace
DELETE/spaceRemove space(s) specified in request bodycanEditSpace
DELETE/space/permanentPermanently remove space(s) specified in request bodycanEditSpace
DELETE/space/collaboratorRemoves collaborator user from space. Request Body Keys: spaceId, userIdcanEditSpace

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 and a name.

Cards Routes

Routes with Auth canEditSpace requires that your Authorization apiKey belongs to a user with the permission to edit the space that the card belongs to.

MethodPathDescriptionAuth
GET/card/:cardIdGet info on a cardcanViewSpace
GET/card/multiple?cardIds=id1,id2Get info on multiple cards, up to 60 cardIds at a timecanViewSpace
GET/card/by-tag-name/:tagNameGet all cards with tag matching tagName in your SpacesapiKey
GET/card/by-link-to-space/:spaceIdGet the cards and Spaces where linkToSpaceId is spaceId. Will only return spaces that the user can viewapiKey and canViewSpace
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-insensitiveapiKey
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 overlapscanEditSpace
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 /cardcanEditSpace
POST/card/multipleCreates multiple cards from an array of objects in request body. Works just like POST /cardcanEditSpace
POST/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 listcanEditSpace
PATCH/cardUpdate card from object in request body. Body object must contain id. spaceId cannot be patchedcanEditSpace
PATCH/card/multipleUpdates multiple cards from an array of objects in request body. Works just like PATCH /cardcanEditSpace
PATCH/card/update-counterIncrement or decrement a card counter for voting. Body object must contain cardId, and either shouldIncrement: true or shouldDecrement: trueNone
PATCH/card/restoreRestore removed card specified in bodycanEditSpace
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.canEditSpace
DELETE/cardRemove card specified in bodycanEditSpace
DELETE/card/permanentPermanently remove card specified in bodycanEditSpace

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
maxWidthBooleanSets 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
widthStringThe 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 the lines that connect cards together.

Connection Routes

Routes with Auth canEditSpace requires that your Authorization apiKey belongs to a user with the permission to edit the space that the connection belongs to.

MethodPathDescriptionAuth
GET/connection/
:connectionId
Get info on a connectionNone
POST/connectionCreate connection(s) from object in request body. Object must contain spaceId and colorcanEditSpace
PATCH/connectionUpdate connection(s) from object in request body. spaceId cannot be patched.canEditSpace
DELETE/connectionPermenently remove connection(s) speced in req bodycanEditSpace

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

Routes with Auth canEditSpace requires that your Authorization apiKey belongs to a user with the permission to edit the space that the box belongs to.

MethodPathDescriptionAuth
GET/box/:boxIdGet info on a boxcanViewSpace
POST/boxCreate a box from object in request body. Object must contain spaceIdcanEditSpace
PATCH/boxUpdate box from object in request bodycanEditSpace
DELETE/boxPermenently remove box, from object in request bodycanEditSpace

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 cards in a space. They can be named, colored, and positioned. Cards that belong to lists have a listId, and listPositionIndex.

List Routes

Routes with Auth canEditSpace requires that your Authorization apiKey belongs to a user with the permission to edit the space that the list belongs to.

MethodPathDescriptionAuth
GET/list/:listIdGet info on a list, including cardscanViewSpace
POST/listCreate a list from object in request body. Body object must contain spaceIdcanEditSpace
PATCH/listUpdate list from object in request body. Body object must contain id and spaceIdcanEditSpace
DELETE/list/Permenently remove list in request body. Body object must contain id and spaceIdcanEditSpace

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 two cards which both have the tag [[balloon]], this is two tag entities both named ‘balloon’, with different cardIds.

Tags Routes

Routes with Auth canEditSpace requires that your Authorization apiKey belongs to a user with the permission to edit the space that the tag belongs to.

MethodPathDescriptionAuth
GET/tags/:tagNameGet all tags with tagName in your SpacesapiKey
GET/tags/by-card/:cardIdGet all tags in a CardsapiKey
PATCH/tags/colorChange the color of all tags with the name specified in request body. Object must contain name, colorapiKey

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

Routes with Auth as apiKey mean that the Authorization header apiKey must match the requested user.

MethodPathDescriptionAuth
GET/notificationsGet the last 50 notifications for the current userapiKey

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

MethodPathDescriptionAuth
GET/affiliatereturns affiliate info, promo url, commissions earned, and pending payoutAffiliateUser
GET/services/community-backgroundsLists the space background images aded to the are.na channelNone
GET/meta/dateCurrent time/timezone of kinopio-serverNone
GET/meta/changelogLists recent Kinopio new feature updatesNone
GET/meta/emojisList of unicode emojis for the emoji pickerNone
GET/meta/random-namereturns a random word space name – based on the logic formerly used to generate space namesNone