cURL offers a blueprint to the Zipwhip API. It also, is the easiest way to sample our API. Because all it requires is a terminal or command window.

Have an account? Yes, great let’s get started. Otherwise, head over to the Zipwhip’s Sign Up page.

Perform quick user/login:

user/login
curl https://api.zipwhip.com/user/login \
-d username=8559479447 \
-d password=&qYDgGyT[q[62T>TrG^]

The response will contain the account’s sessionKey.

sample user/login response
{
"response": "8ef1211f-d9f2-4c81-906f-7d27da5a32f8:309626613",
"success": true
}

So then lets do a message/send. Using the sessionKey provided by the user/login response.

message/send
curl https://api.zipwhip.com/message/send \
-d body=Hi. \
-d contacts=ptn:/3608964896 \
-d session=8ef1211f-d9f2-4c81-906f-7d27da5a32f8:309626613

That’s it, we’ve sent a message through the Zipwhip API.

If at any point you have a question about the API provided please reach out to api@zipwhip.com

This method can take one or more contact ID(s) and delete those records from Zipwhip. A contact’s ID is available from contact/list or part of the return from message/send.

Parameters:

Name Required Description
contact  true  This is the contact ID that is return from contact/list. A contact ID is also part of the return from message/send.
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.

Snippets:

Delete single contact:
Input
$ curl https://api.zipwhip.com/contact/delete \
    -d session=41048e5c-2334-4d99-ac82-c5de15ea15c6:309626613 \
    -d contact=1999569403
Output
{
  "response": false,
  "success": true
}
Delete multiple contacts:
Input
$ curl https://api.zipwhip.com/contact/delete \
    -d session=41048e5c-2334-4d99-ac82-c5de15ea15c6%3A309626613 \
    -d contact=1999569403 \
    -d contact=1999569405
Output
{
  "response": false,
  "success": true
}

This method returns all contacts associated with session provided.

Parameters:

Name Required Description
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.
page false For paginated results iterate over the requested page(s) for all available content.
pageSize false Specify the number of results returned for a paginated method.

Snippets:

Standard contact/list:
Input
$ curl https://api.zipwhip.com/contact/list \
-d session=41048e5c-2334-4d99-ac82-c5de15ea15c6:309626613
Output
{
  "total": 2,
  "response": [
    {
      "address": "ptn:/2062164915",
      "birthday": null,
      "business": null,
      "carrier": "Zipwhip",
      "channel": "",
      "city": "",
      "dateCreated": "2013-04-10T21:38:55-07:00",
      "deleted": false,
      "deviceId": 309626613,
      "email": "",
      "firstName": "Charlie The Dog",
      "fwd": "",
      "id": 2109659003,
      "lastName": "",
      "lastUpdated": "2013-04-10T21:42:48-07:00",
      "latlong": "",
      "loc": "",
      "mobileNumber": "2062164915",
      "notes": "",
      "phoneId": 0,
      "phoneKey": "",
      "state": "",
      "targetGroupDevice": -1,
      "thread": "",
      "version": 6,
      "zipcode": ""
    },
    {
      "address": "ptn:/2064551715",
      "birthday": null,
      "business": null,
      "carrier": "Vzw",
      "channel": "",
      "city": "",
      "dateCreated": "2013-02-22T10:34:06-08:00",
      "deleted": false,
      "deviceId": 309626613,
      "email": "",
      "firstName": "Veronica",
      "fwd": "",
      "id": 1991164703,
      "lastName": "",
      "lastUpdated": "2013-04-10T21:17:11-07:00",
      "latlong": "",
      "loc": "",
      "mobileNumber": "2064551715",
      "notes": "",
      "phoneId": 0,
      "phoneKey": "2064551715",
      "state": "",
      "targetGroupDevice": -1,
      "thread": "",
      "version": 6,
      "zipcode": ""
    }
  ],
  "page": 1,
  "pages": 1,
  "success": true
}

Save details about the contact for the given phone number.

Parameters:

Name Required Description
address  true For US domestic use 10-digit number. For International numbers use full E.164 format. Examples: US: 5555555555 E.164: +1155555555555
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.
city false The name city where the contact resides.
email false The email address of the contact being saved.
firstName false The first name of the contact being saved.
lastName false The last name of the contact being saved.
loc false Location, used typically for the street address of the contact.
notes false Notes about the contact, limit 255 characters.
state false The state where the contact resides.

Snippets:

Update an existing contact:
Input
$ curl https://api.zipwhip.com/contact/save \
    -d address=ptn:/2069797487 \
    -d session=41048e5c-2334-4d99-ac82-c5de15ea15c6:309626613 \
    -d firstName=Amy \
    -d lastName=Jones \
    -d email=amy%40zipwhip.com \
    -d phone= \
    -d city=Seattle \
    -d state=WA \
    -d zipcode=98121 \
    -d notes=Zipwhip%20Test%20Phone \
    -d loc=190%20Queen%20Anne%20Avenue%20North \
    -d deviceId=309626613
Output
{
  "response": {
    "user": {
      "firstName": "Angy",
      "lastName": "Jones",
      "businessName": null,
      "mobileNumber": "2069797487",
      "carrier": "AT&T",
      "fullName": "Amy Jones",
      "phoneKey": "",
      "email": "amy@zipwhip.com",
      "zipcode": "98121",
      "state": "WA",
      "city": "Seattle",
      "birthday": "",
      "loc": "2401 4th Ave",
      "latlong": "",
      "notes": "",
      "websiteDeviceKey": "8ef1211f-d9f2-4c81-906f-7d27da5a32f8",
      "websiteDeviceId": 309626613
    },
    "groups": []
  },
  "success": true
}

This deletes the conversation based on the provided conversation ID. It also deletes the associated messages.

Parameters:

Name Required Description
fingerprint  true The unique identifier for a conversation. This can be retrieved from a conversation/list.
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.

Snippets:

Deleting a single conversation:
Input
$ curl https://api.zipwhip.com/conversation/delete \
    -d session=41048e5c-2334-4d99-ac82-c5de15ea15c6:309626613 \
    -d fingerprint=144222537803
Output
{
  "response": true,
  "success": true
}

Retrieves conversation details and messages that specific to the conversation ID provided.

Parameters:

Name Required Description
fingerprint  true The unique identifier for a conversation. This can be retrieved from a conversation/list.
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.
limit false Limit the number of elements returned when paging.
start false When paging through content, this field is used to tell the controller what element to start at for the next page.

Snippets:

Retrieve messages for supplied conversation fingerprint:
Input

$ curl https://api.zipwhip.com/conversation/get \
	-d fingerprint=4233621183 \
	-d session=8ef1211f-d9f2-4c81-906f-7d27da5a32f8:309626613 \
	-d limit=30 \
	-d start=0
Output
{
  "response": {
    "conversation": {
      "address": "ptn:/3608964896",
      "bcc": null,
      "cc": null,
      "dateCreated": "2013-02-21T16:54:39-08:00",
      "deleted": false,
      "deviceAddress": null,
      "deviceId": 309626613,
      "fingerprint": "4233621183",
      "id": 142836952103,
      "lastContactDeviceId": 309626613,
      "lastContactFirstName": "Tim",
      "lastContactId": 1989548603,
      "lastContactLastName": "Jones",
      "lastContactMobileNumber": "3608964896",
      "lastMessageBody": "Nada much.",
      "lastMessageDate": "2013-04-24T17:47:12-07:00",
      "lastNonDeletedMessageDate": "2013-04-24T17:47:12-07:00",
      "lastUpdated": "2013-04-24T17:51:45-07:00",
      "unreadCount": 0,
      "version": 1
    },
    "messages": [
      {
        "address": "ptn:/3608964896",
        "advertisement": null,
        "bcc": null,
        "body": "Nada much.",
        "carrier": "ATT",
        "cc": null,
        "contactDeviceId": 309626613,
        "contactId": 1989548603,
        "dateCreated": "2013-04-24T17:47:12-07:00",
        "destAddress": "8559479447",
        "deviceId": 309626613,
        "errorState": false,
        "fingerprint": "4233621183",
        "firstName": "Tim",
        "fromName": null,
        "fwd": "",
        "hasAttachment": false,
        "id": "327222223187526144",
        "isInFinalState": false,
        "isParent": false,
        "isRead": true,
        "isSelf": false,
        "lastName": "Jones",
        "lastUpdated": null,
        "messageTransport": 8,
        "mobileNumber": "3608964896",
        "parentId": 0,
        "sourceAddress": "3608964896",
        "thread": "",
        "transmissionState": {
          "name": "DELIVERED"
        },
        "type": "MO",
        "version": 0,
        "visible": true
      },
      {
        "address": "ptn:/3608964896",
        "advertisement": "\n\nSent via Zipwhip",
        "bcc": null,
        "body": " yo wassup?",
        "carrier": "ATT",
        "cc": null,
        "contactDeviceId": 309626613,
        "contactId": 1989548603,
        "dateCreated": "2013-04-24T17:46:48-07:00",
        "destAddress": "3608964896",
        "deviceId": 309626613,
        "errorState": false,
        "fingerprint": "4233621183",
        "firstName": "Tim",
        "from": 1989548603,
        "fromName": "Zipwhip,",
        "fwd": "",
        "hasAttachment": false,
        "id": "327222123279641664",
        "isInFinalState": false,
        "isParent": false,
        "isRead": true,
        "isSelf": false,
        "lastName": "Jones",
        "lastUpdated": null,
        "latlong": "",
        "loc": "",
        "mobileNumber": "3608964896",
        "parentId": 0,
        "sourceAddress": "8559479447",
        "thread": "",
        "transmissionState": {
          "name": "DELIVERED"
        },
        "type": "ZO",
        "version": 0,
        "visible": true
      }
    ]
  },
  "success": true
}

Provides a list of conversations associated with the account.

Parameters:

Name Required Description
session  true
This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.
limit false Limit the number of elements returned when paging.
start false When paging through content, this field is used to tell the controller what element to start at for the next page.

Snippets:

Retrieving the most recent 999 conversations:
Input
$ curl https://api.zipwhip.com/conversation/list \
    -d session=8ef1211f-d9f2-4c81-906f-7d27da5a32f8:309626613 \
    -d limit=999 \
    -d start=0
Output
{
  "total": 2,
  "response": [
    {
      "address": "ptn:/2068308909",
      "bcc": null,
      "cc": null,
      "dateCreated": "2013-04-18T11:44:57-07:00",
      "deleted": false,
      "deviceAddress": null,
      "deviceId": 309626613,
      "fingerprint": "1181232551",
      "id": 161304119203,
      "lastContactDeviceId": 309626613,
      "lastContactFirstName": "Scarlett",
      "lastContactId": 2127241703,
      "lastContactLastName": "",
      "lastContactMobileNumber": "2068308909",
      "lastMessageBody": "Fbhv",
      "lastMessageDate": "2013-04-18T11:45:06-07:00",
      "lastNonDeletedMessageDate": "2013-04-18T11:45:06-07:00",
      "lastUpdated": "2013-04-19T12:42:23-07:00",
      "unreadCount": 0,
      "version": 1
    },
    {
      "address": "ptn:/3604321502",
      "bcc": null,
      "cc": null,
      "dateCreated": "2013-02-21T16:49:51-08:00",
      "deleted": false,
      "deviceAddress": null,
      "deviceId": 309626613,
      "fingerprint": "11893565339",
      "id": 142834903003,
      "lastContactDeviceId": 309626613,
      "lastContactFirstName": "John",
      "lastContactId": 1989536703,
      "lastContactLastName": "Fan",
      "lastContactMobileNumber": "3604321502",
      "lastMessageBody": "hi",
      "lastMessageDate": "2013-04-24T12:58:39-07:00",
      "lastNonDeletedMessageDate": "2013-04-24T12:58:39-07:00",
      "lastUpdated": "2013-04-24T12:59:10-07:00",
      "new": false,
      "unreadCount": 0,
      "version": 1
    }
  ],
  "success": true,
  "size": 2
}

Remove a group member. This is useful if a group member has requested to opt-out of notifications.

Parameters:

Name Required Description
group true The address that identifies the group in the logged in account. Format will be similar to: device:/xxxxxxxxxx/xx.
member true The member is an address of the contact in the group. For US domestic use 10-digit number. For International numbers use full E.164 format. Examples: US: 5555555555 E.164: +1155555555555
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.

Snippets:

Retrieve details about a group:
Input
$ curl https://api.zipwhip.com/group/removeMember \
	-d session=41048e5c-2334-4d99-ac82-c5de15ea15c6:309626613 \
	-d group=device:/8559479447/35 \
	-d member=ptn:/2069797487
Output
{
  "response": false,
  "sessions": null,
  "success": true
}

Once a group is created via the group/save call, you then need to populate members.

Parameters:

Name Required Description
address  true For US domestic use 10-digit number. For International numbers use full E.164 format. Examples: US: 5555555555 E.164: +1155555555555
group true The address that identifies the group in the logged in account. Format will be similar to: device:/xxxxxxxxxx/xx.
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.
city false The name city where the contact resides.
email false The email address of the contact being saved.
firstName false The first name of the contact being saved.
lastName false The last name of the contact being saved.
loc false Location, used typically for the street address of the contact.
notes false Notes about the contact, limit 255 characters.
state false The state where the contact resides.

Snippets:

Adding a new member to a group:
Input
$ curl https://api.zipwhip.com/group/addMember \
	-d session=41048e5c-2334-4d99-ac82-c5de15ea15c6:309626613 \
	-d address=ptn:/2069797487 \
	-d group=device/8559479447/35 \
	-d type=Group \
	-d firstName=Amy \
	-d lastName=Jones \
	-d email=amy%40zipwhip.com \
	-d phone= \
	-d city=Seattle \
	-d state=WA \
	-d zipcode=98121 \
	-d notes=Zipwhip%20Test%20Phone \
	-d loc=190%20Queen%20Anne%20Avenue%20North
Output
{
  "response": {
    "firstName": "Angy",
    "lastName": "Jones",
    "businessName": null,
    "mobileNumber": "2069797487",
    "carrier": "AT&T",
    "fullName": "Amy Jones",
    "phoneKey": "",
    "email": "amy@zipwhip.com",
    "zipcode": "98121",
    "state": "WA",
    "city": "Seattle",
    "birthday": "",
    "loc": "2401 4th Ave",
    "latlong": "",
    "notes": "",
    "websiteDeviceKey": "8ef1211f-d9f2-4c81-906f-7d27da5a32f8",
    "websiteDeviceId": 309626613
  },
  "sessions": null,
  "success": true
}

Delete the group. This is similar to deleting a contact, no message objects will be affected by deleting the group.

Parameters:

Name Required Description
address  true The unique identifier for a conversation. This can be retrieved from a conversation/list.
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.

Snippets:

Delete a group:
Input
$ curl https://api.zipwhip.com/group/delete \
	-d session=41048e5c-2334-4d99-ac82-c5de15ea15c6:309626613 \
	-d address=device/8559479447/35
Output
{
  "response": true,
  "sessions": null,
  "success": true
}

Retrieve details about an existing group. This call can be used to review the members of the group.

Parameters:

Name Required Description
name true This is the name of the group that you would like to associate with a group of contacts when using group/save.
type true This is used to identify the type of group you wish to create. For now, please use ‘Group’
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.
textline false If the group is being created within a landline or toll-free number than this parameter is required. This is the routing information for sending out the group message. Example format textline:/xxxxxxxxxx?carrier=xxx. After the :/ this is the logged in number’s phone number. The carrier is equal to the carrier returned from user/get.

Snippets:

Retrieve details about a group:
Input
$ curl https://api.zipwhip.com/group/save \
	-d session=41048e5c-2334-4d99-ac82-c5de15ea15c6:309626613 \
	-d name=NewGroup \
	-d textline=true \
	-d type=Group
Output
{
  "response": {
    "group": {
      "cachedContactsCount": 0,
      "class": "com.zipwhip.website.data.dto.Device",
      "lastUpdated": "2013-08-08T16:59:34-07:00",
      "type": "Group",
      "version": 1,
      "textline": "true",
      "linkedDeviceId": 226615689,
      "id": 235025189,
      "new": false,
      "address": "device:/8559479447/35",
      "userId": 212405495,
      "thread": "",
      "dateCreated": "2013-08-08T16:59:34-07:00",
      "uuid": "4e7b4e18-24be-4dc7-a6ad-36552452478",
      "displayName": "Alan",
      "channel": "",
      "deviceId": 35
    },
    "members": 1
  },
  "sessions": null,
  "success": true
}

Create a group. A named group is a unique set of contacts that are referenced similar to a contact.

A group is defined as device:/xxxxxxxxxx/xx. After the :/, this is the phone number associated with the account you are sending messages under. The /xx is the id for the group.

Parameters:

Name Required Description
name true This is the name of the group that you would like to associate with a group of contacts when using group/save.
type true This is used to identify the type of group you wish to create. For now, please use ‘Group’
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.
textline false If the group is being created within a landline or toll-free number than this parameter is required. This is the routing information for sending out the group message. Example format textline:/xxxxxxxxxx?carrier=xxx. After the :/ this is the logged in number’s phone number. The carrier is equal to the carrier returned from user/get.

Snippets:

Creating a new group:
Input
$ curl https://api.zipwhip.com/group/save \
	-d session=41048e5c-2334-4d99-ac82-c5de15ea15c6:309626613 \
	-d name=NewGroup \
	-d textline=true\
	-d type=Group
Output
{
  "response": {
    "businessName": "",
    "birthday": null,
    "state": "",
    "version": 1,
    "dtoParentId": 309626613,
    "city": "",
    "id": 2567164603,
    "phoneKey": "",
    "isZwUser": false,
    "carrier": "",
    "firstName": "New",
    "deviceId": 309626613,
    "lastName": "",
    "zipcode": "",
    "loc": "",
    "targetGroupDevice": 250749703,
    "fwd": "",
    "deleted": false,
    "latlong": "",
    "new": false,
    "address": "device:/8559479447/94",
    "email": "",
    "dateCreated": "2013-11-21T13:46:33-08:00",
    "notes": "",
    "mobileNumber": "device:/8559479447/94",
    "channel": ""
  },
  "sessions": null,
  "success": true
}

Marks the given message as deleted in Zipwhip’s database.

Parameters:

Name Required Description
messages true The message ID being modified. In all cases the method will take multiple messages as parameters.
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.

Snippets:

Delete a single message:
Input
$ curl https://api.zipwhip.com/message/delete \
    -d messages=327559562263723008 \
    -d session=8ef1211f-d9f2-4c81-906f-7d27da5a32f8:309626613
Output
{
  "response": true,
  "success": true
}

Marks the given message as read in Zipwhip’s database.

Parameters:

Name Required Description
messages  true The message ID being modified. In all cases the method will take multiple messages as parameters.
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.

Snippets:

Mark a single message as read:
Input
$ curl https://api.zipwhip.com/message/read \
    -d messages=32745677935500288 \
    -d session=8ef1211f-d9f2-4c81-906f-7d27da5a32f8:309626613
Output
{
  "response": true,
  "success": true
}

Retrieves messages for the account. A start of 0 provides newest to oldest messages.

Parameters:

Name Required Description
session  true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.
limit false Limit the number of elements returned when paging.
start false When paging through content, this field is used to tell the controller what element to start at for the next page.

Snippets:

Retrieve the most 30 recent messages:
Input
$ curl https://api.zipwhip.com/message/list \
    -d session=8ef1211f-d9f2-4c81-906f-7d27da5a32f8:309626613 \
    -d limit=30 \
    -d start=0
Output
{
  "total": 2,
  "response": [
    {
      "address": "ptn:/2064122950",
      "advertisement": "\n\nSent via Zipwhip",
      "bcc": null,
      "body": " ffff",
      "carrier": "Tmo",
      "cc": null,
      "contactDeviceId": 309626613,
      "contactId": 2111243703,
      "dateCreated": "2013-04-24T18:20:40-07:00",
      "destAddress": "2064122950",
      "deviceId": 309626613,
      "errorState": false,
      "fingerprint": "532643333",
      "firstName": "",
      "from": 2111243703,
      "fromName": "Zipwhip,",
      "fwd": "",
      "hasAttachment": false,
      "id": "32723654988718464",
      "isInFinalState": false,
      "isParent": false,
      "isRead": true,
      "isSelf": false,
      "lastName": "",
      "lastUpdated": null,
      "messageTransport": 5,
      "mobileNumber": "2064122950",
      "parentId": 0,
      "sourceAddress": "8559479447",
      "thread": "",
      "transmissionState": {
        "name": "DELIVERED"
      },
      "type": "ZO",
      "version": 0,
      "visible": true
    },
    {
      "address": "ptn:/2064122950",
      "advertisement": "\n\nSent via Zipwhip",
      "bcc": null,
      "body": " p",
      "carrier": "Tmo",
      "cc": null,
      "contactDeviceId": 309626613,
      "contactId": 2111243703,
      "dateCreated": "2013-04-24T18:20:27-07:00",
      "destAddress": "2064122950",
      "deviceId": 309626613,
      "errorState": false,
      "fingerprint": "532643333",
      "firstName": "",
      "from": 2111243703,
      "fromName": "Zipwhip,",
      "fwd": "",
      "hasAttachment": false,
      "id": "3272468573091047424",
      "isInFinalState": false,
      "isParent": false,
      "isRead": true,
      "isSelf": false,
      "lastName": "",
      "lastUpdated": null,
      "messageTransport": 5,
      "mobileNumber": "3604122950",
      "parentId": 0,
      "sourceAddress": "8559479447",
      "subject": null,
      "thread": "",
      "transmissionState": {
        "name": "DELIVERED"
      },
      "type": "ZO",
      "version": 0,
      "visible": true
    }
  ],
  "success": true,
  "size": 803
}

Sends a message from the logged in user’s phone number.

NOTE: that for languages that default to a multipart form POST, you will need to concatenate into a single string. For example PHP cURL developers can accomplish this by setting ‘Content-Type: application/x-www-form-urlencoded’

Parameters:

Name Required Description
contacts true This is the contact ID that is return from contact/list. A contact ID is also part of the return from message/send.
body true The message body that you would like to send. This is a maximum of 160 ASCII characters or 140 Bytes.
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.

Snippets:

Send a basic text message:
Input
$ curl https://api.zipwhip.com/message/send \
    -d body=Hi. \
    -d contacts=ptn:/3608964896 \
    -d session=8ef1211f-d9f2-4c81-906f-7d27da5a32f8:309626613
Output
{
  "response": {
    "fingerprint": "4236521183",
    "root": "327559093363723008",
    "tokens": [
      {
        "contact": 1989548603,
        "device": 309626613,
        "fingerprint": "42336654183",
        "message": "327545678963723008"
      }
    ]
  },
  "success": true
}
Send a scheduled text message:
Input
$ curl https://api.zipwhip.com/message/send \
    -d scheduledDate:1385067600000 \
    -d body=Hi. \
    -d contacts=ptn:/3608964896 \
    -d session=8ef1211f-d9f2-4c81-906f-7d27da5a32f8:309626613
Output
{
  "response": {
    "fingerprint": "4236521183",
    "root": "327559093363723568",
    "tokens": [
      {
        "contact": 1989548603,
        "device": 309626613,
        "fingerprint": "42336654183",
        "message": "327545678963723568"
      }
    ]
  },
  "success": true
}

Provides information about the logged in user or account associated with sessionKey passed in.

Parameters:

Name Required Description
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.

Snippets:

Retrieve details about user associated with sessionKey:
Input
$ curl https://api.zipwhip.com/user/get \
    -d session=8ef1211f-d9f2-4c81-906f-7d27da5a32f8:309626613
Output
{
  "response": {
    "user": {
      "firstName": "Zipwhip,",
      "lastName": "Inc.",
      "businessName": null,
      "mobileNumber": "8559479447",
      "carrier": "AT&T",
      "fullName": "Zipwhip, Inc.",
      "phoneKey": "",
      "email": "",
      "zipcode": "",
      "state": "",
      "city": "",
      "birthday": "",
      "loc": "2401 4th Ave",
      "latlong": "",
      "notes": "",
      "websiteDeviceKey": "8ef1211f-d9f2-4c81-906f-7d27da5a32f8",
      "websiteDeviceId": 309626613
    },
    "groups": []
  },
  "success": true
}

Takes a username and password and returns json with the account’s sessionKey. A sessionKey lasts forever, so it is best to store the sessionKey and use it for future purposes.

Parameters:

Name Required Description
username true For US domestic use 10-digit number. For International numbers use full E.164 format. Examples: US: 5555555555 E.164: +1155555555555
password true Password associated with phone number being entered in user/login.

Snippets:

Login to retrieve sessionKey:
Input
$ curl https://api.zipwhip.com/user/login \
    -d username=8559479447 \
    -d password=&qYDgGyT[q[62T>TrG^]
Output
{
  "response": "8ef1211f-d9f2-4c81-906f-7d27da5a32f8:309626613",
  "success": true
}

Save details about the user associated with the provided session.

Parameters:

Name Required Description
session true This is the sessionKey that is returned from user/login. sessionKeys do not expire. Because of this, it is recommended that you do a single user/login and then save the sessionKey locally for future web calls.

Snippets:

Save details about user associated with sessionKey:
Input
$ curl https://api.zipwhip.com/user/save \
	-d session=8ef1211f-d9f2-4c81-906f-7d27da5a32f8:309626613 \
	-d firstName=Zipwhip \
	-d lastName=Inc. \
	-d notes=Zipwhip%20Test%20Account \
	-d loc=190%20queen%20anne \
	-d email=support%40zipwhip.com \
	-d zipcode=98121
Output
{
  "response": {
    "user": {
      "firstName": "Zipwhip,",
      "lastName": "Inc.",
      "mobileNumber": "8559479447",
      "fullName": "Zipwhip, Inc.",
      "phoneKey": "",
      "email": "support@zipwhip.com",
      "notes": "",
      "birthday": "",
      "carrier": "AT&T",
      "loc": "2401 4th Ave",
      "dateCreated": "2013-02-20T22:00:23-08:00",
      "lastUpdated": "2013-04-25T10:13:19-07:00"
    }
  },
  "success": true
}