Conversation

A binder object in Moxtra provide the following properties:

Name Description Example
id Binder ID. B7V4ze37oO08PYO70973lX6
name Name of the binder. My First Binder
status Current user status in the binder. BOARD_MEMBER, BOARD_INVITED
created_time The timestamp, when the binder object was created. 1348864985783
updated_time The timestamp, when the binder object was updated. 1348864985783
feeds_timestamp The timestamp, when the last feeds the binder object has. If no feeds, it is the same as the updated_time. 1348864985783
total_comments Total # of comments in the binder. 10
total_members Total # of members in the binder. 4
total_pages Total # of pages in the binder. 20
total_todos Total # of todos in the binder. 18
revision Revision number of the binder. 20
thumbnail_uri Link that points to the thumbnail image (cover image) of the binder. https://www.moxtra.com/board/B7V4ze37oO08PYO70973lX6/6376
restricted Whether the binder is for internal collaboration only. false
conversation Chat binder or not. false
team Is this a team binder? false
unread_feeds Number of unchecked feeds 2
last_feed The last feed in the binder. Activity Stream format
binder_email Email address for the binder 1bb99dda0c52d475b8108b402c74bcc1@moxtra.me
favorite Favorite binder or not. false

Name Description Example
page_id Page ID. 71
page_index Original page order number. 10
original_file_name Original file name. test.pdf
file_id File ID. 78a91635-5f36-498e-8722-517124b9921e
type Page types: PAGE_TYPE_PDF, PAGE_TYPE_IMAGE, PAGE_TYPE_WHITEBOARD, PAGE_TYPE_AUDIO, PAGE_TYPE_VIDEO, PAGE_TYPE_NOTE, PAGE_TYPE_WEB, PAGE_TYPE_URL. PAGE_TYPE_PDF
page_number Page display order. 45
page_uri Link that points to the page. https://www.moxtra.com/board/B7V4ze37oO08PYO70973lX6/71
thumbnail_uri Link that points to the thumbnail image of the page. https://www.moxtra.com/board/B7V4ze37oO08PYO70973lX6/71/74
background_uri Link that points to the page background image. https://www.moxtra.com/board/B7V4ze37oO08PYO70973lX6/71/70
width Width of the page. 1024
height Height of the page. 768
revision Revision number of the page. 20
created_time The timestamp, when the page object was created. 1348864985783
updated_time The timestamp, when the page object was updated. 1348864985783
is_deleted Flag to indicaite the page has been deleted or not. false

Name Description Example
type User type in a binder. BOARD_OWNER
status User status in a binder. BOARD_MEMBER, BOARD_INVITED
revision Revision number of the user. 12
notification_off Supress feed for the binder. false
created_time The timestamp, when the page object was created. 1348864985783
updated_time The timestamp, when the page object was updated. 1348864985783
id (In user of users array) User ID. UiaduESWsbzFoK9TOldC6zF
name (In user of users array) The full name of the user. John Doe
email (In user of users array) The email address of the user if not having unique_id. john.doe@acme.com
unique_id (In user of users array) Unique_id of the user if not having email. A453224
org_id (In user of users array) The org id if the user belongs to an org. PZCuoBuYrnO4NXsdTmn4gP5
picture_uri (In user of users array) Link to picture of the user. https://www.moxtra.com/board/ CBF2xn2Xa8sU1zXRkhpAZ0F4/user/2/5416
id (In team of users array) The Team Id. PRTA3fRhzcxEPit77Dw063F
name (In team of users array) The Team name. John's team

Name Description Example
name (In tags array) Tag name. Research
value (In tags array) Tag value. Communicate

Get Binder List

Get binder list identified by {user_id}. The maximum returned value is 200. Using "timestamp" and "until" parameters to make paginated request.

GET /{user_id}/binders

URL Parameters
Name Type Description
returnusers Boolean Optional: If the response should contain the list of users in the binder. Default is false.
filter String Optional: Default is "binder".
  • binder - page binders
  • chat - chat binders
  • unread - unread binders
  • favorite - favorite binders
  • all - all binders
  • 1-1 - one-on-one binders
