@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Trello REST API
@base https://api.trello.com/1
@version 0.0.1
@auth ApiKey key in query | ApiKey token in query
@endpoints 256
@hint download_for_search
@toc actions(16), applications(1), batch(1), boards(36), cards(42), checklists(12), customFields(8), emoji(1), enterprises(21), labels(5), lists(11), members(45), notifications(11), organizations(26), plugins(5), search(2), tokens(8), webhooks(5)

@group actions
@endpoint GET /actions/{id}
@optional {display: bool=true, entities: bool=false, fields: str=all, member: bool=true, member_fields: str=avatarHash,fullName,initials,username, memberCreator: bool=true, memberCreator_fields: str=avatarHash,fullName,initials,username}
@returns(200)

@endpoint PUT /actions/{id}
@required {text: str}
@returns(200)

@endpoint DELETE /actions/{id}
@returns(200)

@endpoint GET /actions/{id}/{field}
@required {id: str, field: str}
@returns(200) {id: str, idMemberCreator: str, data: map{text: str, card: map{id: str, name: str, idShort: int, shortLink: str}, board: map{id: str, name: str, shortLink: str}, list: map{id: str, name: str}}, type: str, date: str(date-time), limits: map{reactions: map{perAction: map{status: str, disableAt: num, warnAt: num}, uniquePerAction: map{status: str, disableAt: num, warnAt: num}}}, display: map{translationKey: str, entities: map{contextOn: map{type: str, translationKey: str, hideIfContext: bool, idContext: str}, card: map{type: str, hideIfContext: bool, id: str, shortLink: str, text: str}, comment: map{type: str, text: str}, memberCreator: map{type: str, id: str, username: str, text: str}}}, memberCreator: map{id: str, activityBlocked: bool, avatarHash: str, avatarUrl: str(url), fullName: str, idMemberReferrer: str, initials: str, username: str}}

@endpoint GET /actions/{id}/board
@required {id: str}
@optional {fields: str}
@returns(200) {id: str, name: str, desc: str, descData: str, closed: bool, idMemberCreator: str, idOrganization: str, pinned: bool, url: str(url), shortUrl: str(url), prefs: map{permissionLevel: str, hideVotes: bool, voting: str, comments: str, invitations: any, selfJoin: bool, cardCovers: bool, isTemplate: bool, cardAging: str, calendarFeedEnabled: bool, background: str, backgroundImage: str(uri), backgroundImageScaled: [map], backgroundTile: bool, backgroundBrightness: str, backgroundBottomColor: str, backgroundTopColor: str, canBePublic: bool, canBeEnterprise: bool, canBeOrg: bool, canBePrivate: bool, canInvite: bool}, labelNames: map{green: str, yellow: str, orange: str, red: str, purple: str, blue: str, sky: str, lime: str, pink: str, black: str}, limits: map{attachments: map{perBoard: map{status: str, disableAt: num, warnAt: num}}}, starred: bool, memberships: str, shortLink: str, subscribed: bool, powerUps: str, dateLastActivity: str(date), dateLastView: str(date), idTags: str, datePluginDisable: str(date)?, creationMethod: str?, ixUpdate: int, templateGallery: str?, enterpriseOwned: bool}

@endpoint GET /actions/{id}/card
@required {id: str}
@optional {fields: str=all}
@returns(200) {id: str, address: str?, badges: map{attachmentsByType: map{trello: map{board: num, card: num}}, location: bool, votes: int, viewingMemberVoted: bool, subscribed: bool, fogbugz: str, checkItems: int, checkItemsChecked: int, comments: int, attachments: int, description: bool, due: str(date)?, start: str(date)?, dueComplete: bool}, cardRole: str?, checkItemStates: [any], closed: bool, coordinates: str?, creationMethod: str?, dateLastActivity: str(date-time), desc: str, descData: map{emoji: map}, due: str(date)?, dueReminder: str?, idBoard: str, idChecklists: [any], idLabels: [any], idList: str, idMembers: [any], idMembersVoted: [any], idShort: int, idAttachmentCover: str, labels: [any], limits: map{attachments: map{perBoard: map{status: str, disableAt: num, warnAt: num}}}, locationName: str?, manualCoverAttachment: bool, mirrorSourceId: str, name: str, pos: num(float), shortLink: str, shortUrl: str(url), subscribed: bool, url: str(url), cover: map{idAttachment: str, color: str?, idUploadedBackground: bool?, size: str, brightness: str, isTemplate: bool}}

@endpoint GET /actions/{id}/list
@required {id: str}
@optional {fields: str=all}
@returns(200) {id: str, name: str, closed: bool, pos: num, softLimit: str, idBoard: str, subscribed: bool, limits: map{attachments: map{perBoard: map{status: str, disableAt: num, warnAt: num}}}}

@endpoint GET /actions/{id}/member
@required {id: str}
@optional {fields: str=all}
@returns(200) {id: str, activityBlocked: bool, avatarHash: str, avatarUrl: str(url), bio: str, bioData: map{emoji: map}, confirmed: bool, fullName: str, idEnterprise: str, idEnterprisesDeactivated: [str], idMemberReferrer: str, idPremOrgsAdmin: [str], initials: str, memberType: str, nonPublic: map{fullName: str, initials: str, avatarUrl: str(url), avatarHash: str}, nonPublicAvailable: bool, products: [int], url: str(url), username: str, status: str, aaEmail: str(email)?, aaEnrolledDate: str?, aaId: str?, avatarSource: str, email: str, gravatarHash: str, idBoards: [str], idOrganizations: [str], idEnterprisesAdmin: [str], limits: map{status: str, disableAt: num, warnAt: num}, loginTypes: [str], marketingOptIn: map{optedIn: bool, date: str(date)}, messagesDismissed: map{name: str, count: str, lastDismissed: str(date), _id: str}, oneTimeMessagesDismissed: [str], prefs: map{timezoneInfo: map{offsetCurrent: int, timezoneCurrent: str, offsetNext: int, dateNext: str(date), timezoneNext: str}, privacy: map{fullName: str, avatar: str}, sendSummaries: bool, minutesBetweenSummaries: int, minutesBeforeDeadlineToNotify: int, colorBlind: bool, locale: str, timezone: str, twoFactor: map{enabled: bool, needsNewBackups: bool}}, trophies: [str], uploadedAvatarHash: str, uploadedAvatarUrl: str(url), premiumFeatures: [str], isAaMastered: bool, ixUpdate: num, idBoardsPinned: [str]?}

@endpoint GET /actions/{id}/memberCreator
@required {id: str}
@optional {fields: str=all}
@returns(200) {id: str, activityBlocked: bool, avatarHash: str, avatarUrl: str(url), bio: str, bioData: map{emoji: map}, confirmed: bool, fullName: str, idEnterprise: str, idEnterprisesDeactivated: [str], idMemberReferrer: str, idPremOrgsAdmin: [str], initials: str, memberType: str, nonPublic: map{fullName: str, initials: str, avatarUrl: str(url), avatarHash: str}, nonPublicAvailable: bool, products: [int], url: str(url), username: str, status: str, aaEmail: str(email)?, aaEnrolledDate: str?, aaId: str?, avatarSource: str, email: str, gravatarHash: str, idBoards: [str], idOrganizations: [str], idEnterprisesAdmin: [str], limits: map{status: str, disableAt: num, warnAt: num}, loginTypes: [str], marketingOptIn: map{optedIn: bool, date: str(date)}, messagesDismissed: map{name: str, count: str, lastDismissed: str(date), _id: str}, oneTimeMessagesDismissed: [str], prefs: map{timezoneInfo: map{offsetCurrent: int, timezoneCurrent: str, offsetNext: int, dateNext: str(date), timezoneNext: str}, privacy: map{fullName: str, avatar: str}, sendSummaries: bool, minutesBetweenSummaries: int, minutesBeforeDeadlineToNotify: int, colorBlind: bool, locale: str, timezone: str, twoFactor: map{enabled: bool, needsNewBackups: bool}}, trophies: [str], uploadedAvatarHash: str, uploadedAvatarUrl: str(url), premiumFeatures: [str], isAaMastered: bool, ixUpdate: num, idBoardsPinned: [str]?}

