API reference

Clients

Your clients, their contacts and client portal access.

List clients (search, archived=1)

GET /clients Clients: read

Example

curl https://app.msmepulse.com/api/v1/clients \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN"

Response 200

FieldTypeNotes
clientsarray of object
clients[].idstring
clients[].namestring
clients[].typestringbusiness or individual
clients[].countrystringISO country code
clients[].gstinstring or null
clients[].uenstring or null
clients[].currencystring
clients[].statestringIndia: state code
clients[].emailstring or null
clients[].primaryContactstring or null
clients[].activeProjectsnumber
clients[].archivedboolean
clients[].samplebooleanPart of the workspace's sample data

Add a client

POST /clients Clients: read and write

Request body

The fields depend on the workspace's country: India (GSTIN, PAN, state) or Singapore (UEN, GST registration).

India workspace

FieldTypeRequiredNotes
namestringYes2–120 characters
type"business" | "individual"default "business"
countrystringYes
email"" or string
phonestringup to 30 characters
billingAddressobjectdefault {}
billingAddress.line1stringup to 200 characters
billingAddress.line2stringup to 200 characters
billingAddress.citystringup to 80 characters
billingAddress.postalCodestringup to 12 characters
billingAddress.statestringup to 4 characters
currency"INR" | "SGD" | "USD" | "EUR" | "GBP" | "AED" | "AUD" | "MYR" | "CAD" | "CHF" | "HKD" | "NZD"Yes
paymentTermsDaysinteger0 to 365 · default 30
notesstringup to 2000 characters
ownerIdstring or null
gstinstring
panstring
isSezbooleandefault false
uenstring
gstRegisteredbooleandefault false
peppolIdstringup to 60 characters

Singapore workspace

FieldTypeRequiredNotes
namestringYes2–120 characters
type"business" | "individual"default "business"
countrystringYes
email"" or string
phonestringup to 30 characters
billingAddressobjectdefault {}
billingAddress.line1stringup to 200 characters
billingAddress.line2stringup to 200 characters
billingAddress.citystringup to 80 characters
billingAddress.postalCodestringup to 12 characters
billingAddress.statestringup to 4 characters
currency"INR" | "SGD" | "USD" | "EUR" | "GBP" | "AED" | "AUD" | "MYR" | "CAD" | "CHF" | "HKD" | "NZD"Yes
paymentTermsDaysinteger0 to 365 · default 30
notesstringup to 2000 characters
ownerIdstring or null
gstinstring
panstring
isSezbooleandefault false
uenstring
gstRegisteredbooleandefault false
peppolIdstringup to 60 characters

Example

curl -X POST https://app.msmepulse.com/api/v1/clients \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Nova Retail Pvt Ltd","country":"IN","currency":"INR"}'

Response 201

FieldTypeNotes
idstringThe new record's id

Get a client, with their projects

GET /clients/{id} Clients: read

id

Example

curl https://app.msmepulse.com/api/v1/clients/{id} \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN"

Response 200

FieldTypeNotes
clientobject
client.idstring
client.namestring
client.contactsarray of object
client.contacts[].idstring
client.contacts[].namestring
client.contacts[].emailstring or null
client.contacts[].isPrimaryboolean
ownerNamestring or null
projectsarray of object
projects[].idstring
projects[].namestring
projects[].codestring or null
projects[].statusstring
projects[].billingTypestring
projects[].startDatestring or null
projects[].endDatestring or null
canEditboolean

Update a client

PATCH /clients/{id} Clients: read and write

id

Request body

The fields depend on the workspace's country: India (GSTIN, PAN, state) or Singapore (UEN, GST registration).

India workspace

FieldTypeRequiredNotes
namestring2–120 characters
type"business" | "individual"default "business"
countrystring
email"" or string
phonestringup to 30 characters
billingAddressobjectdefault {}
billingAddress.line1stringup to 200 characters
billingAddress.line2stringup to 200 characters
billingAddress.citystringup to 80 characters
billingAddress.postalCodestringup to 12 characters
billingAddress.statestringup to 4 characters
currency"INR" | "SGD" | "USD" | "EUR" | "GBP" | "AED" | "AUD" | "MYR" | "CAD" | "CHF" | "HKD" | "NZD"
paymentTermsDaysinteger0 to 365 · default 30
notesstringup to 2000 characters
ownerIdstring or null
gstinstring
panstring
isSezbooleandefault false
uenstring
gstRegisteredbooleandefault false
peppolIdstringup to 60 characters