sort String Optional:
  • "name" - return binders in ascending order on binder name.
  • "feeds" - return binders in descending order on binder feeds_timestamp.
  • Default is to return binders in ascending order on binder created_time.
timestamp Number Optional: Feeds or updated time (if no feeds) before the specified time in milliseconds since 1/1/1970 0:0:0.
until Number Optional: Feeds or updated time (if no feeds) after the specified time in milliseconds since 1/1/1970 0:0:0.
count Number Optional: Maximum number of binders return. If both "timestamp" and "until" are specified, the "count" is not used.
category String Optional: List of binders for a specific category_id; for example, "301"
unique_ids String Optional: List of binder with users based on unique_id separated by "," for AND operation; for example, "12334,23212"
emails String Optional: List of binder with users based on email separated by "," for AND operation; for example, "joe@yahoo.com,jim@test.com"
user_ids String Optional: List of binder with users based on user_id separated by "," for AND operation; for example, "UiaduESWsbzFoK9TOldC6zF,Utkj3YC5BxRHCCaq9widP67"
tags_include String Optional: List of binder including tags separated by "," for OR operation; for example, "Research,Show"
tags_exclude String Optional: List of binder excluding tags separated by "," for OR operation; for example, "Data,Show" If the same tag is used in tags_exclude and tags_include, tags_exclude takes priority.
binder_owner Boolean Optional: List only the binders whose owner is the current user. Default is false.

Sample Request
GET /me/binders
Sample Response
{
    "code": "RESPONSE_SUCCESS",
    "data": {
        "unread_feeds": 3,
        "binders": [
        {
            "category": 2004,
            "binder":
            {
                "id": "B9rArkzRe094lPPiMH4UpS8",
                "name": "test",
                "created_time": 1340839882787,
                "updated_time": 1347925074233,                
                "total_comments": 0,
                "total_members": 3,
                "total_pages": 13,
                "total_todos": 2,
                "revision": 117,
                "thumbnail_uri": "https://www.moxtra.com/images/binder/default_cover.png",
                "conversation": false,                
                "restricted": false,
                "favorite": false,
                "unread_feeds": 1,
                "last_feed": { 
                    "actor": { 
                        "displayName": "Test Wend",
                        "id": "UiaduESWsbzFoK9TOldC6zF",
                        "image": null,
                        "objectType": "person",
                        "published": "2014-11-11T03:15:18Z",
                        "updated": "2015-03-12T01:34:59Z"
                      },
                    "generator": { 
                        "id": "B9rArkzRe094lPPiMH4UpS8" 
                      },
                    "object": { 
                        "content": "<p>a drawing</p>",
                        "id": "369",
                        "objectType": "comment",
                        "published": "2015-01-10T08:53:08Z",
                        "updated": "2015-01-10T08:53:08Z"
                      },
                    "published": "2015-01-10T08:53:08Z",
                    "target": { 
                        "displayName": "Conversation",
                        "id": "B9rArkzRe094lPPiMH4UpS8",
                        "image": "https://www.moxtra.com/board/B9rArkzRe094lPPiMH4UpS8/37",
                        "objectType": "binder",
                        "published": "2013-09-06T17:28:25Z",
                        "updated": "2015-03-12T01:34:59Z",
                        "url": "https://www.moxtra.com/B9rArkzRe094lPPiMH4UpS8"
                      },
                    "verb": "post"
                },
                "team": false,                
                "binder_email": "1bb99dda0c52d475b8108b402c74bcc1@moxtra.me",
                "users": [
                {
                    "created_time": 1340839882787,
                    "revision": 36,
                    "status": "BOARD_MEMBER",
                    "type": "BOARD_OWNER",
                    "updated_time": 1343341334786,
                    "user": {
                        "email": "test@gmail.com",
                        "id": "UiaduESWsbzFoK9TOldC6zF",
                        "name": "Test Wend",
                        "picture_uri": "https://www.moxtra.com/board/B9rArkzRe094lPPiMH4UpS8/user/3/2458"
                    },
                    "team": null
                },
                {
                    "created_time": 1347693971840,
                    "revision": 106,
                    "status": "BOARD_INVITED",
                    "type": "BOARD_READ_WRITE",
                    "updated_time": 1347693971840,
                    "user": {
                        "email": "jrogers@btca.com"
                    },
                    "team": null                    
                },
                {
                    "created_time": 1347920572382,
                    "revision": 108,
                    "status": "BOARD_MEMBER",
                    "type": "BOARD_READ_WRITE",
                    "updated_time": 1347920572382,
                    "user": null,
                    "team": {
                        "id": "PRTA3fRhzcxEPit77Dw063F",
                        "name": "John's team"
                    }
                }
                ]
            }
        },
        {
            "category": 0,
            "binder":
            {
                "id": "Bks9ZahBYl13Z9CKjB1srX5",
                "name": "iPhone's Binder",
                "created_time": 1341246771897,
                "updated_time": 1343341325255,                
                "total_comments": 0,
                "total_members": 1,
                "total_pages": 1,
                "total_todos": 0,
                "revision": 248,
                "thumbnail_uri": "https://www.moxtra.com/images/binder/default_cover.png",
                "conversation": false,                
                "restricted": false,
                "favorite": false,                
                "unread_feeds": 0,
                "last_feed": null,
                "binder_email": "88skfddaseqwa0c52d475b810s8b402asc74b@moxtra.me",
                "team": false,                
                "users": [
                {
                    "created_time": 1341246771897,
                    "revision": 5,
                    "status": "BOARD_MEMBER",
                    "type": "BOARD_OWNER",
                    "updated_time": 1343341325255,
                    "user": {
                        "email": "test@gmail.com",
                        "id": "UiaduESWsbzFoK9TOldC6zF",
                        "name": "Test Wend",
                        "picture_uri": "https://www.moxtra.com/board/Bks9ZahBYl13Z9CKjB1srX5/user/1/224"
                    },
                    "team": null                    
                }
                ],
                
            }
        }
        ]
    }
}