@endpoint GET /actions/{id}/organization
@required {id: str}
@optional {fields: str=all}
@returns(200) {id: str, name: str, displayName: str, dateLastActivity: str(date), prefs: map{boardVisibilityRestrict: map, boardDeleteRestrict: map, attachmentRestrictions: [str], permissionLevel: str}, idEnterprise: str, offering: str, url: str(url), idBoards: [str], memberships: [str], premiumFeatures: [str]}

@endpoint PUT /actions/{id}/text
@required {id: str, value: str}
@returns(200)

@endpoint GET /actions/{idAction}/reactions
@optional {member: bool=true, emoji: bool=true}
@returns(200)

@endpoint POST /actions/{idAction}/reactions
@optional {shortName: str, skinVariation: str, native: str, unified: str}
@returns(200)

@endpoint GET /actions/{idAction}/reactions/{id}
@optional {member: bool=true, emoji: bool=true}
@returns(200)

@endpoint DELETE /actions/{idAction}/reactions/{id}
@returns(200)

@endpoint GET /actions/{idAction}/reactionsSummary
@required {idAction: str}
@returns(200)

@endgroup

@group applications
@endpoint GET /applications/{key}/compliance
@returns(200)

@endgroup

@group batch
@endpoint GET /batch
@required {urls: str}
@returns(200)

@endgroup

@group boards
@endpoint GET /boards/{id}/memberships
@required {id: str}
@optional {filter: str(admins/all/none/normal)=all, activity: bool=false, orgMemberType: bool=false, member: bool=false, member_fields: str=fullname,username}
@returns(200) {id: str}

@endpoint GET /boards/{id}
@optional {actions: str=all, boardStars: str=none, cards: str=none, card_pluginData: bool=false, checklists: str=none, customFields: bool=false, fields: str=name,desc,descData,closed,idOrganization,pinned,url,shortUrl,prefs,labelNames, labels: str, lists: str=open, members: str=none, memberships: str=none, pluginData: bool=false, organization: bool=false, organization_pluginData: bool=false, myPrefs: bool=false, tags: bool=false}
@returns(200) {id: str, name: str, desc: str, descData: str, closed: bool, idMemberCreator: str, idOrganization: str, pinned: bool, url: str(url), shortUrl: str(url), prefs: map{permissionLevel: str, hideVotes: bool, voting: str, comments: str, invitations: any, selfJoin: bool, cardCovers: bool, isTemplate: bool, cardAging: str, calendarFeedEnabled: bool, background: str, backgroundImage: str(uri), backgroundImageScaled: [map], backgroundTile: bool, backgroundBrightness: str, backgroundBottomColor: str, backgroundTopColor: str, canBePublic: bool, canBeEnterprise: bool, canBeOrg: bool, canBePrivate: bool, canInvite: bool}, labelNames: map{green: str, yellow: str, orange: str, red: str, purple: str, blue: str, sky: str, lime: str, pink: str, black: str}, limits: map{attachments: map{perBoard: map{status: str, disableAt: num, warnAt: num}}}, starred: bool, memberships: str, shortLink: str, subscribed: bool, powerUps: str, dateLastActivity: str(date), dateLastView: str(date), idTags: str, datePluginDisable: str(date)?, creationMethod: str?, ixUpdate: int, templateGallery: str?, enterpriseOwned: bool}
@errors {401, 404}

@endpoint PUT /boards/{id}
@optional {name: str, desc: str, closed: bool, subscribed: str, idOrganization: str, prefs/permissionLevel: str, prefs/selfJoin: bool, prefs/cardCovers: bool, prefs/hideVotes: bool, prefs/invitations: str, prefs/voting: str, prefs/comments: str, prefs/background: str, prefs/cardAging: str, prefs/calendarFeedEnabled: bool}
@returns(200)

@endpoint DELETE /boards/{id}
@required {id: str}
@returns(200)

@endpoint GET /boards/{id}/{field}
@required {id: str, field: str}
@returns(200)

@endpoint GET /boards/{boardId}/actions
@required {boardId: str}
@optional {fields: map, filter: str, format: str=list, idModels: str, limit: num=50, member: bool=true, member_fields: str=activityBlocked,avatarHash,avatarUrl,fullName,idMemberReferrer,initials,nonPublic,nonPublicAvailable,username, memberCreator: bool=true, memberCreator_fields: str=activityBlocked,avatarHash,avatarUrl,fullName,idMemberReferrer,initials,nonPublic,nonPublicAvailable,username, page: num=0, reactions: bool, before: str, since: str}
@returns(200)

@endpoint GET /boards/{boardId}/boardStars
@required {boardId: str}
@optional {filter: str=mine}
@returns(200)

@endpoint GET /boards/{id}/checklists
@required {id: str}
@returns(200)

@endpoint GET /boards/{id}/cards
@required {id: str}
@returns(200)

@endpoint GET /boards/{id}/cards/{filter}
@required {id: str, filter: str(all/closed/complete/incomplete/none/open/visible)}
@returns(200)

@endpoint GET /boards/{id}/customFields
@required {id: str}
@returns(200)

@endpoint GET /boards/{id}/labels
@required {id: str}
@optional {fields: map, limit: int(int32)=50}
@returns(200)

@endpoint POST /boards/{id}/labels
@required {id: str, name: str, color: str}
@returns(200)

@endpoint GET /boards/{id}/lists
@optional {cards: str, card_fields: str=all, filter: str, fields: str=all}
@returns(200)

@endpoint POST /boards/{id}/lists
@required {name: str}
@optional {pos: str=top}
@returns(200) {id: str, name: str, closed: bool, pos: num, softLimit: str, idBoard: str, subscribed: bool, limits: map{attachments: map{perBoard: map{status: str, disableAt: num, warnAt: num}}}}

@endpoint GET /boards/{id}/lists/{filter}
@required {id: str, filter: str}
@returns(200)

@endpoint GET /boards/{id}/members
@returns(200)

@endpoint PUT /boards/{id}/members
@required {email: str(email)}
@optional {type: str(admin/normal/observer)=normal, fullName: str}
@returns(200)

@endpoint PUT /boards/{id}/members/{idMember}
@required {type: str(admin/normal/observer)}
@optional {allowBillableGuest: bool=false}
@returns(200)

@endpoint DELETE /boards/{id}/members/{idMember}
@returns(200)

@endpoint PUT /boards/{id}/memberships/{idMembership}
@required {id: str, idMembership: str, type: str(admin/normal/observer)}
@optional {member_fields: str(all/avatarHash/bio/bioData/confirmed/fullName/idPremOrgsAdmin/initials/memberType/products/status/url/username)=fullName, username}
@returns(200)

@endpoint PUT /boards/{id}/myPrefs/emailPosition
@required {id: str, value: str(bottom/top)}
@returns(200)

@endpoint PUT /boards/{id}/myPrefs/idEmailList
@required {id: str, value: str}
@returns(200)