Singapore workspace

FieldTypeRequiredNotes
namestring2–120 characters
type"business" | "individual"default "business"
countrystring
email"" or string
phonestringup to 30 characters
billingAddressobjectdefault {}
billingAddress.line1stringup to 200 characters
billingAddress.line2stringup to 200 characters
billingAddress.citystringup to 80 characters
billingAddress.postalCodestringup to 12 characters
billingAddress.statestringup to 4 characters
currency"INR" | "SGD" | "USD" | "EUR" | "GBP" | "AED" | "AUD" | "MYR" | "CAD" | "CHF" | "HKD" | "NZD"
paymentTermsDaysinteger0 to 365 · default 30
notesstringup to 2000 characters
ownerIdstring or null
gstinstring
panstring
isSezbooleandefault false
uenstring
gstRegisteredbooleandefault false
peppolIdstringup to 60 characters

Example

curl -X PATCH https://app.msmepulse.com/api/v1/clients/{id} \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Nova Retail Pvt Ltd","type":"business","country":"IN"}'

Answers 200 with the same data the MSMEPulse web app shows for it.

A client's overview: projects, money owed, ageing, sales and timeline

GET /clients/{id}/360 Clients: read

id

Example

curl https://app.msmepulse.com/api/v1/clients/{id}/360 \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN"

Answers 200 with the same data the MSMEPulse web app shows for it.

Add a note, call or meeting to a client's timeline

POST /clients/{id}/activities Clients: read

id

Request body

FieldTypeRequiredNotes
kind"note" | "call" | "meeting" | "email" | "follow_up"Yes
bodystringup to 2000 characters
dueDate"" or string or null

Example

curl -X POST https://app.msmepulse.com/api/v1/clients/{id}/activities \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"kind":"note"}'

Answers 200 with the same data the MSMEPulse web app shows for it.

Archive or restore a client

POST /clients/{id}/{action} Clients: read and write

id · action: archive or restore

Example

curl -X POST https://app.msmepulse.com/api/v1/clients/{id}/archive \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN"

Answers 200 with the same data the MSMEPulse web app shows for it.

Add a contact to a client

POST /clients/{id}/contacts Clients: read and write

id

Request body

FieldTypeRequiredNotes
namestringYes2–80 characters
email"" or string
phonestringup to 30 characters
designationstringup to 60 characters
isPrimarybooleandefault false

Example

curl -X POST https://app.msmepulse.com/api/v1/clients/{id}/contacts \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Nova Retail Pvt Ltd"}'

Answers 200 with the same data the MSMEPulse web app shows for it.

Update a client's contact

PATCH /clients/{id}/contacts/{cid} Clients: read and write

id · cid

Request body

FieldTypeRequiredNotes
namestringYes2–80 characters
email"" or string
phonestringup to 30 characters
designationstringup to 60 characters
isPrimarybooleandefault false

Example

curl -X PATCH https://app.msmepulse.com/api/v1/clients/{id}/contacts/{cid} \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Nova Retail Pvt Ltd"}'

Answers 200 with the same data the MSMEPulse web app shows for it.

Remove a client's contact

DELETE /clients/{id}/contacts/{cid} Clients: read and write

id · cid

Example

curl -X DELETE https://app.msmepulse.com/api/v1/clients/{id}/contacts/{cid} \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN"

Answers 200 with the same data the MSMEPulse web app shows for it.

List a client's client portal users

GET /clients/{id}/portal-access Clients: read

id

Example

curl https://app.msmepulse.com/api/v1/clients/{id}/portal-access \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN"

Answers 200 with the same data the MSMEPulse web app shows for it.

Invite a client contact to the client portal

POST /clients/{id}/portal-access Clients: read and write

id

Example

curl -X POST https://app.msmepulse.com/api/v1/clients/{id}/portal-access \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN"

Answers 200 with the same data the MSMEPulse web app shows for it.

Remove someone's client portal access

DELETE /clients/{id}/portal-access/{uid} Clients: read and write

id · uid

Example

curl -X DELETE https://app.msmepulse.com/api/v1/clients/{id}/portal-access/{uid} \
  -H "Authorization: Bearer $MSMEPULSE_TOKEN"

Answers 200 with the same data the MSMEPulse web app shows for it.