Create Binder

Create a binder identified by {user_id}.

POST /{user_id}/binders

JSON Parameters
Name Type Description
name String Name of the binder.
restricted Boolean Optional: Restrict the binder only for internal collaboration. Default is false.
conversation Boolean Optional: To make binder for Chat only or not. Default is false.
suppress_feed Boolean Optional: Whether to turn off feed for this operation. Default is false.
name (In tags array; Optional: tags array) String Tag name.
value (In tags array; Optional: tags array) String Tag value.
Sample Request
POST /me/binders
{
    "name": "Hello World"
}
Sample Request with tags
POST /me/binders
{
    "name": "Hello World",
    "tags": [
    {
        "name": "Research",
        "value": "Communicate"
    }
    ]
}
Sample Response
{
    "code": "RESPONSE_SUCCESS",
    "data": {
        "id": "B7U3ze39oO08PYO70973lX6",
        "name": "Hello World",
        "revision": 3,
        "created_time": 1342813061602,
        "updated_time": 1342813061602
    }
}

Get Binder Details

Get binder details identified by {binder_id}

GET /{binder_id}

URL Parameters
Name Type Description
revision Number Optional: Get binder details after this revision number.

Sample Request
GET /B9rArkzRe094lPPiMH4UpS8
Sample Response
{
    "code": "RESPONSE_SUCCESS",
    "data": {
        "id": "B9rArkzRe094lPPiMH4UpS8",       
        "name": "test",
        "created_time": 1340839882787,
        "updated_time": 1347925074233,        
        "total_comments": 0,
        "total_members": 3,
        "total_pages": 2,
        "total_todos": 6,
        "revision": 133,
        "thumbnail_uri": "https://www.moxtra.com/images/binder/default_cover.png",
        "conversation": false,        
        "restricted": false,
        "favorite": false,        
        "unread_feeds": 0,
        "binder_email": "1bb99dda0c52d475b8108b402c74bcc1@moxtra.me",
        "team": false,                
        "pages": [
        {
            "height": 768,
            "width": 1024,
            "revision": 314,
            "id": 71,
            "page_index": 1,
            "page_number": "100.019997",
            "page_uri": "/board/B9rArkzRe094lPPiMH4UpS8/71",
            "thumbnail_uri": "/board/B9rArkzRe094lPPiMH4UpS8/71/73",
            "background_uri": "/board/B9rArkzRe094lPPiMH4UpS8/71/78",
            "created_time": 1347925037233,
            "updated_time": 1347925037233,
            "is_deleted": false,
            "type": "PAGE_TYPE_PDF",
            "original_file_name": "web_hooks.docx",
            "file_id": "78a91635-5f36-498e-8722-517124b9921e"            
        },
        {
            "height": 791,
            "width": 612,
            "revision": 578,
            "id": 154,
            "page_index": 2,
            "page_number": "100.029999",
            "page_uri": "/board/B9rArkzRe094lPPiMH4UpS8/154",
            "thumbnail_uri": "/board/B9rArkzRe094lPPiMH4UpS8/154/157",
            "background_uri": "/board/B9rArkzRe094lPPiMH4UpS8/154/160",
            "created_time": 1347925064548,
            "updated_time": 1347925064548,
            "is_deleted": false,
            "type": "PAGE_TYPE_PDF",
            "original_file_name": "web_hooks.docx",
            "file_id": "78a91635-5f36-498e-8722-517124b9921e"             
        }
        ],
        "users": [
        {
            "created_time": 1340839882787,
            "revision": 36,
            "status": "BOARD_MEMBER",
            "type": "BOARD_OWNER",
            "updated_time": 1343341334786,
            "user": {
                "email": "jon@gmail.com",
                "id": "UiaduESWsbzFoK9TOldC6zF",
                "name": "jonathan Chang"
            },
            "team": null
        },
        {
            "created_time": 1347693971840,
            "revision": 106,
            "status": "BOARD_INVITED",
            "type": "BOARD_READ_WRITE",
            "updated_time": 1347693971840,
            "user": {
                "email": "jrogers@btca.com"
            },
            "team": null            
        },
        {
            "created_time": 1347920572382,
            "revision": 108,
            "status": "BOARD_INVITED",
            "type": "BOARD_READ_WRITE",
            "updated_time": 1347920572382,
            "user": {
                "email": "brenda@cardinal.net"
            },
            "team": null            
        }
        ],
        "tags": [
        {
            "name": "Research",
            "value": "Communicate"
        }
        ]        
    }
}