@endpoint PUT /boards/{id}/myPrefs/showSidebar
@required {id: str, value: bool}
@returns(200)

@endpoint PUT /boards/{id}/myPrefs/showSidebarActivity
@required {id: str, value: bool}
@returns(200)

@endpoint PUT /boards/{id}/myPrefs/showSidebarBoardActions
@required {id: str, value: bool}
@returns(200)

@endpoint PUT /boards/{id}/myPrefs/showSidebarMembers
@required {id: str, value: bool}
@returns(200)

@endpoint POST /boards/
@required {name: str}
@optional {defaultLabels: bool=true, defaultLists: bool=true, desc: str, idOrganization: str, idBoardSource: str, keepFromSource: str(cards/none)=none, powerUps: str(all/calendar/cardAging/recap/voting), prefs_permissionLevel: str(org/private/public)=private, prefs_voting: str(disabled/members/observers/org/public)=disabled, prefs_comments: str(disabled/members/observers/org/public)=members, prefs_invitations: str(members/admins)=members, prefs_selfJoin: bool=true, prefs_cardCovers: bool=true, prefs_background: str(blue/orange/green/red/purple/pink/lime/sky/grey)=blue, prefs_cardAging: str(pirate/regular)=regular}
@returns(200)

@endpoint POST /boards/{id}/calendarKey/generate
@required {id: str}
@returns(200)

@endpoint POST /boards/{id}/emailKey/generate
@required {id: str}
@returns(200)

@endpoint POST /boards/{id}/idTags
@required {id: str, value: str}
@returns(200)

@endpoint POST /boards/{id}/markedAsViewed
@required {id: str}
@returns(200)

@endpoint GET /boards/{id}/boardPlugins
@returns(200)

@endpoint POST /boards/{id}/boardPlugins
@optional {idPlugin: str}
@returns(200)

@endpoint DELETE /boards/{id}/boardPlugins/{idPlugin}
@required {id: str, idPlugin: str}
@returns(200)

@endpoint GET /boards/{id}/plugins
@required {id: str}
@optional {filter: str(enabled/available)=enabled}
@returns(200) {id: str}

@endgroup

@group cards
@endpoint POST /cards
@required {idList: str}
@optional {name: str, desc: str, pos: any, due: str(date), start: str(date), dueComplete: bool, idMembers: [any], idLabels: [any], urlSource: str(url), fileSource: str(binary), mimeType: str, idCardSource: str, keepFromSource: str(all/attachments/checklists/comments/customFields/due/start/labels/members/start/stickers)=all, address: str, locationName: str, coordinates: str, cardRole: str(separator/board/mirror/link)}
@returns(200) {id: str, address: str?, badges: map{attachmentsByType: map{trello: map{board: num, card: num}}, location: bool, votes: int, viewingMemberVoted: bool, subscribed: bool, fogbugz: str, checkItems: int, checkItemsChecked: int, comments: int, attachments: int, description: bool, due: str(date)?, start: str(date)?, dueComplete: bool}, cardRole: str?, checkItemStates: [any], closed: bool, coordinates: str?, creationMethod: str?, dateLastActivity: str(date-time), desc: str, descData: map{emoji: map}, due: str(date)?, dueReminder: str?, idBoard: str, idChecklists: [any], idLabels: [any], idList: str, idMembers: [any], idMembersVoted: [any], idShort: int, idAttachmentCover: str, labels: [any], limits: map{attachments: map{perBoard: map{status: str, disableAt: num, warnAt: num}}}, locationName: str?, manualCoverAttachment: bool, mirrorSourceId: str, name: str, pos: num(float), shortLink: str, shortUrl: str(url), subscribed: bool, url: str(url), cover: map{idAttachment: str, color: str?, idUploadedBackground: bool?, size: str, brightness: str, isTemplate: bool}}

@endpoint GET /cards/{id}
@optional {fields: str, actions: str, attachments: str=false, attachment_fields: str=all, members: bool=false, member_fields: str, membersVoted: bool=false, memberVoted_fields: str, checkItemStates: bool=false, checklists: str=none, checklist_fields: str=all, board: bool=false, board_fields: str, list: bool=false, pluginData: bool=false, stickers: bool=false, sticker_fields: str=all, customFieldItems: bool=false}
@returns(200) {id: str, address: str?, badges: map{attachmentsByType: map{trello: map{board: num, card: num}}, location: bool, votes: int, viewingMemberVoted: bool, subscribed: bool, fogbugz: str, checkItems: int, checkItemsChecked: int, comments: int, attachments: int, description: bool, due: str(date)?, start: str(date)?, dueComplete: bool}, cardRole: str?, checkItemStates: [any], closed: bool, coordinates: str?, creationMethod: str?, dateLastActivity: str(date-time), desc: str, descData: map{emoji: map}, due: str(date)?, dueReminder: str?, idBoard: str, idChecklists: [any], idLabels: [any], idList: str, idMembers: [any], idMembersVoted: [any], idShort: int, idAttachmentCover: str, labels: [any], limits: map{attachments: map{perBoard: map{status: str, disableAt: num, warnAt: num}}}, locationName: str?, manualCoverAttachment: bool, mirrorSourceId: str, name: str, pos: num(float), shortLink: str, shortUrl: str(url), subscribed: bool, url: str(url), cover: map{idAttachment: str, color: str?, idUploadedBackground: bool?, size: str, brightness: str, isTemplate: bool}}

@endpoint PUT /cards/{id}
@optional {name: str, desc: str, closed: bool, idMembers: str, idAttachmentCover: str, idList: str, idLabels: str, idBoard: str, pos: any, due: str(date), start: str(date), dueComplete: bool, subscribed: bool, address: str, locationName: str, coordinates: str, cover: map}
@returns(200) {id: str, address: str?, badges: map{attachmentsByType: map{trello: map{board: num, card: num}}, location: bool, votes: int, viewingMemberVoted: bool, subscribed: bool, fogbugz: str, checkItems: int, checkItemsChecked: int, comments: int, attachments: int, description: bool, due: str(date)?, start: str(date)?, dueComplete: bool}, cardRole: str?, checkItemStates: [any], closed: bool, coordinates: str?, creationMethod: str?, dateLastActivity: str(date-time), desc: str, descData: map{emoji: map}, due: str(date)?, dueReminder: str?, idBoard: str, idChecklists: [any], idLabels: [any], idList: str, idMembers: [any], idMembersVoted: [any], idShort: int, idAttachmentCover: str, labels: [any], limits: map{attachments: map{perBoard: map{status: str, disableAt: num, warnAt: num}}}, locationName: str?, manualCoverAttachment: bool, mirrorSourceId: str, name: str, pos: num(float), shortLink: str, shortUrl: str(url), subscribed: bool, url: str(url), cover: map{idAttachment: str, color: str?, idUploadedBackground: bool?, size: str, brightness: str, isTemplate: bool}}

@endpoint DELETE /cards/{id}
@returns(200)

@endpoint GET /cards/{id}/{field}
@required {id: str, field: str}
@returns(200) {id: str, address: str?, badges: map{attachmentsByType: map{trello: map{board: num, card: num}}, location: bool, votes: int, viewingMemberVoted: bool, subscribed: bool, fogbugz: str, checkItems: int, checkItemsChecked: int, comments: int, attachments: int, description: bool, due: str(date)?, start: str(date)?, dueComplete: bool}, cardRole: str?, checkItemStates: [any], closed: bool, coordinates: str?, creationMethod: str?, dateLastActivity: str(date-time), desc: str, descData: map{emoji: map}, due: str(date)?, dueReminder: str?, idBoard: str, idChecklists: [any], idLabels: [any], idList: str, idMembers: [any], idMembersVoted: [any], idShort: int, idAttachmentCover: str, labels: [any], limits: map{attachments: map{perBoard: map{status: str, disableAt: num, warnAt: num}}}, locationName: str?, manualCoverAttachment: bool, mirrorSourceId: str, name: str, pos: num(float), shortLink: str, shortUrl: str(url), subscribed: bool, url: str(url), cover: map{idAttachment: str, color: str?, idUploadedBackground: bool?, size: str, brightness: str, isTemplate: bool}}

