Package com.simplicite.util.tools
Class TrelloTool
- java.lang.Object
-
- com.simplicite.util.tools.TrelloTool
-
public class TrelloTool extends java.lang.Object
Trello API toolbox (see https://developers.trello.com/reference)
WARNING: in this version this class is experimental it means it may be changed in future versions.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
BASE_URL
Base Trello API URLstatic java.lang.String
WEBHOOK_SIGNATURE_HEADER
Webhook signature header
-
Constructor Summary
Constructors Constructor Description TrelloTool()
Default constructorTrelloTool(Grant g)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description org.json.JSONObject
addCard(java.lang.String listId, java.lang.String name, java.lang.String desc, org.json.JSONObject data)
Deprecated.org.json.JSONObject
addCard(java.lang.String listId, org.json.JSONObject data)
Create a card (see https://developers.trello.com/reference#cards-2)org.json.JSONObject
addChecklist(org.json.JSONObject data)
Create a checklist (see https://developers.trello.com/reference#checklists)org.json.JSONObject
addCustomField(java.lang.String boardId, org.json.JSONObject data)
Create a custom field for a board (see https://developers.trello.com/reference#customfields)org.json.JSONObject
addCustomFieldOption(java.lang.String customFieldId, org.json.JSONObject data)
Create a custom field's option (see https://developers.trello.com/reference#customfieldsidoptions-2)org.json.JSONObject
addLabel(org.json.JSONObject data)
Create a label (see https://developers.trello.com/reference#page-1)org.json.JSONObject
addNotification(org.json.JSONObject data)
Create a notification (see https://developers.trello.com/reference#page-1)java.lang.Object
call(java.lang.String uri, java.lang.String method, java.lang.Object data)
Generic call to Trello APIboolean
checkWebhookSignature(Parameters params)
Check webhook signature (see https://developers.trello.com/page/webhooks)void
deleteCard(java.lang.String cardId)
Delete a card (see https://developers.trello.com/reference#delete-card)void
deleteChecklist(java.lang.String checklistId)
Delete a checklist (see https://developers.trello.com/reference#checklistsid-2)void
deleteCustomField(java.lang.String customFieldId)
Delete a custom field (see https://developers.trello.com/reference#customfieldsid-1)void
deleteCustomFieldOption(java.lang.String customFieldId, java.lang.String optionId)
Delete a custom field's option (see https://developers.trello.com/reference#customfieldsidoptionsidcustomfieldoption-1)void
deleteLabel(java.lang.String labelId)
Delete a label (see https://developers.trello.com/reference#id-2)void
deleteNotification(java.lang.String notificationId)
Delete a notification (see https://developers.trello.com/reference#id-2)org.json.JSONObject
getBoard(java.lang.String boardId)
Get a board data (see https://developers.trello.com/reference#boardsboardid-1)org.json.JSONObject
getBoard(java.lang.String boardId, org.json.JSONObject params)
Get a board data (see https://developers.trello.com/reference#boardsboardid-1)org.json.JSONArray
getBoardCards(java.lang.String boardId)
Get a board's cards data (see https://developers.trello.com/reference#boardsboardidtest)org.json.JSONArray
getBoardCards(java.lang.String boardId, org.json.JSONObject params)
Get a board's cards data (see https://developers.trello.com/reference#boardsboardidtest)org.json.JSONArray
getBoardCustomFields(java.lang.String boardId, java.lang.String customFieldId)
Get a board's custom fields data (see https://developers.trello.com/reference#boardsidcustomfields-1)org.json.JSONArray
getBoardCustomFields(java.lang.String boardId, java.lang.String customFieldId, org.json.JSONObject params)
Get a board's custom field items data (see https://developers.trello.com/reference#boardsidcustomfields-1)org.json.JSONArray
getBoardLists(java.lang.String boardId)
Get a board's lists data (see https://developers.trello.com/reference#boardsboardidlists)org.json.JSONArray
getBoardLists(java.lang.String boardId, org.json.JSONObject params)
Get a board's lists data (see https://developers.trello.com/reference#boardsboardidlists)org.json.JSONObject
getCard(java.lang.String cardId)
Get a card data (see https://developers.trello.com/reference#cardsid)org.json.JSONObject
getCard(java.lang.String cardId, org.json.JSONObject params)
Get a card data (see https://developers.trello.com/reference#cardsid)org.json.JSONObject
getChecklist(java.lang.String checklistId)
Get a checklist data (see https://developers.trello.com/reference#checklistsid)org.json.JSONObject
getChecklist(java.lang.String checklistId, org.json.JSONObject params)
Get a checklist data (see https://developers.trello.com/reference#checklistsid)org.json.JSONObject
getCustomField(java.lang.String customFieldId)
Get a custom field data (see https://developers.trello.com/reference#customfieldsid-3)org.json.JSONObject
getCustomField(java.lang.String customFieldId, org.json.JSONObject params)
Get a custom field data (see https://developers.trello.com/reference#customfieldsid-3)org.json.JSONArray
getCustomFieldOptions(java.lang.String customFieldId)
Get a custom field's options data (see https://developers.trello.com/reference#customfieldsidoptions-1)org.json.JSONArray
getCustomFieldOptions(java.lang.String customFieldId, org.json.JSONObject params)
Get a custom field's options data (see https://developers.trello.com/reference#customfieldsidoptions-1)java.lang.String
getKey()
Get the Trello API keyorg.json.JSONObject
getLabel(java.lang.String labelId)
Get a label data (see https://developers.trello.com/reference#id)org.json.JSONObject
getLabel(java.lang.String labelId, org.json.JSONObject params)
Get a label data (see https://developers.trello.com/reference#id)org.json.JSONObject
getList(java.lang.String listId)
Get a list data (see https://developers.trello.com/reference#listsid)org.json.JSONObject
getList(java.lang.String listId, org.json.JSONObject params)
Get a list data (see https://developers.trello.com/reference#listsid)org.json.JSONArray
getListCards(java.lang.String listId)
Get a list's cards data (see https://developers.trello.com/reference#listsidcards)org.json.JSONArray
getListCards(java.lang.String listId, org.json.JSONObject params)
Get a list's cards data (see https://developers.trello.com/reference#listsidcards)org.json.JSONObject
getMember(java.lang.String memberIdOrUsername)
Get a member data (see https://developers.trello.com/reference#membersid)org.json.JSONObject
getMember(java.lang.String memberIdOrUsername, org.json.JSONObject params)
Get a member data (see https://developers.trello.com/reference#membersid)org.json.JSONObject
getNotification(java.lang.String notificationId)
Get a notification data (see https://developers.trello.com/reference#id)org.json.JSONObject
getNotification(java.lang.String notificationId, org.json.JSONObject params)
Get a notification data (see https://developers.trello.com/reference#id)org.json.JSONObject
getOrganization(java.lang.String organizationId)
Get an organization data (see https://developers.trello.com/reference#organizationsid)org.json.JSONObject
getOrganization(java.lang.String organizationId, org.json.JSONObject params)
Get an organization data (see https://developers.trello.com/reference#organizationsid)java.lang.String
getParams(org.json.JSONObject params)
Convert flat JSON object into HTTP query string (key=value)java.lang.String
getSecret()
Get the Trello API secretjava.lang.String
getToken()
Get the Trello API access tokenboolean
isDebug()
Is in debug modejava.lang.String
registerWebhook(java.lang.String idModel, java.lang.String callbackURL, java.lang.String desc)
Create or update a webhook (see https://developers.trello.com/page/webhooks)org.json.JSONObject
setCardCustomFieldItem(java.lang.String cardId, java.lang.String customFieldId, org.json.JSONObject data)
Update a card's custom field item (see https://developers.trello.com/reference#customfielditemsid)void
setDebug(boolean debug)
Set debug modevoid
setKey(java.lang.String key)
Set the Trello API keyvoid
setSecret(java.lang.String secret)
Set the Trello API keyvoid
setToken(java.lang.String token)
Set the Trello API access tokenorg.json.JSONObject
updateCard(java.lang.String cardId, org.json.JSONObject data)
Update a card (see https://developers.trello.com/reference#cardsid-1)org.json.JSONObject
updateChecklist(java.lang.String checklistId, org.json.JSONObject data)
Update a checklist (see https://developers.trello.com/reference#checklistsid-1)org.json.JSONObject
updateCustomField(java.lang.String customFieldId, org.json.JSONObject data)
Update a custom field (see https://developers.trello.com/reference#customfieldsid)org.json.JSONObject
updateLabel(java.lang.String labelId, org.json.JSONObject data)
Update a label (see https://developers.trello.com/reference#id-1)org.json.JSONObject
updateNotification(java.lang.String notificationId, org.json.JSONObject data)
Update a notification (see https://developers.trello.com/reference#id-1)
-
-
-
Field Detail
-
BASE_URL
public static final java.lang.String BASE_URL
Base Trello API URL- See Also:
- Constant Field Values
-
WEBHOOK_SIGNATURE_HEADER
public static final java.lang.String WEBHOOK_SIGNATURE_HEADER
Webhook signature header- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TrelloTool
public TrelloTool()
Default constructor
-
TrelloTool
public TrelloTool(Grant g)
Constructor- Parameters:
g
- Grant
-
-
Method Detail
-
setKey
public void setKey(java.lang.String key)
Set the Trello API key- Parameters:
key
- Key
-
getKey
public java.lang.String getKey()
Get the Trello API key- Returns:
- Key
-
setToken
public void setToken(java.lang.String token)
Set the Trello API access token- Parameters:
token
- Access token
-
getToken
public java.lang.String getToken()
Get the Trello API access token- Returns:
- Token
-
setSecret
public void setSecret(java.lang.String secret)
Set the Trello API key- Parameters:
secret
- Secret
-
getSecret
public java.lang.String getSecret()
Get the Trello API secret- Returns:
- Secret
-
isDebug
public boolean isDebug()
Is in debug mode- Returns:
- True if in debug mode
-
setDebug
public void setDebug(boolean debug)
Set debug mode- Parameters:
debug
- Debug mode?
-
call
public java.lang.Object call(java.lang.String uri, java.lang.String method, java.lang.Object data) throws APIException
Generic call to Trello API- Parameters:
uri
- Relative URI to the BASE_URL constant (e.g.board/<board ID>
)method
- HTTP method (get/post/put/del)data
- Data (string or JSON object/array)- Returns:
- Call response
- Throws:
APIException
-
getParams
public java.lang.String getParams(org.json.JSONObject params)
Convert flat JSON object into HTTP query string (key=value)- Parameters:
params
- Flat JSON object- Returns:
- HTTP query string
-
getBoard
public org.json.JSONObject getBoard(java.lang.String boardId) throws APIException
Get a board data (see https://developers.trello.com/reference#boardsboardid-1)- Parameters:
boardId
- Board ID- Returns:
- Board data
- Throws:
APIException
-
getBoard
public org.json.JSONObject getBoard(java.lang.String boardId, org.json.JSONObject params) throws APIException
Get a board data (see https://developers.trello.com/reference#boardsboardid-1)- Parameters:
boardId
- Board IDparams
- Optional parameters- Returns:
- Board data
- Throws:
APIException
-
getBoardLists
public org.json.JSONArray getBoardLists(java.lang.String boardId) throws APIException
Get a board's lists data (see https://developers.trello.com/reference#boardsboardidlists)- Parameters:
boardId
- Board ID- Returns:
- Board's lists data
- Throws:
APIException
-
getBoardLists
public org.json.JSONArray getBoardLists(java.lang.String boardId, org.json.JSONObject params) throws APIException
Get a board's lists data (see https://developers.trello.com/reference#boardsboardidlists)- Parameters:
boardId
- Board IDparams
- Optional parameters- Returns:
- Board's lists data
- Throws:
APIException
-
getBoardCards
public org.json.JSONArray getBoardCards(java.lang.String boardId) throws APIException
Get a board's cards data (see https://developers.trello.com/reference#boardsboardidtest)- Parameters:
boardId
- Board ID- Returns:
- Board's cards data
- Throws:
APIException
-
getBoardCards
public org.json.JSONArray getBoardCards(java.lang.String boardId, org.json.JSONObject params) throws APIException
Get a board's cards data (see https://developers.trello.com/reference#boardsboardidtest)- Parameters:
boardId
- Board IDparams
- Optional parameters- Returns:
- Board's cards data
- Throws:
APIException
-
getList
public org.json.JSONObject getList(java.lang.String listId) throws APIException
Get a list data (see https://developers.trello.com/reference#listsid)- Parameters:
listId
- List ID- Returns:
- List data
- Throws:
APIException
-
getList
public org.json.JSONObject getList(java.lang.String listId, org.json.JSONObject params) throws APIException
Get a list data (see https://developers.trello.com/reference#listsid)- Parameters:
listId
- List IDparams
- Optional parameters- Returns:
- List data
- Throws:
APIException
-
getListCards
public org.json.JSONArray getListCards(java.lang.String listId) throws APIException
Get a list's cards data (see https://developers.trello.com/reference#listsidcards)- Parameters:
listId
- List ID- Returns:
- List's cards data
- Throws:
APIException
-
getListCards
public org.json.JSONArray getListCards(java.lang.String listId, org.json.JSONObject params) throws APIException
Get a list's cards data (see https://developers.trello.com/reference#listsidcards)- Parameters:
listId
- List IDparams
- Optional parameters- Returns:
- List's cards data
- Throws:
APIException
-
getCard
public org.json.JSONObject getCard(java.lang.String cardId) throws APIException
Get a card data (see https://developers.trello.com/reference#cardsid)- Parameters:
cardId
- Card ID- Returns:
- Card data
- Throws:
APIException
-
getCard
public org.json.JSONObject getCard(java.lang.String cardId, org.json.JSONObject params) throws APIException
Get a card data (see https://developers.trello.com/reference#cardsid)- Parameters:
cardId
- Card IDparams
- Optional parameters- Returns:
- Card data
- Throws:
APIException
-
addCard
@Deprecated public org.json.JSONObject addCard(java.lang.String listId, java.lang.String name, java.lang.String desc, org.json.JSONObject data) throws APIException
Deprecated.Deprecated Use addCard with single data argument- Throws:
APIException
-
addCard
public org.json.JSONObject addCard(java.lang.String listId, org.json.JSONObject data) throws APIException
Create a card (see https://developers.trello.com/reference#cards-2)- Parameters:
listId
- List ID to create card indata
- Card data- Returns:
- Created card data
- Throws:
APIException
-
updateCard
public org.json.JSONObject updateCard(java.lang.String cardId, org.json.JSONObject data) throws APIException
Update a card (see https://developers.trello.com/reference#cardsid-1)- Parameters:
cardId
- Card IDdata
- Card data- Returns:
- Updated card data
- Throws:
APIException
-
deleteCard
public void deleteCard(java.lang.String cardId) throws APIException
Delete a card (see https://developers.trello.com/reference#delete-card)- Parameters:
cardId
- Card ID- Throws:
APIException
-
getChecklist
public org.json.JSONObject getChecklist(java.lang.String checklistId) throws APIException
Get a checklist data (see https://developers.trello.com/reference#checklistsid)- Parameters:
checklistId
- Checklist ID- Returns:
- Checklist data
- Throws:
APIException
-
getChecklist
public org.json.JSONObject getChecklist(java.lang.String checklistId, org.json.JSONObject params) throws APIException
Get a checklist data (see https://developers.trello.com/reference#checklistsid)- Parameters:
checklistId
- Checklist IDparams
- Optional parameters- Returns:
- Checklist data
- Throws:
APIException
-
addChecklist
public org.json.JSONObject addChecklist(org.json.JSONObject data) throws APIException
Create a checklist (see https://developers.trello.com/reference#checklists)- Parameters:
data
- Checklist data- Returns:
- Created checklist data
- Throws:
APIException
-
updateChecklist
public org.json.JSONObject updateChecklist(java.lang.String checklistId, org.json.JSONObject data) throws APIException
Update a checklist (see https://developers.trello.com/reference#checklistsid-1)- Parameters:
checklistId
- Checklist IDdata
- Checklist data- Returns:
- Updated checklist data
- Throws:
APIException
-
deleteChecklist
public void deleteChecklist(java.lang.String checklistId) throws APIException
Delete a checklist (see https://developers.trello.com/reference#checklistsid-2)- Parameters:
checklistId
- Checklist ID- Throws:
APIException
-
getCustomField
public org.json.JSONObject getCustomField(java.lang.String customFieldId) throws APIException
Get a custom field data (see https://developers.trello.com/reference#customfieldsid-3)- Parameters:
customFieldId
- Custom field ID- Returns:
- Custom field data
- Throws:
APIException
-
getCustomField
public org.json.JSONObject getCustomField(java.lang.String customFieldId, org.json.JSONObject params) throws APIException
Get a custom field data (see https://developers.trello.com/reference#customfieldsid-3)- Parameters:
customFieldId
- Custom field IDparams
- Optional parameters- Returns:
- Custom field data
- Throws:
APIException
-
addCustomField
public org.json.JSONObject addCustomField(java.lang.String boardId, org.json.JSONObject data) throws APIException
Create a custom field for a board (see https://developers.trello.com/reference#customfields)- Parameters:
boardId
- Board IDdata
- Custom field data- Returns:
- Created custom field data
- Throws:
APIException
-
updateCustomField
public org.json.JSONObject updateCustomField(java.lang.String customFieldId, org.json.JSONObject data) throws APIException
Update a custom field (see https://developers.trello.com/reference#customfieldsid)- Parameters:
customFieldId
- Custom field IDdata
- Custom field data- Returns:
- Updated custom field data
- Throws:
APIException
-
deleteCustomField
public void deleteCustomField(java.lang.String customFieldId) throws APIException
Delete a custom field (see https://developers.trello.com/reference#customfieldsid-1)- Parameters:
customFieldId
- Custom field ID- Throws:
APIException
-
getCustomFieldOptions
public org.json.JSONArray getCustomFieldOptions(java.lang.String customFieldId) throws APIException
Get a custom field's options data (see https://developers.trello.com/reference#customfieldsidoptions-1)- Parameters:
customFieldId
- Custom field ID- Returns:
- Custom field's options data
- Throws:
APIException
-
getCustomFieldOptions
public org.json.JSONArray getCustomFieldOptions(java.lang.String customFieldId, org.json.JSONObject params) throws APIException
Get a custom field's options data (see https://developers.trello.com/reference#customfieldsidoptions-1)- Parameters:
customFieldId
- Custom field IDparams
- Optional parameters- Returns:
- Custom field's options data
- Throws:
APIException
-
addCustomFieldOption
public org.json.JSONObject addCustomFieldOption(java.lang.String customFieldId, org.json.JSONObject data) throws APIException
Create a custom field's option (see https://developers.trello.com/reference#customfieldsidoptions-2)- Parameters:
customFieldId
- Custom field IDdata
- Custom field's option data- Returns:
- Created custom field's option data
- Throws:
APIException
-
deleteCustomFieldOption
public void deleteCustomFieldOption(java.lang.String customFieldId, java.lang.String optionId) throws APIException
Delete a custom field's option (see https://developers.trello.com/reference#customfieldsidoptionsidcustomfieldoption-1)- Parameters:
customFieldId
- Custom field's option ID- Throws:
APIException
-
getBoardCustomFields
public org.json.JSONArray getBoardCustomFields(java.lang.String boardId, java.lang.String customFieldId) throws APIException
Get a board's custom fields data (see https://developers.trello.com/reference#boardsidcustomfields-1)- Parameters:
boardId
- Board IDcustomFieldId
- Custom field ID- Returns:
- Board's custom fields data
- Throws:
APIException
-
getBoardCustomFields
public org.json.JSONArray getBoardCustomFields(java.lang.String boardId, java.lang.String customFieldId, org.json.JSONObject params) throws APIException
Get a board's custom field items data (see https://developers.trello.com/reference#boardsidcustomfields-1)- Parameters:
boardId
- Board IDcustomFieldId
- Custom field IDparams
- Optional parameters- Returns:
- Board's custom fields data
- Throws:
APIException
-
setCardCustomFieldItem
public org.json.JSONObject setCardCustomFieldItem(java.lang.String cardId, java.lang.String customFieldId, org.json.JSONObject data) throws APIException
Update a card's custom field item (see https://developers.trello.com/reference#customfielditemsid)- Parameters:
cardId
- Card IDcustomFieldId
- Custom field IDdata
- Custom field data- Returns:
- Updated card's custom field item data
- Throws:
APIException
-
getLabel
public org.json.JSONObject getLabel(java.lang.String labelId) throws APIException
Get a label data (see https://developers.trello.com/reference#id)- Parameters:
labelId
- Label ID- Returns:
- Label data
- Throws:
APIException
-
getLabel
public org.json.JSONObject getLabel(java.lang.String labelId, org.json.JSONObject params) throws APIException
Get a label data (see https://developers.trello.com/reference#id)- Parameters:
labelId
- Label IDparams
- Optional parameters- Returns:
- Label data
- Throws:
APIException
-
addLabel
public org.json.JSONObject addLabel(org.json.JSONObject data) throws APIException
Create a label (see https://developers.trello.com/reference#page-1)- Parameters:
data
- Label data- Returns:
- Created label data
- Throws:
APIException
-
updateLabel
public org.json.JSONObject updateLabel(java.lang.String labelId, org.json.JSONObject data) throws APIException
Update a label (see https://developers.trello.com/reference#id-1)- Parameters:
labelId
- Label IDdata
- Label data- Returns:
- Updated label data
- Throws:
APIException
-
deleteLabel
public void deleteLabel(java.lang.String labelId) throws APIException
Delete a label (see https://developers.trello.com/reference#id-2)- Parameters:
labelId
- Label ID- Throws:
APIException
-
getNotification
public org.json.JSONObject getNotification(java.lang.String notificationId) throws APIException
Get a notification data (see https://developers.trello.com/reference#id)- Parameters:
notificationId
- Notification ID- Returns:
- Notification data
- Throws:
APIException
-
getNotification
public org.json.JSONObject getNotification(java.lang.String notificationId, org.json.JSONObject params) throws APIException
Get a notification data (see https://developers.trello.com/reference#id)- Parameters:
notificationId
- Notification IDparams
- Optional parameters- Returns:
- Notification data
- Throws:
APIException
-
addNotification
public org.json.JSONObject addNotification(org.json.JSONObject data) throws APIException
Create a notification (see https://developers.trello.com/reference#page-1)- Parameters:
data
- Notification data- Returns:
- Created notification data
- Throws:
APIException
-
updateNotification
public org.json.JSONObject updateNotification(java.lang.String notificationId, org.json.JSONObject data) throws APIException
Update a notification (see https://developers.trello.com/reference#id-1)- Parameters:
notificationId
- Notification IDdata
- Notification data- Returns:
- Updated notification data
- Throws:
APIException
-
deleteNotification
public void deleteNotification(java.lang.String notificationId) throws APIException
Delete a notification (see https://developers.trello.com/reference#id-2)- Parameters:
notificationId
- Notification ID- Throws:
APIException
-
getMember
public org.json.JSONObject getMember(java.lang.String memberIdOrUsername) throws APIException
Get a member data (see https://developers.trello.com/reference#membersid)- Parameters:
memberIdOrUsername
- Member ID or username- Returns:
- Member data
- Throws:
APIException
-
getMember
public org.json.JSONObject getMember(java.lang.String memberIdOrUsername, org.json.JSONObject params) throws APIException
Get a member data (see https://developers.trello.com/reference#membersid)- Parameters:
memberIdOrUsername
- Member ID or usernameparams
- Optional parameters- Returns:
- Member data
- Throws:
APIException
-
getOrganization
public org.json.JSONObject getOrganization(java.lang.String organizationId) throws APIException
Get an organization data (see https://developers.trello.com/reference#organizationsid)- Parameters:
organizationId
- Organization ID- Returns:
- Organization data
- Throws:
APIException
-
getOrganization
public org.json.JSONObject getOrganization(java.lang.String organizationId, org.json.JSONObject params) throws APIException
Get an organization data (see https://developers.trello.com/reference#organizationsid)- Parameters:
organizationId
- Organization IDparams
- Optional parameters- Returns:
- Organization data
- Throws:
APIException
-
checkWebhookSignature
public boolean checkWebhookSignature(Parameters params)
Check webhook signature (see https://developers.trello.com/page/webhooks)- Parameters:
params
- Request parameters- Returns:
- True if signature is valid
-
registerWebhook
public java.lang.String registerWebhook(java.lang.String idModel, java.lang.String callbackURL, java.lang.String desc) throws APIException
Create or update a webhook (see https://developers.trello.com/page/webhooks)- Parameters:
idModel
- ID of the object to create a webhook oncallbackURL
- Callback URLdesc
- Optional description- Returns:
- Webhook ID
- Throws:
APIException
-
-