Update Binder

Update a binder name or tags identified by {binder_id}.

POST /{binder_id}

JSON Parameters
Name Type Description
name String Binder name.
name (In tags array; Optional: tags array) String Tag name.
value (In tags array; Optional: tags array) String Tag value. If setting value as "", the tag will get deleted.
Sample Request
POST /B7V4ze37oO08PYO70973lX6
{
    "name": "API Discussion"
}
Sample Request with tags
POST /B7V4ze37oO08PYO70973lX6
{
    "tags": [
    {
        "name": "Research",
        "value": "ok"
    }
    ]
}
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Delete Binder

Delete a binder identified by {binder_id}.

DELETE /{binder_id}

Sample Request
DELETE /B9rArkzRe094lPPiMH4UpS8
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Invite Users to Binder

Invite users to join the binder by the binder owner identified by {binder_id} via email or unique_id. The max users are 10 per request.

POST /{binder_id}/inviteuser

JSON Parameters
Name Type Description
email (In user of users array) String Email address of the contact to be invited.
unique_id (In user of users array) String Unique_id to be invited.
org_id (In user of users array) String Optional: org_id + unique_id for another org user to be invited.
id (In user of users array) String User id to be invited.
read_only (In users array for a particular user) Boolean Optional: Whether to make the invited user read-only to the binder. Default is false.
message String Optional: Message to be sent in the email invitation.
email_off Boolean Optional: Whether to turn off sending email. Default is false.
notification_off Boolean Optional: Whether to turn off push notification. Default is false.
suppress_feed Boolean Optional: Whether to turn off feed for this operation. Default is false.
id (In teams array for a particular team) String Optional: The team id of the team to be added to the binder directly.
read_only (In teams array for a particular team) Boolean Optional: Whether to make the team users read-only to the binder. Default is false.
Sample Request
POST /B7V4ze37oO08PYO70973lX6/inviteuser
{
    "users": [
    {
        "user": {
            "email": "test@gmail.com"
        }
    },
    {
        "read_only": true,
        "user": {
            "unique_id": "xa12233425343"
        }
    },
    {
        "user": {
            "unique_id": "A453224",
            "org_id": "PTHpzIJ4jGx1upvgjWZa4S1"
        }
    }
    ],
    "teams": [
    {
        "id": "PRTA3fRhzcxEPit77Dw063F",
        "read_only": true
    },
    {
        "id": "PJGHAHJi423kjh4c8Ew84HG"
    }
    ],
    "message": "Custom message to join this conversation..."
}
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Accept Invite to Join Binder