@endpoint GET /cards/{id}/actions
@required {id: str}
@optional {filter: str=commentCard, updateCard:idList, page: num=0}
@returns(200)

@endpoint GET /cards/{id}/attachments
@optional {fields: str=all, filter: str=false}
@returns(200)

@endpoint POST /cards/{id}/attachments
@optional {name: str, file: str(binary), mimeType: str, url: str, setCover: bool=false}
@returns(200)

@endpoint GET /cards/{id}/attachments/{idAttachment}
@optional {fields: [any]=all}
@returns(200)

@endpoint DELETE /cards/{id}/attachments/{idAttachment}
@required {id: str, idAttachment: str}
@returns(200)

@endpoint GET /cards/{id}/board
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endpoint GET /cards/{id}/checkItemStates
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endpoint GET /cards/{id}/checklists
@required {id: str}
@optional {checkItems: str(all/none)=all, checkItem_fields: str(name/nameData/pos/state/type/due/dueReminder/idMember)=name,nameData,pos,state,due,dueReminder,idMember, filter: str(all/none)=all, fields: str(all/name/nameData/pos/state/type)=all}
@returns(200)

@endpoint POST /cards/{id}/checklists
@required {id: str}
@optional {name: str, idChecklistSource: str, pos: str}
@returns(200)

@endpoint GET /cards/{id}/checkItem/{idCheckItem}
@optional {fields: str=name,nameData,pos,state,due,dueReminder,idMember}
@returns(200)

@endpoint PUT /cards/{id}/checkItem/{idCheckItem}
@optional {name: str, state: str(complete/incomplete), idChecklist: str, pos: any, due: str(date), dueReminder: num, idMember: str}
@returns(200)

@endpoint DELETE /cards/{id}/checkItem/{idCheckItem}
@returns(200)

@endpoint GET /cards/{id}/list
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endpoint GET /cards/{id}/members
@required {id: str}
@optional {fields: str=avatarHash,fullName,initials,username}
@returns(200)

@endpoint GET /cards/{id}/membersVoted
@optional {fields: str=avatarHash,fullName,initials,username}
@returns(200)

@endpoint POST /cards/{id}/membersVoted
@required {value: str}
@returns(200)

@endpoint GET /cards/{id}/pluginData
@required {id: str}
@returns(200)

@endpoint GET /cards/{id}/stickers
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endpoint POST /cards/{id}/stickers
@required {image: str, top: num(float), left: num(float), zIndex: int}
@optional {rotate: num(float)=0}
@returns(200)

@endpoint GET /cards/{id}/stickers/{idSticker}
@optional {fields: str=all}
@returns(200)

@endpoint DELETE /cards/{id}/stickers/{idSticker}
@returns(200)

@endpoint PUT /cards/{id}/stickers/{idSticker}
@required {top: num(float), left: num(float), zIndex: int}
@optional {rotate: num(float)=0}
@returns(200)

@endpoint PUT /cards/{id}/actions/{idAction}/comments
@required {text: str}
@returns(200)

@endpoint DELETE /cards/{id}/actions/{idAction}/comments
@returns(200)

@endpoint PUT /cards/{idCard}/customField/{idCustomField}/item
@required {idCard: str, idCustomField: str}
@returns(200)

@endpoint PUT /cards/{idCard}/customFields
@optional {customFieldItems: [map{idCustomField: any, value: map, idValue: any}]}
@returns(200)

@endpoint GET /cards/{id}/customFieldItems
@required {id: str}
@returns(200)

@endpoint POST /cards/{id}/actions/comments
@required {id: str, text: str}
@returns(200) {id: str, idMemberCreator: str, data: map{text: str, card: map{id: str, name: str, idShort: int, shortLink: str}, board: map{id: str, name: str, shortLink: str}, list: map{id: str, name: str}}, type: str, date: str(date-time), limits: map{reactions: map{perAction: map{status: str, disableAt: num, warnAt: num}, uniquePerAction: map{status: str, disableAt: num, warnAt: num}}}, display: map{translationKey: str, entities: map{contextOn: map{type: str, translationKey: str, hideIfContext: bool, idContext: str}, card: map{type: str, hideIfContext: bool, id: str, shortLink: str, text: str}, comment: map{type: str, text: str}, memberCreator: map{type: str, id: str, username: str, text: str}}}, memberCreator: map{id: str, activityBlocked: bool, avatarHash: str, avatarUrl: str(url), fullName: str, idMemberReferrer: str, initials: str, username: str}}

@endpoint POST /cards/{id}/idLabels
@required {id: str}
@optional {value: str}
@returns(200)

@endpoint POST /cards/{id}/idMembers
@required {id: str}
@optional {value: str}
@returns(200)

@endpoint POST /cards/{id}/labels
@required {id: str, color: str}
@optional {name: str}
@returns(200)

@endpoint POST /cards/{id}/markAssociatedNotificationsRead
@required {id: str}
@returns(200)

@endpoint DELETE /cards/{id}/idLabels/{idLabel}
@required {id: str, idLabel: str}
@returns(200)

@endpoint DELETE /cards/{id}/idMembers/{idMember}
@required {id: str, idMember: str}
@returns(200)

@endpoint DELETE /cards/{id}/membersVoted/{idMember}
@required {id: str, idMember: str}
@returns(200)

@endpoint PUT /cards/{idCard}/checklist/{idChecklist}/checkItem/{idCheckItem}
@required {idCard: str, idCheckItem: str, idChecklist: str}
@optional {pos: any}
@returns(200) {idChecklist: str, state: str, id: str, name: str, nameData: str?, pos: str}

@endpoint DELETE /cards/{id}/checklists/{idChecklist}
@required {id: str, idChecklist: str}
@returns(200)

@endgroup

@group checklists
@endpoint POST /checklists
@required {idCard: str}
@optional {name: str, pos: any, idChecklistSource: str}
@returns(200)

@endpoint GET /checklists/{id}
@optional {cards: str(all/closed/none/open/visible)=none, checkItems: str(all/none)=all, checkItem_fields: str(all/name/nameData/pos/state/type/due/dueReminder/idMember)=name, nameData, pos, state, due, dueReminder, idMember, fields: str=all}
@returns(200)

@endpoint PUT /checklists/{id}
@optional {name: str, pos: any}
@returns(200)

@endpoint DELETE /checklists/{id}
@returns(200)

@endpoint GET /checklists/{id}/{field}
@returns(200)

@endpoint PUT /checklists/{id}/{field}
@required {value: any}
@returns(200)

@endpoint GET /checklists/{id}/board
@required {id: str}
@optional {fields: str(all/name)=all}
@returns(200)

@endpoint GET /checklists/{id}/cards
@required {id: str}
@returns(200)

@endpoint GET /checklists/{id}/checkItems
@optional {filter: str(all/none)=all, fields: str(all/name/nameData/pos/state/type/due/dueReminder/idMember)=name, nameData, pos, state, due, dueReminder, idMember}
@returns(200)

@endpoint POST /checklists/{id}/checkItems
@required {name: str}
@optional {pos: any=bottom, checked: bool=false, due: str(date), dueReminder: num, idMember: str}
@returns(200)

@endpoint GET /checklists/{id}/checkItems/{idCheckItem}
@optional {fields: str(all/name/nameData/pos/state/type/due/dueReminder/idMember)=name, nameData, pos, state, due, dueReminder, idMember}
@returns(200)

@endpoint DELETE /checklists/{id}/checkItems/{idCheckItem}
@returns(200)

@endgroup

@group customFields
@endpoint POST /customFields
@required {idModel: str, modelType: str, name: str, type: str(checkbox/list/number/text/date), pos: any}
@optional {options: str, display_cardFront: bool=true}
@returns(200) {id: str, idModel: str, modelType: str, fieldGroup: str, display: map{cardFront: bool, name: str, pos: str, options: [map]}, type: str}

@endpoint GET /customFields/{id}
@returns(200) {id: str, idModel: str, modelType: str, fieldGroup: str, display: map{cardFront: bool, name: str, pos: str, options: [map]}, type: str}

@endpoint PUT /customFields/{id}
@optional {name: str, pos: any, display/cardFront: bool}
@returns(200) {id: str, idModel: str, modelType: str, fieldGroup: str, display: map{cardFront: bool, name: str, pos: str, options: [map]}, type: str}

@endpoint DELETE /customFields/{id}
@returns(200)

@endpoint POST /customFields/{id}/options
@returns(200)

@endpoint GET /customFields/{id}/options
@returns(200)

@endpoint GET /customFields/{id}/options/{idCustomFieldOption}
@returns(200)

@endpoint DELETE /customFields/{id}/options/{idCustomFieldOption}
@returns(200)

@endgroup

@group emoji
@endpoint GET /emoji
@optional {locale: str, spritesheets: bool=false}
@returns(200) {trello: [map]}

@endgroup

@group enterprises
@endpoint GET /enterprises/{id}
@required {id: str}
@optional {fields: str=all, members: str=none, member_fields: str=avatarHash, fullName, initials, username, member_filter: str=none, member_sort: str, member_sortBy: str=none, member_sortOrder: str=id, member_startIndex: int(int32)=1, member_count: int(int32)=10, organizations: str=none, organization_fields: str=none, organization_paid_accounts: bool=false, organization_memberships: str=none}
@returns(200) {id: str, name: str, displayName: str, logoHash: str?, logoUrl: str?, prefs: map{ssoOnly: bool, signup: map{banner: str, bannerHtml: str}, mandatoryTransferDate: str(date)?, brandingColor: str, autoJoinOrganizations: bool, notifications: map, maxMembers: num?}, organizationPrefs: map{boardVisibilityRestrict: map, boardDeleteRestrict: map, attachmentRestrictions: [str], permissionLevel: str}, ssoActivationFailed: bool, idAdmins: [str], enterpriseDomains: [str(url)], isRealEnterprise: bool, pluginWhitelistingEnabled: [str], idOrganizations: [str], products: [num(integer)], licenses: map{maxMembers: num(integer)?, totalMembers: num(integer), relatedEnterprises: [map]}, domains: [str(url)], dateOrganizationPrefsLastUpdated: str(date), idp: map{requestSigned: bool, certificate: str?, loginUrl: str(url)?}}

@endpoint GET /enterprises/{id}/auditlog
@required {id: str}
@returns(200)

@endpoint GET /enterprises/{id}/admins
@required {id: str}
@optional {fields: str=fullName, userName}
@returns(200) {id: str, fullName: str, username: str}
@errors {401, 404}

@endpoint GET /enterprises/{id}/signupUrl
@required {id: str}
@optional {authenticate: bool=false, confirmationAccepted: bool=false, returnUrl: str(url)=null, tosAccepted: bool=false}
@returns(200) {signupUrl: str}

@endpoint GET /enterprises/{id}/members/query
@required {id: str}
@optional {licensed: bool=false, deactivated: bool=false, collaborator: bool=false, managed: bool=none, admin: bool=false, activeSince: str=none, inactiveSince: str=none, search: str=none, cursor: str=none}
@returns(200)

@endpoint GET /enterprises/{id}/members
@required {id: str}
@optional {fields: str=avatarHash, fullName, initials, username, filter: str, sort: str, sortBy: str, sortOrder: str(ascending/descending/asc/desc)=null, startIndex: int(int32), count: str=none, organization_fields: str=displayName, board_fields: str=name}
@returns(200)

@endpoint GET /enterprises/{id}/members/{idMember}
@required {id: str, idMember: str}
@optional {fields: str=avatarHash, fullName, initials, username, organization_fields: str=displayName, board_fields: str=name}
@returns(200) {id: str, activityBlocked: bool, avatarHash: str, avatarUrl: str(url), bio: str, bioData: map{emoji: map}, confirmed: bool, fullName: str, idEnterprise: str, idEnterprisesDeactivated: [str], idMemberReferrer: str, idPremOrgsAdmin: [str], initials: str, memberType: str, nonPublic: map{fullName: str, initials: str, avatarUrl: str(url), avatarHash: str}, nonPublicAvailable: bool, products: [int], url: str(url), username: str, status: str, aaEmail: str(email)?, aaEnrolledDate: str?, aaId: str?, avatarSource: str, email: str, gravatarHash: str, idBoards: [str], idOrganizations: [str], idEnterprisesAdmin: [str], limits: map{status: str, disableAt: num, warnAt: num}, loginTypes: [str], marketingOptIn: map{optedIn: bool, date: str(date)}, messagesDismissed: map{name: str, count: str, lastDismissed: str(date), _id: str}, oneTimeMessagesDismissed: [str], prefs: map{timezoneInfo: map{offsetCurrent: int, timezoneCurrent: str, offsetNext: int, dateNext: str(date), timezoneNext: str}, privacy: map{fullName: str, avatar: str}, sendSummaries: bool, minutesBetweenSummaries: int, minutesBeforeDeadlineToNotify: int, colorBlind: bool, locale: str, timezone: str, twoFactor: map{enabled: bool, needsNewBackups: bool}}, trophies: [str], uploadedAvatarHash: str, uploadedAvatarUrl: str(url), premiumFeatures: [str], isAaMastered: bool, ixUpdate: num, idBoardsPinned: [str]?}
@errors {401, 404}

@endpoint GET /enterprises/{id}/transferrable/organization/{idOrganization}
@required {id: str, idOrganization: str}
@returns(200) {transferrable: bool, newBillableMembers: [map], restrictedMembers: [map]}
@errors {401, 404}

@endpoint GET /enterprises/{id}/transferrable/bulk/{idOrganizations}
@required {id: str, idOrganizations: [any]}
@returns(200)
@errors {401, 404}

@endpoint PUT /enterprises/${id}/enterpriseJoinRequest/bulk
@required {id: str, idOrganizations: [any]}
@returns(200)
@errors {401, 404}

@endpoint GET /enterprises/{id}/claimableOrganizations
@required {id: str}
@optional {limit: int, cursor: str, name: str, activeSince: str, inactiveSince: str}
@returns(200) {organizations: [map], claimableCount: num}
@errors {401, 404}

@endpoint GET /enterprises/{id}/pendingOrganizations
@required {id: str}
@optional {activeSince: str, inactiveSince: str}
@returns(200)
@errors {401, 404}

@endpoint POST /enterprises/{id}/tokens
@required {id: str}
@optional {expiration: str=none}
@returns(200)