Accept the invitation to join the binder identified by {binder_id}; on the other hand, to reject the invitation using Remove Me from Binder.

POST /{binder_id}/acceptinvite

JSON Parameters
Name Type Description
suppress_feed Boolean Optional: Whether to turn off feed for this operation. Default is false.
Sample Request
POST /B7V4ze37oO08PYO70973lX6/acceptinvite
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Add Org Users to Binder

Add users from the same org into the binder by the binder owner identified by {binder_id}. Org user has to be pre-exist in the org.

POST /{binder_id}/addorguser [same as /{binder_id}/addteamuser]

JSON Parameters
Name Type Description
email (In user of users array) String Email address of the org member.
unique_id (In user of users array) String Unique_id to be added.
id (In user of users array) String User id to be added.
read_only (In users array for a particular user) Boolean Optional: Whether to make the org user read-only to the binder. Default is false.
suppress_feed Boolean Optional: Whether to turn off feed for this operation. Default is false.
id (In teams array for a particular team) String Optional: The team id of the team to be added to the binder directly.
read_only (In teams array for a particular team) Boolean Optional: Whether to make the team users read-only to the binder. Default is false.
Sample Request
POST /B7V4ze37oO08PYO70973lX6/addorguser
{
    "users": [
    {
        "user": {
            "email": "test@xyz.com"
        }
    },
    {
      "read_only": true,
        "user": {
            "unique_id": "rf131zadad22312"
        }
    }
    ],
    "teams": [
    {
        "id": "PRTA3fRhzcxEPit77Dw063F",
        "read_only": true
    },
    {
        "id": "PJGHAHJi423kjh4c8Ew84HG"
    }
    ]
}
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Update Users in Binder

Update users' access rights in the binder by the binder owner identified by {binder_id} via email or unique_id. The max users are 10 per request.

POST /{binder_id}/updateuser

JSON Parameters
Name Type Description
email (In user of users array) String Email address of the user in the binder.
unique_id (In user of users array) String Unique_id of the user in the binder.
org_id (In user of users array) String Optional: org_id + unique_id for another org user in the binder.
read_only (In users array for a particular user) Boolean Optional: To make the binder user read-only or read-write. Default is false (read-write).
suppress_feed Boolean Optional: Whether to turn off feed for this operation. Default is false.
id (In teams array for a particular team) String Optional: The team id of the team to be added to the binder directly.
read_only (In teams array for a particular team) Boolean Optional: Whether to make the team users read-only to the binder. Default is false.
Sample Request
POST /B7V4ze37oO08PYO70973lX6/updateuser
{
    "users": [
    {
        "user": {
            "email": "test@gmail.com"
        }
    },
    {
        "read_only": true,
        "user": {
            "unique_id": "xa12233425343"
        }
    },
    {
        "user": {
            "unique_id": "A453224",
            "org_id": "PTHpzIJ4jGx1upvgjWZa4S1"
        }
    }
    ],
}
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Remove User from Binder

Remove an user from a binder by the binder owner identified by {binder_id}.

POST /{binder_id}/removeuser