@endpoint GET /enterprises/{id}/organizations
@required {id: str}
@optional {fields: str=all, filter: str=all, startIndex: int(int32), count: int(int32)}
@returns(200)
@errors {401, 404}

@endpoint PUT /enterprises/{id}/organizations
@required {id: str, idOrganization: str}
@returns(200)
@errors {401, 404}

@endpoint PUT /enterprises/{id}/members/{idMember}/licensed
@required {id: str, idMember: str, value: bool}
@returns(200) {id: str, activityBlocked: bool, avatarHash: str, avatarUrl: str(url), bio: str, bioData: map{emoji: map}, confirmed: bool, fullName: str, idEnterprise: str, idEnterprisesDeactivated: [str], idMemberReferrer: str, idPremOrgsAdmin: [str], initials: str, memberType: str, nonPublic: map{fullName: str, initials: str, avatarUrl: str(url), avatarHash: str}, nonPublicAvailable: bool, products: [int], url: str(url), username: str, status: str, aaEmail: str(email)?, aaEnrolledDate: str?, aaId: str?, avatarSource: str, email: str, gravatarHash: str, idBoards: [str], idOrganizations: [str], idEnterprisesAdmin: [str], limits: map{status: str, disableAt: num, warnAt: num}, loginTypes: [str], marketingOptIn: map{optedIn: bool, date: str(date)}, messagesDismissed: map{name: str, count: str, lastDismissed: str(date), _id: str}, oneTimeMessagesDismissed: [str], prefs: map{timezoneInfo: map{offsetCurrent: int, timezoneCurrent: str, offsetNext: int, dateNext: str(date), timezoneNext: str}, privacy: map{fullName: str, avatar: str}, sendSummaries: bool, minutesBetweenSummaries: int, minutesBeforeDeadlineToNotify: int, colorBlind: bool, locale: str, timezone: str, twoFactor: map{enabled: bool, needsNewBackups: bool}}, trophies: [str], uploadedAvatarHash: str, uploadedAvatarUrl: str(url), premiumFeatures: [str], isAaMastered: bool, ixUpdate: num, idBoardsPinned: [str]?}
@errors {401, 404}

@endpoint PUT /enterprises/{id}/members/{idMember}/deactivated
@required {id: str, idMember: str, value: bool}
@optional {fields: str=avatarHash, fullName, initials, username, organization_fields: str=displayName, board_fields: str=name}
@returns(200)

@endpoint PUT /enterprises/{id}/admins/{idMember}
@required {id: str, idMember: str}
@returns(200)

@endpoint DELETE /enterprises/{id}/admins/{idMember}
@required {id: str, idMember: str}
@returns(200)

@endpoint DELETE /enterprises/{id}/organizations/{idOrg}
@required {id: str, idOrg: str}
@returns(200)

@endpoint GET /enterprises/{id}/organizations/bulk/{idOrganizations}
@required {id: str, idOrganizations: [any]}
@returns(200)
@errors {401, 404}

@endgroup

@group labels
@endpoint GET /labels/{id}
@optional {fields: str=all}
@returns(200)

@endpoint PUT /labels/{id}
@optional {name: str, color: str}
@returns(200)

@endpoint DELETE /labels/{id}
@returns(200)

@endpoint PUT /labels/{id}/{field}
@required {id: str, field: str(color/name), value: str}
@returns(200)

@endpoint POST /labels
@required {name: str, color: str, idBoard: str}
@returns(200)

@endgroup

@group lists
@endpoint GET /lists/{id}
@optional {fields: str=name,closed,idBoard,pos}
@returns(200)

@endpoint PUT /lists/{id}
@optional {name: str, closed: bool, idBoard: str, pos: any, subscribed: bool}
@returns(200)

@endpoint POST /lists
@required {name: str, idBoard: str}
@optional {idListSource: str, pos: any}
@returns(200)

@endpoint POST /lists/{id}/archiveAllCards
@required {id: str}
@returns(200)

@endpoint POST /lists/{id}/moveAllCards
@required {id: str, idBoard: str, idList: str}
@returns(200)

@endpoint PUT /lists/{id}/closed
@required {id: str}
@optional {value: str}
@returns(200)

@endpoint PUT /lists/{id}/idBoard
@required {id: str, value: str}
@returns(200)

@endpoint PUT /lists/{id}/{field}
@required {id: str, field: str(name/pos/subscribed)}
@optional {value: any}
@returns(200)

@endpoint GET /lists/{id}/actions
@required {id: str}
@optional {filter: str}
@returns(200)

@endpoint GET /lists/{id}/board
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endpoint GET /lists/{id}/cards
@required {id: str}
@returns(200)

@endgroup

@group members
@endpoint GET /members/{id}
@required {id: any}
@optional {actions: str, boards: str, boardBackgrounds: str(all/custom/default/none/premium)=none, boardsInvited: str(closed/members/open/organization/pinned/public/starred/unpinned), boardsInvited_fields: str=name,closed,idOrganization,pinned, boardStars: bool=false, cards: str=none, customBoardBackgrounds: str(all/none)=none, customEmoji: str(all/none)=none, customStickers: str(all/none)=none, fields: str=all, notifications: str, organizations: str(all/members/none/public)=none, organization_fields: str=all, organization_paid_account: bool=false, organizationsInvited: str(all/members/none/public)=none, organizationsInvited_fields: str=all, paid_account: bool=false, savedSearches: bool=false, tokens: str(all/none)=none}
@returns(200)

@endpoint PUT /members/{id}
@required {id: str}
@optional {fullName: str, initials: str, username: str, bio: str, avatarSource: str(gravatar/none/upload), prefs/colorBlind: bool, prefs/locale: str, prefs/minutesBetweenSummaries: int(int32)}
@returns(200)

@endpoint GET /members/{id}/{field}
@required {id: str, field: str}
@returns(200)

@endpoint GET /members/{id}/actions
@required {id: str}
@optional {filter: str}
@returns(200)

@endpoint GET /members/{id}/boardBackgrounds
@required {id: str}
@optional {filter: str(all/custom/default/none/premium)=all}
@returns(200)

@endpoint POST /members/{id}/boardBackgrounds
@required {id: str, file: str(binary)}
@returns(200)

@endpoint GET /members/{id}/boardBackgrounds/{idBackground}
@optional {fields: str(all/brightness/fullSizeUrl/scaled/tile)=all}
@returns(200) {id: str}

@endpoint PUT /members/{id}/boardBackgrounds/{idBackground}
@optional {brightness: str(dark/light/unknown), tile: bool}
@returns(200) {id: str}

@endpoint DELETE /members/{id}/boardBackgrounds/{idBackground}
@returns(200)

@endpoint GET /members/{id}/boardStars
@required {id: str}
@returns(200)

@endpoint POST /members/{id}/boardStars
@required {id: any, idBoard: str, pos: any}
@returns(200)

@endpoint GET /members/{id}/boardStars/{idStar}
@returns(200) {id: str, idBoard: str, pos: int}

@endpoint PUT /members/{id}/boardStars/{idStar}
@optional {pos: any}
@returns(200)

@endpoint DELETE /members/{id}/boardStars/{idStar}
@returns(200)

@endpoint GET /members/{id}/boards
@required {id: str}
@optional {filter: str(all/closed/members/open/organization/public/starred)=all, fields: str=all, lists: str(all/closed/none/open)=none, organization: bool=false, organization_fields: str=name,displayName}
@returns(200)

@endpoint GET /members/{id}/boardsInvited
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endpoint GET /members/{id}/cards
@required {id: str}
@optional {filter: str(all/closed/complete/incomplete/none/open/visible)=visible}
@returns(200)