JSON Parameters
Name Type Description
email String Email address of an existing user in the binder.
unique_id String Unique_id of an existing user in the binder.
org_id String Optional: org_id + unique_id for another org user to be removed.
id String User id of an existing user in the binder.
team_id String Team id of an existing team in the binder.
suppress_feed Boolean Optional: Whether to turn off feed for this operation. Default is false.
Sample Request using email
POST /B7V4ze37oO08PYO70973lX6/removeuser
{
    "email": "joe@test.com"
}
Sample Request using unique_id
POST /B7V4ze37oO08PYO70973lX6/removeuser
{
    "unique_id": "fhas211nsjkaswd"
}
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Remove Me from Binder

Remove me from a binder where I am a member of the binder or an invitee rejects an invitation to the binder identified by {binder_id}.

POST /{binder_id}/removeme

JSON Parameters
Name Type Description
suppress_feed Boolean Optional: Whether to turn off feed for this operation. Default is false.
Sample Request
POST /B7V4ze37oO08PYO70973lX6/removeme
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Download Binder Pages

Download all the pages in the binder or selected pages of the binder identified by {binder_id}.

GET /{binder_id}/downloadpdf

URL Parameters
Name Type Description
filter String Optional: Page IDs separated by comma ",".

Sample Request
GET /B9rArkzRe094lPPiMH4UpS8/downloadpdf?filter=1,4
Sample Response
#PDF File

Clone Binder by Binder ID

Duplicate/Clone the binder identified by {binder_id}.

POST /{binder_id}/clone

JSON Parameters
Name Type Description
name String New binder name.
Sample Request
POST /B7V4ze37oO08PYO70973lX6/clone
{
    "name": "New Binder Name"
}
Sample Response
{
    "code": "RESPONSE_SUCCESS"
    "data": {
        "binder_id": "Bks9ZahBYl13Z9CKjB1srX5",
        "binder_name": "New Binder Name"
    }
}

Cover Upload

Upload binder cover image to the binder identified by {binder_id} via multipart/form-data.

POST /{binder_id}/coverupload

Multipart/form-data Parameters
Name Type Description
file file Actual image file that is uploaded to the binder as the binder cover.

Sample Request
POST /B9rArkzRe094lPPiMH4UpS8/coverupload
...
Content-Type: multipart/form-data; boundary=---------------------------9051914041544843365972754266
Content-Length: 554

-----------------------------9051914041544843365972754266
Content-Disposition: form-data; name="file"; filename="image.jpg"
Content-Type: image/jpg

Content of image.jpg
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Remove Binder Cover

Remove the uploaded binder cover identified by {binder_id}.

DELETE /{binder_id}/cover

Sample Request
DELETE /B9rArkzRe094lPPiMH4UpS8/cover
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Turn on Binder Notifications

Turn on binder notifications identified by {binder_id}.

POST /{binder_id}/notifications

Sample Request
POST /B7V4ze37oO08PYO70973lX6/notifications
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Turn off Binder Notifications

Turn off binder notifications identified by {binder_id}.

DELETE /{binder_id}/notifications

Sample Request
DELETE /B9rArkzRe094lPPiMH4UpS8/notifications
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Binder Mark as Read

To indicate that user has read the unread feeds of the binder identified by {binder_id}.

POST /{binder_id}/markasread

Sample Request
POST /B7V4ze37oO08PYO70973lX6/markasread
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}

Set Favorite Binders

Set binders as favorite or remove the setting identified by {user_id}.

POST /{user_id}/favorites

JSON Parameters
Name Type Description
id (In binder of binders array) String Binder ID.
favorite (In binder of binders array) Boolean Optional: To make favorite binder or not. Default is true.
Sample Request
POST /me/favorites
{
    "binders": [
    {
        "binder": {
            "id": "B7V4ze37oO08PYO70973lX6"
        }
    },
    {
        "binder": {
            "id": "B7V4ze37oO08PYO70973lX7",
            "favorite": false
        }
    }
    ]
}
Sample Response
{
    "code": "RESPONSE_SUCCESS"
}