@endpoint GET /members/{id}/customBoardBackgrounds
@returns(200)

@endpoint POST /members/{id}/customBoardBackgrounds
@required {file: str(binary)}
@returns(200) {id: str}

@endpoint GET /members/{id}/customBoardBackgrounds/{idBackground}
@returns(200) {id: str}

@endpoint PUT /members/{id}/customBoardBackgrounds/{idBackground}
@optional {brightness: str(dark/light/unknown), tile: bool}
@returns(200) {id: str}

@endpoint DELETE /members/{id}/customBoardBackgrounds/{idBackground}
@returns(200)

@endpoint GET /members/{id}/customEmoji
@returns(200)

@endpoint POST /members/{id}/customEmoji
@required {file: str(binary), name: str}
@returns(200) {id: str, url: str(url), name: str}

@endpoint GET /members/{id}/customEmoji/{idEmoji}
@required {id: str, idEmoji: str}
@optional {fields: str(name/url/all)=all}
@returns(200) {id: str, url: str(url), name: str}

@endpoint GET /members/{id}/customStickers
@returns(200)

@endpoint POST /members/{id}/customStickers
@required {file: str(binary)}
@returns(200) {id: str, url: str(url), scaled: [map]}

@endpoint GET /members/{id}/customStickers/{idSticker}
@optional {fields: str(scaled/url/all)=all}
@returns(200) {id: str, url: str(url), scaled: [map]}

@endpoint DELETE /members/{id}/customStickers/{idSticker}
@returns(200)

@endpoint GET /members/{id}/notifications
@required {id: str}
@optional {entities: bool=false, display: bool=false, filter: str=all, read_filter: str=all, fields: str=all, limit: int(int32)=50, page: int(int32)=0, before: str, since: str, memberCreator: bool=true, memberCreator_fields: str=avatarHash,fullName,initials,username}
@returns(200)

@endpoint GET /members/{id}/organizations
@required {id: str}
@optional {filter: str(all/members/none/public)=all, fields: str=all, paid_account: bool=false}
@returns(200)

@endpoint GET /members/{id}/organizationsInvited
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endpoint GET /members/{id}/savedSearches
@returns(200)

@endpoint POST /members/{id}/savedSearches
@required {name: str, query: str, pos: any}
@returns(200) {id: str, name: str, query: str, pos: any}

@endpoint GET /members/{id}/savedSearches/{idSearch}
@returns(200) {id: str, name: str, query: str, pos: any}

@endpoint PUT /members/{id}/savedSearches/{idSearch}
@optional {name: str, query: str, pos: str}
@returns(200) {id: str, name: str, query: str, pos: any}

@endpoint DELETE /members/{id}/savedSearches/{idSearch}
@returns(200)

@endpoint GET /members/{id}/tokens
@required {id: str}
@optional {webhooks: bool=false}
@returns(200)

@endpoint POST /members/{id}/avatar
@required {id: str, file: str(binary)}
@returns(200)

@endpoint POST /members/{id}/oneTimeMessagesDismissed
@required {id: str, value: str}
@returns(200)

@endpoint GET /members/{id}/notificationsChannelSettings
@returns(200)

@endpoint PUT /members/{id}/notificationsChannelSettings
@required {channel: str, blockedKeys: any}
@returns(200) {id: str, idMember: str, blockedKeys: [str], channel: str}

@endpoint GET /members/{id}/notificationsChannelSettings/{channel}
@returns(200) {id: str, idMember: str, blockedKeys: [str], channel: str}

@endpoint PUT /members/{id}/notificationsChannelSettings/{channel}
@required {blockedKeys: any}
@returns(200) {id: str, idMember: str, blockedKeys: [str], channel: str}

@endpoint PUT /members/{id}/notificationsChannelSettings/{channel}/{blockedKeys}
@returns(200) {id: str, idMember: str, blockedKeys: [str], channel: str}

@endgroup

@group notifications
@endpoint GET /notifications/{id}
@required {id: str}
@optional {board: bool=false, board_fields: str=name, card: bool=false, card_fields: str=name, display: bool=false, entities: bool=false, fields: str=all, list: bool=false, member: bool=true, member_fields: str=avatarHash,fullName,initials,username, memberCreator: bool=true, memberCreator_fields: str=avatarHash,fullName,initials,username, organization: bool=false, organization_fields: str=displayName}
@returns(200)

@endpoint PUT /notifications/{id}
@required {id: str}
@optional {unread: bool}
@returns(200)

@endpoint GET /notifications/{id}/{field}
@required {id: str, field: str}
@returns(200)

@endpoint POST /notifications/all/read
@optional {read: bool=true, ids: [str]}
@returns(200)

@endpoint PUT /notifications/{id}/unread
@required {id: str}
@optional {value: str}
@returns(200)

@endpoint GET /notifications/{id}/board
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endpoint GET /notifications/{id}/card
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endpoint GET /notifications/{id}/list
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endpoint GET /notifications/{id}/member
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endpoint GET /notifications/{id}/memberCreator
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endpoint GET /notifications/{id}/organization
@required {id: str}
@optional {fields: str=all}
@returns(200)

@endgroup

@group organizations
@endpoint POST /organizations
@required {displayName: str}
@optional {desc: str, name: str, website: str(url)}
@returns(200)

@endpoint GET /organizations/{id}
@returns(200) {id: str, name: str, displayName: str, dateLastActivity: str(date), prefs: map{boardVisibilityRestrict: map, boardDeleteRestrict: map, attachmentRestrictions: [str], permissionLevel: str}, idEnterprise: str, offering: str, url: str(url), idBoards: [str], memberships: [str], premiumFeatures: [str]}

@endpoint PUT /organizations/{id}
@optional {name: str, displayName: str, desc: str, website: str, prefs/associatedDomain: str, prefs/externalMembersDisabled: bool, prefs/googleAppsVersion: int(int32), prefs/boardVisibilityRestrict/org: str, prefs/boardVisibilityRestrict/private: str, prefs/boardVisibilityRestrict/public: str, prefs/orgInviteRestrict: str, prefs/permissionLevel: str}
@returns(200) {id: str, name: str, displayName: str, dateLastActivity: str(date), prefs: map{boardVisibilityRestrict: map, boardDeleteRestrict: map, attachmentRestrictions: [str], permissionLevel: str}, idEnterprise: str, offering: str, url: str(url), idBoards: [str], memberships: [str], premiumFeatures: [str]}

@endpoint DELETE /organizations/{id}
@returns(200)

@endpoint GET /organizations/{id}/{field}
@required {id: str, field: str}
@returns(200) {id: str, name: str, displayName: str, dateLastActivity: str(date), prefs: map{boardVisibilityRestrict: map, boardDeleteRestrict: map, attachmentRestrictions: [str], permissionLevel: str}, idEnterprise: str, offering: str, url: str(url), idBoards: [str], memberships: [str], premiumFeatures: [str]}

@endpoint GET /organizations/{id}/actions
@required {id: str}
@returns(200)

@endpoint GET /organizations/{id}/boards
@required {id: str}
@optional {filter: str(all/open/closed/members/organization/public)=all, fields: str=all}
@returns(200)

@endpoint POST /organizations/{id}/exports
@optional {attachments: bool=true}
@returns(200) {id: str, status: map{attempts: num, finished: bool, stage: str}, startedAt: str(date-time), size: str?, exportUrl: str?}

@endpoint GET /organizations/{id}/exports
@returns(200)

@endpoint GET /organizations/{id}/members
@required {id: str}
@returns(200)

@endpoint PUT /organizations/{id}/members
@required {id: str, email: str(email), fullName: str}
@optional {type: str(admin/normal)=normal}
@returns(200)

@endpoint GET /organizations/{id}/memberships
@required {id: str}
@optional {filter: str(all/active/admin/deactivated/me/normal)=all, member: bool=false}
@returns(200)

@endpoint GET /organizations/{id}/memberships/{idMembership}
@required {id: str, idMembership: str}
@optional {member: bool=false}
@returns(200)

@endpoint GET /organizations/{id}/pluginData
@required {id: str}
@returns(200)

@endpoint GET /organizations/{id}/tags
@returns(200)

@endpoint POST /organizations/{id}/tags
@returns(200)

@endpoint PUT /organizations/{id}/members/{idMember}
@required {id: str, idMember: any, type: str(admin/normal)}
@returns(200)

@endpoint DELETE /organizations/{id}/members/{idMember}
@required {id: any, idMember: str}
@returns(200)

@endpoint PUT /organizations/{id}/members/{idMember}/deactivated
@required {id: str, idMember: any, value: bool}
@returns(200)

@endpoint POST /organizations/{id}/logo
@required {id: str}
@optional {file: str(binary)}
@returns(200)

@endpoint DELETE /organizations/{id}/logo
@required {id: str}
@returns(200)

@endpoint DELETE /organizations/{id}/members/{idMember}/all
@required {id: str, idMember: str}
@returns(200)

@endpoint DELETE /organizations/{id}/prefs/associatedDomain
@required {id: str}
@returns(200)

@endpoint DELETE /organizations/{id}/prefs/orgInviteRestrict
@required {id: str}
@returns(200)

@endpoint DELETE /organizations/{id}/tags/{idTag}
@required {id: str, idTag: str}
@returns(200)

@endpoint GET /organizations/{id}/newBillableGuests/{idBoard}
@required {id: str, idBoard: str}
@returns(200)

@endgroup

@group plugins
@endpoint GET /plugins/{id}/
@required {id: str}
@returns(200) {id: str}

@endpoint PUT /plugins/{id}/
@required {id: str}
@returns(200) {id: str}

@endpoint POST /plugins/{idPlugin}/listing
@required {idPlugin: str}
@optional {description: str, locale: str, overview: str, name: str}
@returns(200) {id: str, name: str, locale: str, description: str, overview: str}

@endpoint GET /plugins/{id}/compliance/memberPrivacy
@required {id: str}
@returns(200)

@endpoint PUT /plugins/{idPlugin}/listings/{idListing}
@required {idPlugin: str, idListing: str}
@optional {description: str, locale: str, overview: str, name: str}
@returns(200) {id: str, name: str, locale: str, description: str, overview: str}

@endgroup

@group search
@endpoint GET /search
@required {query: str}
@optional {idBoards: any, idOrganizations: str, idCards: str, modelTypes: str=all, board_fields: str=name,idOrganization, boards_limit: int=10, board_organization: bool=false, card_fields: str=all, cards_limit: int=10, cards_page: num=0, card_board: bool=false, card_list: bool=false, card_members: bool=false, card_stickers: bool=false, card_attachments: str=false, organization_fields: str=name,displayName, organizations_limit: int(int32)=10, member_fields: str=avatarHash,fullName,initials,username,confirmed, members_limit: int(int32)=10, partial: bool=false}
@returns(200)

@endpoint GET /search/members/
@required {query: str}
@optional {limit: int(int32)=8, idBoard: str, idOrganization: str, onlyOrgMembers: bool=false}
@returns(200)

@endgroup

@group tokens
@endpoint GET /tokens/{token}
@required {token: str}
@optional {fields: str=all, webhooks: bool=false}
@returns(200) {id: str, identifier: str, idMember: str, dateCreated: str(date-time), dateExpires: str(date-time)?, permissions: [map]}

@endpoint GET /tokens/{token}/member
@required {token: str}
@optional {fields: str=all}
@returns(200) {id: str, activityBlocked: bool, avatarHash: str, avatarUrl: str(url), bio: str, bioData: map{emoji: map}, confirmed: bool, fullName: str, idEnterprise: str, idEnterprisesDeactivated: [str], idMemberReferrer: str, idPremOrgsAdmin: [str], initials: str, memberType: str, nonPublic: map{fullName: str, initials: str, avatarUrl: str(url), avatarHash: str}, nonPublicAvailable: bool, products: [int], url: str(url), username: str, status: str, aaEmail: str(email)?, aaEnrolledDate: str?, aaId: str?, avatarSource: str, email: str, gravatarHash: str, idBoards: [str], idOrganizations: [str], idEnterprisesAdmin: [str], limits: map{status: str, disableAt: num, warnAt: num}, loginTypes: [str], marketingOptIn: map{optedIn: bool, date: str(date)}, messagesDismissed: map{name: str, count: str, lastDismissed: str(date), _id: str}, oneTimeMessagesDismissed: [str], prefs: map{timezoneInfo: map{offsetCurrent: int, timezoneCurrent: str, offsetNext: int, dateNext: str(date), timezoneNext: str}, privacy: map{fullName: str, avatar: str}, sendSummaries: bool, minutesBetweenSummaries: int, minutesBeforeDeadlineToNotify: int, colorBlind: bool, locale: str, timezone: str, twoFactor: map{enabled: bool, needsNewBackups: bool}}, trophies: [str], uploadedAvatarHash: str, uploadedAvatarUrl: str(url), premiumFeatures: [str], isAaMastered: bool, ixUpdate: num, idBoardsPinned: [str]?}

@endpoint GET /tokens/{token}/webhooks
@returns(200)

@endpoint POST /tokens/{token}/webhooks
@required {callbackURL: str(url), idModel: str}
@optional {description: str}
@returns(200) {id: str, description: str, idModel: str, callbackURL: str(url), active: bool, consecutiveFailures: num, firstConsecutiveFailDate: str(date)?}

@endpoint GET /tokens/{token}/webhooks/{idWebhook}
@returns(200) {id: str, description: str, idModel: str, callbackURL: str(url), active: bool, consecutiveFailures: num, firstConsecutiveFailDate: str(date)?}

@endpoint DELETE /tokens/{token}/webhooks/{idWebhook}
@returns(200)

@endpoint PUT /tokens/{token}/webhooks/{idWebhook}
@optional {description: str, callbackURL: str(url), idModel: str}
@returns(200)

@endpoint DELETE /tokens/{token}/
@required {token: str}
@returns(200)

@endgroup

@group webhooks
@endpoint POST /webhooks/
@required {callbackURL: str(url), idModel: str}
@optional {description: str, active: bool}
@returns(200) {id: str, description: str, idModel: str, callbackURL: str(url), active: bool, consecutiveFailures: num, firstConsecutiveFailDate: str(date)?}

@endpoint GET /webhooks/{id}
@returns(200) {id: str, description: str, idModel: str, callbackURL: str(url), active: bool, consecutiveFailures: num, firstConsecutiveFailDate: str(date)?}

@endpoint PUT /webhooks/{id}
@optional {description: str, callbackURL: str(url), idModel: str, active: bool}
@returns(200) {id: str, description: str, idModel: str, callbackURL: str(url), active: bool, consecutiveFailures: num, firstConsecutiveFailDate: str(date)?}

@endpoint DELETE /webhooks/{id}
@returns(200)

@endpoint GET /webhooks/{id}/{field}
@required {id: str, field: str(active/callbackURL/description/idModel/consecutiveFailures/firstConsecutiveFailDate)}
@returns(200)

@endgroup

@end
