Introduction

Settings > Advanced Workplace Options > API


First Steps

Settings > Advanced Workplace Options > API

First, you must enable API access in your workplace settings. There are two authentications that you can turn on or off at any time. By default, these options are turned off.

  1. Enable API (API Keys Access)
  2. Enable JWT Auth

When you interact with your workplace over our API you must authenticate to your workplace using Basic Auth, or JWT authorization (json web tokens).

Say on your back end if you would like to add a user to an audience, you will likely be using our basic authentication method. If you are building a custom application you will likely be using JWT authentication being you are authenticating at a user level.


When you perform CRUD (Create, Read, Update, Delete) operations you will be sending and receiving data in JSON format.

Rate Limites

You currently allowed 60 requests per minute. In the event where you need a higher limit contact us and we can discuss enterprise-level options.


API Endpoints

https://yoursubdomain.thriveific.app/api/thriveific/v1/*


Auth Endpoints

Methods

{{workplace_url}}/api/thriveific/v1/auth POST
{{workplace_url}}/api/thriveific/v1/token POST
{{workplace_url}}/api/thriveific/v1/token/validate POST

Punch Clock Endpoints

Methods

{{workplace_url}}/api/thriveific/v1/punch-in POST
{{workplace_url}}/api/thriveific/v1/start-break POST
{{workplace_url}}/api/thriveific/v1/end-break POST
{{workplace_url}}/api/thriveific/v1/punch-out POST
{{workplace_url}}/api/thriveific/v1/user-state POST, GET

User Endpoints

Methods

{{workplace_url}}/api/thriveific/v1/clients GET
{{workplace_url}}/api/thriveific/v1/team-members GET

Data Endpoint

Methods

{{workplace_url}}/api/thriveific/v1/announcements POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/audiences POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/client-resources POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/email-boradcasts POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/expenses POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/external-clients POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/internal-resources POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/invoices POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/leads POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/payments POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/projects POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/proposals POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/sms-triggers POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/sms-boradcasts POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/subscribers POST, GET, PUT, DELETE
{{workplace_url}}/api/thriveific/v1/tasks POST, GET, PUT, DELETE

Authentication


Basic Authentication

{{workplace_url}}/api/thriveific/v1/auth/


Enable API

Settings > Advanced Workplace Options > API

First, you will enable API inside your workplace settings then generate your API keys.

When you click create keys you will only be able to view your keys once. Copy and save them in a safe place. This will also replace your current API Keys. Protect your API keys and do not make them accessible to the public.

To test authentication you can use the HTTP client Postman.


Basic Authorization Headers

Username: {{PUBLIC KEY}}

Password: {{SECRET KEY}}

Use your public key as the user name and your secret key as the password when making requests.


Post Request

{{workplace_url}}/api/thriveific/v1/auth

Response


{
    "success": true,
    "message": "Welcome to Thriveific's API",
    "response_code": "200",
    "site": "Thriveific's Workplaces"
}

JWT Authentication

{{workplace_url}}/api/jwt/v1/token/


Enable JWT Authentication

Settings > Advanced Workplace Options > API

In order to access your workplace trough JWT Authentication you must enable the option in your workplace settings. Once enables you will able to make a post request to obtain a token.


JWT Introduction

JWT allows you to authorize users at a user level. Think about JWT authorization as logging the user into your workplace in a custom client application. With JWT Authorization you could build a custom application around Thriveific's API.

  1. You would make a post request to obtain a token.
  2. You will save the token in your application, usually in a cookie, session token, or the application state.
  3. When requesting our API, you will include the token in the header as a Bearer Token.
  4. In your application, you may check if the token is expired, if the token is terminated, you then should make a post request to obtain a new token. In your app when this happens you should trigger a login model to collect the user's password again to retrieve a new token.
  5. Unlike our basic authentication methods, we check if the user has the required capabilities to perform such action on the server.

JSON Web Tokens are only valid for 24 hours after it's issued.


Obtaining a Token

To obtain a token you will make a POST request to the below endpoint. For the post request body will contain a JSON object containing the user's email and password.

{{workplace_url}}/api/jwt/v1/token/


{
    "email": "USERS EMAIL ADDRESS",
    "password": "USERS PASSWORD"
}

Response


{
    "success": true,
    "title": "Token Created",
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvZGVtby50aHJpdmVpZmljLmRldiIsImlhdCI6MTU4OTQ4OTk1NiwibmJmIjoxNTg5NDg5OTU2LCJleHAiOjE1ODk1NzYzNTYsImRhdGEiOnsidXNlciI6eyJpZCI6IjgifX19.1QTgOs1rGxGw9j_SRO5fKBo6Z3d5HxTriq9R105RxWg",
    "exp": 1589576356,
    "exp_date": "05/15/20 15:59:16 pm",
    "now": 1589489956,
    "time_now": "05/14/20 15:59:16 pm",
    "site_time_zone": "America/Chicago",
    "email": "[email protected]",
    "ID": "[email protected]",
    "roles": [
        "super_manager"
    ],
    "caps": {
        "delete_others_announcements": true,
        "delete_private_announcements": true,
        "edit_others_announcements": true,
        "edit_private_announcements": true,
        "publish_announcements": true,
        "read_private_announcements": true,
        "read_announcements": true,
        "delete_client_notes": true,
        "delete_others_client_notes": true,
        "delete_private_client_notes": true,
        "delete_published_client_notes": true,
        "edit_client_notes": true,
        "edit_others_client_notes": true,
        "edit_private_client_notes": true,
        "edit_published_client_notes": true,
        "publish_client_notes": true,
        "read_private_client_notes": true,
        "read_client_notes": true,
        "delete_client_resources": true,
        "delete_others_client_resources": true,
        "delete_private_client_resources": true,
        "delete_published_client_resources": true,
        "edit_client_resources": true,
        "edit_others_client_resources": true,
        "edit_private_client_resources": true,
        "edit_published_client_resources": true,
        "publish_client_resources": true,
        "read_private_client_resources": true,
        "read_client_resources": true,
        "delete_internal_resources": true,
        "delete_others_internal_resources": true,
        "delete_private_internal_resources": true,
        "delete_published_internal_resources": true,
        "edit_internal_resources": true,
        "edit_others_internal_resources": true,
        "edit_private_internal_resources": true,
        "edit_published_internal_resources": true,
        "publish_internal_resources": true,
        "read_private_internal_resources": true,
        "read_internal_resources": true,
        "delete_expenses": true,
        "delete_others_expenses": true,
        "delete_private_expenses": true,
        "delete_published_expenses": true,
        "edit_expenses": true,
        "edit_others_expenses": true,
        "edit_private_expenses": true,
        "edit_published_expenses": true,
        "publish_expenses": true,
        "read_private_expenses": true,
        "read_expenses": true,
        "delete_invoices": true,
        "delete_others_invoices": true,
        "delete_private_invoices": true,
        "delete_published_invoices": true,
        "edit_invoices": true,
        "edit_others_invoices": true,
        "edit_private_invoices": true,
        "edit_published_invoices": true,
        "publish_invoices": true,
        "read_private_invoices": true,
        "read_invoices": true,
        "delete_leads": true,
        "delete_others_leads": true,
        "delete_private_leads": true,
        "delete_published_leads": true,
        "edit_leads": true,
        "edit_others_leads": true,
        "edit_private_leads": true,
        "edit_published_leads": true,
        "publish_leads": true,
        "read_private_leads": true,
        "read_leads": true,
        "delete_notes": true,
        "edit_private_notes": true,
        "edit_published_notes": true,
        "publish_notes": true,
        "delete_payments": true,
        "delete_others_payments": true,
        "delete_private_payments": true,
        "delete_published_payments": true,
        "edit_payments": true,
        "edit_others_payments": true,
        "edit_private_payments": true,
        "edit_published_payments": true,
        "publish_payments": true,
        "read_private_payments": true,
        "read_payments": true,
        "delete_projects": true,
        "delete_others_projects": true,
        "delete_private_projects": true,
        "delete_published_projects": true,
        "edit_projects": true,
        "edit_others_projects": true,
        "edit_private_projects": true,
        "edit_published_projects": true,
        "publish_projects": true,
        "read_private_projects": true,
        "read_projects": true,
        "delete_proposals": true,
        "delete_others_proposals": true,
        "delete_private_proposals": true,
        "delete_published_proposals": true,
        "edit_proposals": true,
        "edit_others_proposals": true,
        "edit_private_proposals": true,
        "edit_published_proposals": true,
        "publish_proposals": true,
        "read_private_proposals": true,
        "read_proposals": true,
        "delete_tasks": true,
        "delete_others_tasks": true,
        "delete_private_tasks": true,
        "delete_published_tasks": true,
        "edit_tasks": true,
        "edit_others_tasks": true,
        "edit_private_tasks": true,
        "edit_published_tasks": true,
        "publish_tasks": true,
        "read_private_tasks": true,
        "read_tasks": true,
        "delete_email_broadcasts": true,
        "delete_others_email_broadcasts": true,
        "delete_private_email_broadcasts": true,
        "delete_published_email_broadcasts": true,
        "edit_email_broadcasts": true,
        "edit_others_email_broadcasts": true,
        "edit_private_email_broadcasts": true,
        "edit_published_email_broadcasts": true,
        "publish_email_broadcasts": true,
        "read_private_email_broadcasts": true,
        "read_email_broadcasts": true,
        "send_email_broadcasts": true,
        "delete_sms_broadcasts": true,
        "delete_others_sms_broadcasts": true,
        "delete_private_sms_broadcasts": true,
        "delete_published_sms_broadcasts": true,
        "edit_sms_broadcasts": true,
        "edit_others_sms_broadcasts": true,
        "edit_private_sms_broadcasts": true,
        "edit_published_sms_broadcasts": true,
        "publish_sms_broadcasts": true,
        "read_private_sms_broadcasts": true,
        "read_sms_broadcasts": true,
        "send_sms_broadcasts": true,
        "delete_sms_triggers": true,
        "delete_others_sms_triggers": true,
        "delete_private_sms_triggers": true,
        "delete_published_sms_triggers": true,
        "edit_sms_triggers": true,
        "edit_others_sms_triggers": true,
        "edit_private_sms_triggers": true,
        "edit_published_sms_triggers": true,
        "publish_sms_triggers": true,
        "read_private_sms_triggers": true,
        "read_sms_triggers": true,
        "delete_audiences": true,
        "delete_others_audiences": true,
        "delete_private_audiences": true,
        "delete_published_audiences": true,
        "edit_audiences": true,
        "edit_others_audiences": true,
        "edit_private_audiences": true,
        "edit_published_audiences": true,
        "publish_audiences": true,
        "read_private_audiences": true,
        "read_audiences": true,
        "delete_time_logs": true,
        "delete_others_time_logs": true,
        "delete_private_time_logs": true,
        "delete_published_time_logs": true,
        "edit_time_logs": true,
        "edit_others_time_logs": true,
        "edit_private_time_logs": true,
        "edit_published_time_logs": true,
        "publish_time_logs": true,
        "read_private_time_logs": true,
        "read_time_logs": true,
        "delete_private_paychecks": true,
        "publish_paychecks": true,
        "read_private_paychecks": true,
        "delete_work_requests": true,
        "delete_others_work_requests": true,
        "delete_private_work_requests": true,
        "delete_published_work_requests": true,
        "edit_work_requests": true,
        "edit_others_work_requests": true,
        "edit_private_work_requests": true,
        "edit_published_work_requests": true,
        "publish_work_requests": true,
        "read_private_work_requests": true,
        "read_work_requests": true,
        "delete_external_clients": true,
        "delete_others_external_clients": true,
        "delete_private_external_clients": true,
        "delete_published_external_clients": true,
        "edit_external_clients": true,
        "edit_others_external_clients": true,
        "edit_private_external_clients": true,
        "edit_published_external_clients": true,
        "publish_external_clients": true,
        "read_private_external_clients": true,
        "read_external_clients": true,
        "delete_folders": true,
        "delete_others_folders": true,
        "delete_private_folders": true,
        "delete_published_folders": true,
        "edit_folders": true,
        "edit_others_folders": true,
        "edit_private_folders": true,
        "edit_published_folders": true,
        "publish_folders": true,
        "read_private_folders": true,
        "read_folders": true,
        "delete_subscribers": true,
        "delete_others_subscribers": true,
        "delete_private_subscribers": true,
        "delete_published_subscribers": true,
        "edit_subscribers": true,
        "edit_others_subscribers": true,
        "edit_private_subscribers": true,
        "edit_published_subscribers": true,
        "publish_subscribers": true,
        "read_private_subscribers": true,
        "read_subscribers": true,
        "view_analytics": true,
        "manage_workplace_settings": true,
        "view_active_team_members": true,
        "view_workplace_activity": true,
        "manage_workplace_requests": true,
        "super_manager": true
    },
    "data": {
        "status": 200
    }
}

In the response, we return additional information that you may find useful in your app. In your app, you may only want to render specific components if the user has the correct capability.


Validating a Token

In your application, you may need to check and ensure that your token is valid. We have provided timestamps in the initial response for you to prompt the user to enter their password again to reauthenticate. Alternatively, you can make a POST request with the Bearer token in the head and we will provide a response based on if the token is valid or not.

{{workplace_url}}/api/jwt/v1/token/validate


{
    "success": true,
    "msg": "Token valid",
    "data": {
        "status": 200,
        "exp": 1589576356,
        "exp_date": "05/15/20 15:59:16 pm",
        "now": 1589489977,
        "time_now": "05/14/20 15:59:37 pm",
        "site_time_zone": "America/Chicago"
    }
}

Invalid Token Response


{
    "success": false,
    "msg": "Token invalid",
    "data": {
        "status": 403
    }
}

User API


Team Members

{{workplace_url}}/api/thriveific/v1/team-members/


Methods

GET: {{workplace_url}}/api/thriveific/v1/team-members/


Get Request Response


[
    {
        "ID": "5ebdc33f1f70d",
        "first_name": "Malik",
        "last_name": "Tresha",
        "phone": "8928675309",
        "email": "[email protected]",
        "address": "892 Hillside Ave",
        "address_line _2": "",
        "city": "San Mateo",
        "state": "CA",
        "zip": "94080",
        "status": "punched_out",
        "role": "Super Manager"
    },
    {
        "ID": "5ebdc35058bce",
        "first_name": "Tiffany",
        "last_name": "Hill",
        "phone": "4218675309",
        "email": "[email protected]",
        "address": "421 Lighthouse Ave",
        "address_line _2": "",
        "city": "San Mateo",
        "state": "CA",
        "zip": "94080",
        "status": "punched_in",
        "role": "Super Manager"
    }
]

Clients

{{workplace_url}}/api/thriveific/v1/clients/


Methods

GET: {{workplace_url}}/api/thriveific/v1/clients/


Get Request Response


[
    {
        "ID": "5ebdc5d34473c",
        "first_name": "Alex",
        "last_name": "Hann",
        "phone": "9999999999",
        "email": "[email protected]",
        "billing_name": "Alex Hann",
        "address": "892 Hillside Ave",
        "address_line _2": "",
        "city": "San Mateo",
        "state": "CA",
        "zip": "94080",
    },
    {
        "ID": "5ebdc5d34482a",
        "first_name": "Sandra",
        "last_name": "Smith",
        "phone": "0000000000",
        "email": "[email protected]",
        "billing_name": "Sandra Smith",
        "address": "421 Lighthouse Ave",
        "address_line _2": "",
        "city": "San Mateo",
        "state": "CA",
        "zip": "94080",
    }
]

Capabilities

{{workplace_url}}/api/thriveific/v1/capabilities


Being that Thriveific supports user capabilities you may only want to render specific elements to users only if they have a specific capability. When you authenticate a user in the response you will retrieve a JSON array of all their capabilities.

We have an endpoint that just returns all capabilities that we currently use in our internal app. The response can be seen here. Note that this is only intended to be useful when you're building an app where JWT is used as the form of authentication.


{
    "team_member": [
        "view_analytics",
        "manage_workplace_settings",
        "view_active_team_members",
        "view_workplace_activity",
        "manage_workplace_requests",
        "delete_others_announcements",
        "delete_private_announcements",
        "edit_others_announcements",
        "edit_private_announcements",
        "publish_announcements",
        "read_private_announcements",
        "read_announcements",
        "delete_others_audiences",
        "delete_private_audiences",
        "edit_others_audiences",
        "edit_private_audiences",
        "publish_audiences",
        "read_private_audiences",
        "delete_others_client_resources",
        "delete_private_client_resources",
        "edit_others_client_resources",
        "edit_private_client_resources",
        "publish_client_resources",
        "read_private_client_resources",
        "delete_others_email_broadcasts",
        "delete_private_email_broadcasts",
        "edit_others_email_broadcasts",
        "edit_private_email_broadcasts",
        "publish_email_broadcasts",
        "read_private_email_broadcasts",
        "send_email_broadcasts",
        "delete_others_expenses",
        "delete_private_expenses",
        "edit_others_expenses",
        "edit_private_expenses",
        "publish_expenses",
        "read_private_expenses",
        "delete_others_external_clients",
        "delete_private_external_clients",
        "edit_others_external_clients",
        "edit_private_external_clients",
        "publish_external_clients",
        "read_private_external_clients",
        "delete_others_folders",
        "delete_private_folders",
        "edit_others_folders",
        "edit_private_folders",
        "publish_folders",
        "read_private_folders",
        "delete_others_internal_resources",
        "delete_private_internal_resources",
        "edit_others_internal_resources",
        "edit_private_internal_resources",
        "publish_internal_resources",
        "read_private_internal_resources",
        "delete_others_invoices",
        "delete_private_invoices",
        "edit_others_invoices",
        "edit_private_invoices",
        "publish_invoices",
        "read_private_invoices",
        "delete_others_leads",
        "delete_private_leads",
        "edit_others_leads",
        "edit_private_leads",
        "publish_leads",
        "read_private_leads",
        "delete_others_payments",
        "delete_private_payments",
        "edit_others_payments",
        "edit_private_payments",
        "publish_payments",
        "read_private_payments",
        "delete_others_projects",
        "delete_private_projects",
        "edit_others_projects",
        "edit_private_projects",
        "publish_projects",
        "read_private_projects",
        "delete_others_proposals",
        "delete_private_proposals",
        "edit_others_proposals",
        "edit_private_proposals",
        "publish_proposals",
        "read_private_proposals",
        "delete_others_sms_triggers",
        "delete_private_sms_triggers",
        "edit_others_sms_triggers",
        "edit_private_sms_triggers",
        "publish_sms_triggers",
        "read_private_sms_triggers",
        "delete_others_sms_broadcasts",
        "delete_private_sms_broadcasts",
        "edit_others_sms_broadcasts",
        "edit_private_sms_broadcasts",
        "publish_sms_broadcasts",
        "read_private_sms_broadcasts",
        "send_sms_broadcasts",
        "delete_others_subscribers",
        "delete_private_subscribers",
        "edit_others_subscribers",
        "edit_private_subscribers",
        "publish_subscribers",
        "read_private_subscribers",
        "delete_others_tasks",
        "delete_private_tasks",
        "edit_others_tasks",
        "edit_private_tasks",
        "publish_tasks",
        "read_private_tasks",
        "delete_others_time_logs",
        "delete_private_time_logs",
        "edit_others_time_logs",
        "edit_private_time_logs",
        "publish_time_logs",
        "read_private_time_logs"
    ],
    "client": [
        "publish_work_requests",
        "read_private_payments",
        "read_private_proposals",
        "read_private_client_resources",
        "read_private_projects_files",
        "read_private_projects",
        "upload_files_to_projects"
    ]
}

Punch Clock API


Time Tracker

{{workplace_url}}/api/thriveific/v1/{{action}}/


The time tracker API allows you to punch a user in, start a break, end a break, and punch a user out. If you are using the basic authentication method you must pass the user's email in the post request body.


Endpoints

PUNCH IN: {{workplace_url}}/api/thriveific/v1/punch-in/
START BREAK: {{workplace_url}}/api/thriveific/v1/start-break/
END BREAK: {{workplace_url}}/api/thriveific/v1/end-break/
PUNCH OUT: {{workplace_url}}/api/thriveific/v1/punch-out/
USER STATE: {{workplace_url}}/api/thriveific/v1/user-state/


Note* If you are using JWT Authorization you do not need to pass in anything for the body, just make a post to the endpoint this applies to all endpoints. You only need to pass in the user's email when you are using the basic authentication method. The response will be the same regardless of the authentication method. If you do pass in the email parameter using JWT Authorization it will be ignored.


Punch In

POST : {{workplace_url}}api/thriveific/v1/punch-in


{
	"email": "[email protected]"
}

Response


{
    "success": true,
    "icon": "fas fa-hand-rock",
    "title": "Welcome",
    "msg": "Punched In",
    "state": {
        "status": "punched_in",
        "active_time_log": 1360,
        "last_activity_time": 1589512898
    },
    "record_task": false,
    "time_log_id": 1360,
    "object": {
        "ID": 1360,
        "start_time": "1589512898",
        "breaks": [],
        "end_time": null,
        "task": "0",
        "time_worked": "",
        "seconds_worked": "",
        "hours_worked": "",
        "paid": "",
        "author": {
            "ID": "USER ID",
            "email": "USER EMAIL",
            "full_name": "USER FIRST AND LAST NAME"
        }
    }
}

If you are trying to punch in and if the user is currently punched in you will get the following response.


{
    "success": false,
    "icon": "fas fa-hand-rock",
    "title": "Error",
    "msg": "User is already punched in"
}

Start Break

POST : {{workplace_url}}/api/thriveific/v1/start-break


{
	"email": "[email protected]"
}

Response


{
    "success": true,
    "icon": "fas fa-cookie-bite",
    "title": "On Break",
    "msg": "Enjoy your break",
    "state": {
        "status": "on_break",
        "active_time_log": 1360,
        "last_activity_time": 1589512950
    },
    "object": {
        "ID": 1360,
        "start_time": "1589512898",
        "breaks": [
            {
                "start_time": 1589512950,
                "end_time": null
            }
        ],
        "end_time": null,
        "task": "0",
        "time_worked": "",
        "seconds_worked": "",
        "hours_worked": "",
        "paid": "",
        "author": {
            "ID": "USER ID",
            "email": "USER EMAIL",
            "full_name": "USER FIRST AND LAST NAME"
        }
    }
}

If you are attempting to start a break and if the user stats is not equal to "punched_in" you will receive the below response. We only allow a user to start a break their state in punched in.


{
    "success": false,
    "icon": "fas fa-hand-rock",
    "title": "Error",
    "msg": "User is not punched in"
}

End Break

POST : {{workplace_url}}/api/thriveific/v1/end-break


{
	"email": "[email protected]"
}

Response


{
    "success": true,
    "icon": "fas fa-hand-rock",
    "title": "Punched In",
    "msg": "Welcome Back",
    "state": {
        "status": "punched_in",
        "active_time_log": 1360,
        "last_activity_time": 1589512968
    },
    "object": {
        "ID": 1360,
        "start_time": "1589512898",
        "breaks": [
            {
                "start_time": 1589512950,
                "end_time": 1589512968
            }
        ],
        "end_time": null,
        "task": "0",
        "time_worked": "",
        "seconds_worked": "",
        "hours_worked": "",
        "paid": "",
        "author": {
            "ID": "[email protected]",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

If you try to end a break for a user and they are currently not "on_break" you will receive the following response.


{
    "success": false,
    "icon": "fas fa-hand-rock",
    "title": "Error",
    "msg": "User is not on break"
}

Punch Out


{
	"email": "[email protected]"
}

Response

POST : {{workplace_url}}/api/thriveific/v1/punch-out


{
    "success": true,
    "icon": "fas fa-hand-rock",
    "title": "Punched Out",
    "msg": "You're punched out",
    "state": {
        "status": "punched_out",
        "active_time_log": 1360,
        "last_activity_time": 1589512984
    },
    "object": {
        "ID": 1360,
        "start_time": "1589512898",
        "breaks": [
            {
                "start_time": 1589512950,
                "end_time": 1589512968
            }
        ],
        "end_time": "1589512984",
        "task": "0",
        "time_worked": {
            "years": 0,
            "months": 0,
            "days": 0,
            "hours": 0,
            "minutes": 1,
            "seconds": 8
        },
        "seconds_worked": "68",
        "hours_worked": "0.018888888888889",
        "paid": "",
        "author": {
            "ID": "[email protected]",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

If the user is not "punched_in" or "on_break" you will receive the following response. A user can only be punched out of they are on break or punched on. If they are on break, we will close out that break and punch the user out. You do not need to end a break before punching a user out.


{
    "success": true,
    "icon": "fas fa-hand-rock",
    "title": "Punched Out",
    "msg": "You're punched out",
    "state": {
        "status": "punched_out",
        "active_time_log": 1360,
        "last_activity_time": 1589512984
    },
    "object": {
        "ID": 1360,
        "start_time": "1589512898",
        "breaks": [
            {
                "start_time": 1589512950,
                "end_time": 1589512968
            }
        ],
        "end_time": "1589512984",
        "task": "0",
        "time_worked": {
            "years": 0,
            "months": 0,
            "days": 0,
            "hours": 0,
            "minutes": 1,
            "seconds": 8
        },
        "seconds_worked": "68",
        "hours_worked": "0.018888888888889",
        "paid": "",
        "author": {
            "ID": "[email protected]",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

The User State Object


POST : {{workplace_url}}/api/thriveific/v1/user-state

status

Status of user: This will either be "punched_in", "on_break" or "punched_out"

active_time_log

The ID of the user's time log. This is only seen if the user is punched in.

last_activity_time

Time in unix the of the last time the user punched in or out.


{
	"email": "[email protected]"
}

Response


{
    "status": "punched_in",
    "active_time_log": 1362,
    "last_activity_time": 1589513796
}

Data API


Announcements

{{workplace_url}}/api/thriveific/v1/announcements


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/announcements/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/announcements/432


The Announcement Object

Required Params: title, content

title stringRequired

String to identify object


content stringRequired

Content area


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/announcements/


{
    "title": "Announcements Title",
    "content": "Announcements Content"
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Announcement created",
    "body": {
        "title": "Announcements Title",
        "content": "Announcements Content"
    },
    "object": {
        "ID": 432,
        "title": " Announcements Title",
        "content": "Announcements Content",
        "date": "06/29/2020",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/announcements/432


{
    "title": "Announcements New Title",
    "content": "Announcements New Content"
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Announcement updated",
    "body": {
        "title": "Announcements New Title",
        "content": "Announcements New Content"
    },
    "object": {
        "ID": "432",
        "title": " Announcements New Title",
        "content": "Announcements New Content",
        "date": "06/29/2020",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/announcements/


[
    {
        "ID": 432,
        "title": " Announcements New Title",
        "content": "Announcements New Content",
        "date": "06/29/2020",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Announcement the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/announcements/432


{
    "ID": "432",
    "title": " Announcements New Title",
    "content": "Announcements New Content",
    "date": "06/29/2020",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/announcements/432


{
    "ID": "432",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Announcement deleted",
    "object": {
        "ID": "432",
        "title": "Announcements New Title",
        "content": "Announcements New Content",
        "date": "06/29/2020",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:30:28 am"
}

Audiences

{{workplace_url}}/api/thriveific/v1/audiences


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/audiences/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/audiences/433


The Audience Object

Required Params: title

title stringRequired

String to identify object


text_code string

Text phrase that will add users to thr audience. Requires Twilio integration.


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/audiences/


{
    "title": "Subscribe Text Compaign",
    "text_code": "subscribe"
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Audience created",
    "body": {
        "title": "Subscribe Text Compaign",
        "text_code": "subscribe"
    },
    "object": {
        "ID": 433,
        "title": " Subscribe Text Compaign",
        "audience_id": "019d385eb67632a7e958e23f24bd07d7",
        "text_code": "subscribe",
        "count": 0,
        "subscribers": null,
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/audiences/433


{
    "title": "Join Text Compaign",
    "text_code": "Join"
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Audience updated",
    "body": {
        "title": "Join Text Compaign",
        "text_code": "Join"
    },
    "object": {
        "ID": "433",
        "title": " Join Text Compaign",
        "audience_id": "019d385eb67632a7e958e23f24bd07d7",
        "text_code": "Join",
        "count": 0,
        "subscribers": null,
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/audiences/


[
    {
        "ID": 433,
        "title": " Join Text Compaign",
        "audience_id": "019d385eb67632a7e958e23f24bd07d7",
        "text_code": "Join",
        "count": 0,
        "subscribers": null,
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Audience the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/audiences/433


{
    "ID": "433",
    "title": " Join Text Compaign",
    "audience_id": "019d385eb67632a7e958e23f24bd07d7",
    "text_code": "Join",
    "count": 0,
    "subscribers": null,
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/audiences/433


{
    "ID": "433",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Audience deleted",
    "object": {
        "ID": "433",
        "title": "Join Text Compaign",
        "audience_id": "019d385eb67632a7e958e23f24bd07d7",
        "text_code": "Join",
        "count": 0,
        "subscribers": null,
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:30:34 am"
}

Boards

{{workplace_url}}/api/thriveific/v1/boards


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/boards/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/boards/455


The Board Object

Required Params:

title string

Title to identify board


content string

Board content area


cards object

Card relating to board


items object

Items in card


public object

true or false board value id board should be public


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/boards/


{
    "title": "My Board",
    "public": 0,
    "cards": [
        {
            "title": "Todo",
            "items": [
                {
                    "title": "Item 1"
                }
            ]
        },
        {
            "title": "Doing",
            "items": [
                {
                    "title": "Item 1"
                },
                {
                    "title": "Item 2"
                }
            ]
        },
        {
            "title": "Done",
            "items": [
                {
                    "title": "Item 1"
                },
                {
                    "title": "Item 2"
                }
            ]
        }
    ]
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Board created",
    "body": {
        "title": "My Board",
        "public": 0,
        "cards": [
            {
                "title": "Todo",
                "items": [
                    {
                        "title": "Item 1"
                    }
                ]
            },
            {
                "title": "Doing",
                "items": [
                    {
                        "title": "Item 1"
                    },
                    {
                        "title": "Item 2"
                    }
                ]
            },
            {
                "title": "Done",
                "items": [
                    {
                        "title": "Item 1"
                    },
                    {
                        "title": "Item 2"
                    }
                ]
            }
        ]
    },
    "object": {
        "ID": 455,
        "title": " My Board",
        "cards": [
            {
                "title": "Todo",
                "items": [
                    {
                        "title": "Item 1"
                    }
                ]
            },
            {
                "title": "Doing",
                "items": [
                    {
                        "title": "Item 1"
                    },
                    {
                        "title": "Item 2"
                    }
                ]
            },
            {
                "title": "Done",
                "items": [
                    {
                        "title": "Item 1"
                    },
                    {
                        "title": "Item 2"
                    }
                ]
            }
        ],
        "date": "Monday June 29, 2020",
        "status": "private",
        "public": 0,
        "url": "https://demo.thriveific.dev/boards/my-board/",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/boards/455


{
    "title": "My Board",
    "public": 0,
    "cards": [
        {
            "title": "Todo",
            "items": [
                {
                    "title": "Item 1"
                }
            ]
        },
        {
            "title": "Doing",
            "items": [
                {
                    "title": "Item 1"
                },
                {
                    "title": "Item 2"
                }
            ]
        },
        {
            "title": "Done",
            "items": [
                {
                    "title": "Item 1"
                },
                {
                    "title": "Item 2"
                }
            ]
        }
    ]
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Board updated",
    "body": {
        "title": "My Board",
        "public": 0,
        "cards": [
            {
                "title": "Todo",
                "items": [
                    {
                        "title": "Item 1"
                    }
                ]
            },
            {
                "title": "Doing",
                "items": [
                    {
                        "title": "Item 1"
                    },
                    {
                        "title": "Item 2"
                    }
                ]
            },
            {
                "title": "Done",
                "items": [
                    {
                        "title": "Item 1"
                    },
                    {
                        "title": "Item 2"
                    }
                ]
            }
        ]
    },
    "object": {
        "ID": "455",
        "title": " My Board",
        "cards": [
            {
                "title": "Todo",
                "items": [
                    {
                        "title": "Item 1"
                    }
                ]
            },
            {
                "title": "Doing",
                "items": [
                    {
                        "title": "Item 1"
                    },
                    {
                        "title": "Item 2"
                    }
                ]
            },
            {
                "title": "Done",
                "items": [
                    {
                        "title": "Item 1"
                    },
                    {
                        "title": "Item 2"
                    }
                ]
            }
        ],
        "date": "Monday June 29, 2020",
        "status": "private",
        "public": 0,
        "url": "https://demo.thriveific.dev/boards/my-board/",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/boards/


[
    {
        "ID": 455,
        "title": " My Board",
        "cards": [
            {
                "title": "Todo",
                "items": [
                    {
                        "title": "Item 1"
                    }
                ]
            },
            {
                "title": "Doing",
                "items": [
                    {
                        "title": "Item 1"
                    },
                    {
                        "title": "Item 2"
                    }
                ]
            },
            {
                "title": "Done",
                "items": [
                    {
                        "title": "Item 1"
                    },
                    {
                        "title": "Item 2"
                    }
                ]
            }
        ],
        "date": "Monday June 29, 2020",
        "status": "private",
        "public": 0,
        "url": "https://demo.thriveific.dev/boards/my-board/",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Board the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/boards/455


{
    "ID": "455",
    "title": " My Board",
    "cards": [
        {
            "title": "Todo",
            "items": [
                {
                    "title": "Item 1"
                }
            ]
        },
        {
            "title": "Doing",
            "items": [
                {
                    "title": "Item 1"
                },
                {
                    "title": "Item 2"
                }
            ]
        },
        {
            "title": "Done",
            "items": [
                {
                    "title": "Item 1"
                },
                {
                    "title": "Item 2"
                }
            ]
        }
    ],
    "date": "Monday June 29, 2020",
    "status": "private",
    "public": 0,
    "url": "https://demo.thriveific.dev/boards/my-board/",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/boards/455


{
    "ID": "455",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Board deleted",
    "object": {
        "ID": "455",
        "title": "My Board",
        "cards": [
            {
                "title": "Todo",
                "items": [
                    {
                        "title": "Item 1"
                    }
                ]
            },
            {
                "title": "Doing",
                "items": [
                    {
                        "title": "Item 1"
                    },
                    {
                        "title": "Item 2"
                    }
                ]
            },
            {
                "title": "Done",
                "items": [
                    {
                        "title": "Item 1"
                    },
                    {
                        "title": "Item 2"
                    }
                ]
            }
        ],
        "date": "Monday June 29, 2020",
        "status": "trash",
        "public": 0,
        "url": "https://demo.thriveific.dev/boards/my-board__trashed-8/",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:31:50 am"
}

Client Resources

{{workplace_url}}/api/thriveific/v1/client-resources


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/client-resources/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/client-resources/435


The Client Resource Object

Required Params: title

title stringRequired

String to identify client resource.


content string

Client resource content area.


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/client-resources/


{
    "title": "Client Resource Title",
    "content": "Client Resource Content"
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Client Resource created",
    "body": {
        "title": "Client Resource Title",
        "content": "Client Resource Content"
    },
    "object": {
        "ID": 435,
        "title": " Client Resource Title",
        "content": "Client Resource Content",
        "author": {
            "id": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/client-resources/435


{
    "title": "Client Resource New Title",
    "content": "Client Resource New Content"
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Client Resource updated",
    "body": {
        "title": "Client Resource New Title",
        "content": "Client Resource New Content"
    },
    "object": {
        "ID": "435",
        "title": " Client Resource New Title",
        "content": "Client Resource New Content",
        "author": {
            "id": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/client-resources/


[
    {
        "ID": 435,
        "title": " Client Resource New Title",
        "content": "Client Resource New Content",
        "author": {
            "id": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Client Resource the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/client-resources/435


{
    "ID": "435",
    "title": " Client Resource New Title",
    "content": "Client Resource New Content",
    "author": {
        "id": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/client-resources/435


{
    "ID": "435",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Client Resource deleted",
    "object": {
        "ID": "435",
        "title": "Client Resource New Title",
        "content": "Client Resource New Content",
        "author": {
            "id": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:30:41 am"
}

Documents

{{workplace_url}}/api/thriveific/v1/documents


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/documents/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/documents/436


The Document Object

Required Params: title, content

title stringRequired

String to identify object


parties object

Parties that need to sign the form


company_parties object

Parties that need to sign the form


content stringRequired

Content area


enable_company_parties bool

Must be true is if you would like to have a member of your business to sign


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/documents/


{
    "title": "Documents Title",
    "content": "Documents Content",
    "enable_company_parties": "1",
    "company_parties": [
        {
            "full_name": "Jerrick Hakim",
            "email": "[email protected]"
        }
    ],
    "parties": [
        {
            "full_name": "Sandra Smith",
            "email": "[email protected]"
        }
    ]
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Document created",
    "body": {
        "title": "Documents Title",
        "content": "Documents Content",
        "enable_company_parties": "1",
        "company_parties": [
            {
                "full_name": "Jerrick Hakim",
                "email": "[email protected]"
            }
        ],
        "parties": [
            {
                "full_name": "Sandra Smith",
                "email": "[email protected]"
            }
        ]
    },
    "object": {
        "ID": 436,
        "status": "draft",
        "title": " Documents Title",
        "actual_status": "private",
        "enable_company_parties": "1",
        "company_parties": [
            {
                "full_name": "Jerrick Hakim",
                "email": "[email protected]"
            }
        ],
        "parties": [
            {
                "full_name": "Sandra Smith",
                "email": "[email protected]"
            }
        ],
        "content": "Documents Content",
        "url": "https://demo.thriveific.dev/documents/documents-title/",
        "trail": [
            {
                "time": 1593408642,
                "type": "created",
                "message": "Document Created"
            }
        ],
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/documents/436


{
    "title": "Documents Title",
    "content": "Documents Content",
    "enable_company_parties": "1",
    "company_parties": [
        {
            "full_name": "Jerrick Hakim",
            "email": "[email protected]"
        }
    ],
    "parties": [
        {
            "full_name": "Sandra Smith",
            "email": "[email protected]"
        }
    ]
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Document updated",
    "body": {
        "title": "Documents Title",
        "content": "Documents Content",
        "enable_company_parties": "1",
        "company_parties": [
            {
                "full_name": "Jerrick Hakim",
                "email": "[email protected]"
            }
        ],
        "parties": [
            {
                "full_name": "Sandra Smith",
                "email": "[email protected]"
            }
        ]
    },
    "object": {
        "ID": "436",
        "status": "draft",
        "title": " Documents Title",
        "actual_status": "private",
        "enable_company_parties": "1",
        "company_parties": [
            {
                "full_name": "Jerrick Hakim",
                "email": "[email protected]"
            }
        ],
        "parties": [
            {
                "full_name": "Sandra Smith",
                "email": "[email protected]"
            }
        ],
        "content": "Documents Content",
        "url": "https://demo.thriveific.dev/documents/documents-title/",
        "trail": [
            {
                "time": 1593408642,
                "type": "created",
                "message": "Document Created"
            }
        ],
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/documents/


[
    {
        "ID": 436,
        "status": "draft",
        "title": " Documents Title",
        "actual_status": "private",
        "enable_company_parties": "1",
        "company_parties": [
            {
                "full_name": "Jerrick Hakim",
                "email": "[email protected]"
            }
        ],
        "parties": [
            {
                "full_name": "Sandra Smith",
                "email": "[email protected]"
            }
        ],
        "content": "Documents Content",
        "url": "https://demo.thriveific.dev/documents/documents-title/",
        "trail": [
            {
                "time": 1593408642,
                "type": "created",
                "message": "Document Created"
            }
        ],
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Document the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/documents/436


{
    "ID": "436",
    "status": "draft",
    "title": " Documents Title",
    "actual_status": "private",
    "enable_company_parties": "1",
    "company_parties": [
        {
            "full_name": "Jerrick Hakim",
            "email": "[email protected]"
        }
    ],
    "parties": [
        {
            "full_name": "Sandra Smith",
            "email": "[email protected]"
        }
    ],
    "content": "Documents Content",
    "url": "https://demo.thriveific.dev/documents/documents-title/",
    "trail": [
        {
            "time": 1593408642,
            "type": "created",
            "message": "Document Created"
        }
    ],
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/documents/436


{
    "ID": "436",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Document deleted",
    "object": {
        "ID": "436",
        "status": "draft",
        "title": "Documents Title",
        "actual_status": "trash",
        "enable_company_parties": "1",
        "company_parties": [
            {
                "full_name": "Jerrick Hakim",
                "email": "[email protected]"
            }
        ],
        "parties": [
            {
                "full_name": "Sandra Smith",
                "email": "[email protected]"
            }
        ],
        "content": "Documents Content",
        "url": "https://demo.thriveific.dev/documents/documents-title__trashed-11/",
        "trail": [
            {
                "time": 1593408642,
                "type": "created",
                "message": "Document Created"
            }
        ],
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:30:45 am"
}

Document Templates

{{workplace_url}}/api/thriveific/v1/document-templates


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/document-templates/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/document-templates/437


The Document Template Object

Required Params: title, content

title stringRequired

String to identify object


parties object

Parties that need to sign the form


company_parties object

Parties that need to sign the form


content stringRequired

Content area


enable_company_parties bool

Must be true is if you would like to have a member of your business to sign


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/document-templates/


{
    "title": "Documents Title",
    "content": "Documents Content",
    "enable_company_parties": "1",
    "company_parties": [
        {
            "full_name": "Jerrick Hakim",
            "email": "[email protected]"
        }
    ],
    "parties": [
        {
            "full_name": "Sandra Smith",
            "email": "[email protected]"
        }
    ]
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Document Template created",
    "body": {
        "title": "Documents Title",
        "content": "Documents Content",
        "enable_company_parties": "1",
        "company_parties": [
            {
                "full_name": "Jerrick Hakim",
                "email": "[email protected]"
            }
        ],
        "parties": [
            {
                "full_name": "Sandra Smith",
                "email": "[email protected]"
            }
        ]
    },
    "object": {
        "ID": 437,
        "title": " Documents Title",
        "content": "Documents Content",
        "date": "06/29/2020",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/document-templates/437


{
    "title": "Documents Title",
    "content": "Documents Content",
    "enable_company_parties": "1",
    "company_parties": [
        {
            "full_name": "Jerrick Hakim",
            "email": "[email protected]"
        }
    ],
    "parties": [
        {
            "full_name": "Sandra Smith",
            "email": "[email protected]"
        }
    ]
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Document Template updated",
    "body": {
        "title": "Documents Title",
        "content": "Documents Content",
        "enable_company_parties": "1",
        "company_parties": [
            {
                "full_name": "Jerrick Hakim",
                "email": "[email protected]"
            }
        ],
        "parties": [
            {
                "full_name": "Sandra Smith",
                "email": "[email protected]"
            }
        ]
    },
    "object": {
        "ID": "437",
        "title": " Documents Title",
        "content": "Documents Content",
        "date": "06/29/2020",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/document-templates/


[
    {
        "ID": 437,
        "title": " Documents Title",
        "content": "Documents Content",
        "date": "06/29/2020",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Document Template the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/document-templates/437


{
    "ID": "437",
    "title": " Documents Title",
    "content": "Documents Content",
    "date": "06/29/2020",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/document-templates/437


{
    "ID": "437",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Document Template deleted",
    "object": {
        "ID": "437",
        "title": "Documents Title",
        "content": "Documents Content",
        "date": "06/29/2020",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:30:48 am"
}

Email Broadcasts

{{workplace_url}}/api/thriveific/v1/email-broadcasts


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/email-broadcasts/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/email-broadcasts/438


The Email Broadcast Object

Required Params: title, content

title stringRequired

String to identify email broadcast.


content stringRequired

Email broadcast body content.


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/email-broadcasts/


{
    "title": "Email Broadcast Title",
    "content": "Email Broadcast Content"
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Email Broadcast created",
    "body": {
        "title": "Email Broadcast Title",
        "content": "Email Broadcast Content"
    },
    "object": {
        "ID": 438,
        "title": " Email Broadcast Title",
        "content": "Email Broadcast Content",
        "status": "draft",
        "progress": "0",
        "report": "",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/email-broadcasts/438


{
    "title": "Email Broadcast New Title",
    "content": "Email Broadcast New Content"
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Email Broadcast updated",
    "body": {
        "title": "Email Broadcast New Title",
        "content": "Email Broadcast New Content"
    },
    "object": {
        "ID": "438",
        "title": " Email Broadcast New Title",
        "content": "Email Broadcast New Content",
        "status": "draft",
        "progress": "0",
        "report": "",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/email-broadcasts/


[
    {
        "ID": 438,
        "title": " Email Broadcast New Title",
        "content": "Email Broadcast New Content",
        "status": "draft",
        "progress": "0",
        "report": "",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Email Broadcast the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/email-broadcasts/438


{
    "ID": "438",
    "title": " Email Broadcast New Title",
    "content": "Email Broadcast New Content",
    "status": "draft",
    "progress": "0",
    "report": "",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/email-broadcasts/438


{
    "ID": "438",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Email Broadcast deleted",
    "object": {
        "ID": "438",
        "title": "Email Broadcast New Title",
        "content": "Email Broadcast New Content",
        "status": "draft",
        "progress": "0",
        "report": "",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:30:52 am"
}

Expenses

{{workplace_url}}/api/thriveific/v1/expenses


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/expenses/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/expenses/439


The Expense Object

Required Params: title, amount, date

title stringRequired

String to identify expense.


amount integerRequired

Total amount of expense.


notes string

Notes in relation to expense.


merchant string

Expense merchant or vendor.


date stringRequired

Date of expense. Format: MM/DD/YYYY


project_id string

ID of project object expense is linked to.


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/expenses/


{
    "title": "Expense Title",
    "amount": "97",
    "notes": "Expense notes.",
    "merchant": "Expense merchant.",
    "date": "4/21/2020",
    "project_id": "27"
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Expense created",
    "body": {
        "title": "Expense Title",
        "amount": "97",
        "notes": "Expense notes.",
        "merchant": "Expense merchant.",
        "date": "4/21/2020",
        "project_id": "27"
    },
    "object": {
        "ID": 439,
        "title": " Expense Title",
        "merchant": "Expense merchant.",
        "date": "1587445200",
        "amount": "97",
        "notes": "Expense notes.",
        "project_id": "27",
        "project": false,
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/expenses/439


{
    "title": "Expense New Title",
    "amount": "97.99",
    "notes": "Expense new notes.",
    "merchant": "Expense new merchant.",
    "date": "4/21/2021",
    "project_id": "27"
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Expense updated",
    "body": {
        "title": "Expense New Title",
        "amount": "97.99",
        "notes": "Expense new notes.",
        "merchant": "Expense new merchant.",
        "date": "4/21/2021",
        "project_id": "27"
    },
    "object": {
        "ID": "439",
        "title": " Expense New Title",
        "merchant": "Expense new merchant.",
        "date": "1618981200",
        "amount": "97.99",
        "notes": "Expense new notes.",
        "project_id": "27",
        "project": false,
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/expenses/


[
    {
        "ID": 439,
        "title": " Expense New Title",
        "merchant": "Expense new merchant.",
        "date": "1618981200",
        "amount": "97.99",
        "notes": "Expense new notes.",
        "project_id": "27",
        "project": false,
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Expense the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/expenses/439


{
    "ID": "439",
    "title": " Expense New Title",
    "merchant": "Expense new merchant.",
    "date": "1618981200",
    "amount": "97.99",
    "notes": "Expense new notes.",
    "project_id": "27",
    "project": false,
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/expenses/439


{
    "ID": "439",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Expense deleted",
    "object": {
        "ID": "439",
        "title": "Expense New Title",
        "merchant": "Expense new merchant.",
        "date": "1618981200",
        "amount": "97.99",
        "notes": "Expense new notes.",
        "project_id": "27",
        "project": false,
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:30:55 am"
}

External Clients

{{workplace_url}}/api/thriveific/v1/external-clients


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/external-clients/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/external-clients/440


The External Client Object

Required Params: first_name, email

first_name stringRequired

Client first name


last_name string

Client last name


billing_name string

Client billing name


email stringRequired

Client email address


phone_number string

Client phone number


address string

Client address


address_line_2 string

Client address line 2


city string

Client city


state string

Client state


zip string

Client zip code


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/external-clients/


{
    "first_name": "Sandra",
    "last_name": "Smith",
    "billing_name": "Sandra Smith LLC",
    "email": "[email protected]",
    "phone_number": "000000000",
    "address": "892",
    "address_line_2": "Sunny Hills Lane",
    "city": "San Mateo",
    "state": "CA",
    "zip": "94080"
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "External Client created",
    "body": {
        "first_name": "Sandra",
        "last_name": "Smith",
        "billing_name": "Sandra Smith LLC",
        "email": "[email protected]",
        "phone_number": "000000000",
        "address": "892",
        "address_line_2": "Sunny Hills Lane",
        "city": "San Mateo",
        "state": "CA",
        "zip": "94080"
    },
    "object": {
        "ID": 440,
        "first_name": "Sandra",
        "last_name": "Smith",
        "phone": "000000000",
        "email": "[email protected]",
        "billing_name": "Sandra Smith LLC",
        "address": "892",
        "address_line_2": "Sunny Hills Lane",
        "city": "San Mateo",
        "state": "CA",
        "zip": "94080",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/external-clients/440


{
    "first_name": "Sandra M.",
    "last_name": "Smith",
    "billing_name": "Sandra Smith Clothing Co",
    "email": "[email protected]",
    "phone_number": "9999999999",
    "address": "421",
    "address_line_2": "Hillside Blvd",
    "city": "San Mateo",
    "state": "CA",
    "zip": "94080"
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "External Client updated",
    "body": {
        "first_name": "Sandra M.",
        "last_name": "Smith",
        "billing_name": "Sandra Smith Clothing Co",
        "email": "[email protected]",
        "phone_number": "9999999999",
        "address": "421",
        "address_line_2": "Hillside Blvd",
        "city": "San Mateo",
        "state": "CA",
        "zip": "94080"
    },
    "object": {
        "ID": "440",
        "first_name": "Sandra M.",
        "last_name": "Smith",
        "phone": "9999999999",
        "email": "[email protected]",
        "billing_name": "Sandra Smith Clothing Co",
        "address": "421",
        "address_line_2": "Hillside Blvd",
        "city": "San Mateo",
        "state": "CA",
        "zip": "94080",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/external-clients/


[
    {
        "ID": 440,
        "first_name": "Sandra M.",
        "last_name": "Smith",
        "phone": "9999999999",
        "email": "[email protected]",
        "billing_name": "Sandra Smith Clothing Co",
        "address": "421",
        "address_line_2": "Hillside Blvd",
        "city": "San Mateo",
        "state": "CA",
        "zip": "94080",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an External Client the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/external-clients/440


{
    "ID": "440",
    "first_name": "Sandra M.",
    "last_name": "Smith",
    "phone": "9999999999",
    "email": "[email protected]",
    "billing_name": "Sandra Smith Clothing Co",
    "address": "421",
    "address_line_2": "Hillside Blvd",
    "city": "San Mateo",
    "state": "CA",
    "zip": "94080",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/external-clients/440


{
    "ID": "440",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "External Client deleted",
    "object": {
        "ID": "440",
        "first_name": "Sandra M.",
        "last_name": "Smith",
        "phone": "9999999999",
        "email": "[email protected]",
        "billing_name": "Sandra Smith Clothing Co",
        "address": "421",
        "address_line_2": "Hillside Blvd",
        "city": "San Mateo",
        "state": "CA",
        "zip": "94080",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:30:59 am"
}

Internal Resources

{{workplace_url}}/api/thriveific/v1/internal-resources


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/internal-resources/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/internal-resources/442


The Internal Resource Object

Required Params: title

title stringRequired

Title to identify internal resource


content string

Internal resource content area


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/internal-resources/


{
    "title": "Internal Resource Title",
    "content": "Internal Resource Content"
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Internal Resource created",
    "body": {
        "title": "Internal Resource Title",
        "content": "Internal Resource Content"
    },
    "object": {
        "ID": 442,
        "title": " Internal Resource Title",
        "content": "Internal Resource Content",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/internal-resources/442


{
    "title": "Internal Resource New Title",
    "content": "Internal Resource New Content"
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Internal Resource updated",
    "body": {
        "title": "Internal Resource New Title",
        "content": "Internal Resource New Content"
    },
    "object": {
        "ID": "442",
        "title": " Internal Resource New Title",
        "content": "Internal Resource New Content",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/internal-resources/


[
    {
        "ID": 442,
        "title": " Internal Resource New Title",
        "content": "Internal Resource New Content",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Internal Resource the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/internal-resources/442


{
    "ID": "442",
    "title": " Internal Resource New Title",
    "content": "Internal Resource New Content",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/internal-resources/442


{
    "ID": "442",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Internal Resource deleted",
    "object": {
        "ID": "442",
        "title": "Internal Resource New Title",
        "content": "Internal Resource New Content",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:31:06 am"
}

Invoices

{{workplace_url}}/api/thriveific/v1/invoices


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/invoices/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/invoices/443


The Invoice Object

Required Params: title, client, due_date, items

title stringRequired

Title to identify invoice


client object_idRequired

Client email, client id, or external client object id


external_client boolean

True if client object is an external client.


items objectRequired

Object of invoice line items. items, quantity, amount


content string

Inoice content area


due_date dateRequired

Date to indicate due date of invoice


notify_client boolean

True to notify client and make email payable


tax_rate integer

Custom tax precentage for invoice


custom_tax_rate boolean

True if you are using a custom tax rate


project_id object_id

ID of project object that invoice is linked to


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/invoices/


{
    "title": "Invoice Title",
    "client": "[email protected]",
    "notify_client": "0",
    "external_client": "0",
    "project_id": "0",
    "due_date": "10/30/2020",
    "memo": "Attached is the invoice for the work that has been complete.",
    "items": [
        {
            "item": "Back End Dev",
            "quantity": "1",
            "amount": 500
        },
        {
            "item": "Front End View Layer",
            "quantity": "1",
            "amount": 10000
        },
        {
            "item": "Security Layer New",
            "quantity": "1",
            "amount": 10000
        }
    ]
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Invoice created",
    "body": {
        "title": "Invoice Title",
        "client": "[email protected]",
        "notify_client": "0",
        "external_client": "0",
        "project_id": "0",
        "due_date": "10/30/2020",
        "memo": "Attached is the invoice for the work that has been complete.",
        "items": [
            {
                "item": "Back End Dev",
                "quantity": "1",
                "amount": 500
            },
            {
                "item": "Front End View Layer",
                "quantity": "1",
                "amount": 10000
            },
            {
                "item": "Security Layer New",
                "quantity": "1",
                "amount": 10000
            }
        ]
    },
    "object": {
        "ID": 443,
        "title": " Invoice Title",
        "items": [
            {
                "item": "Back End Dev",
                "quantity": "1",
                "amount": "500"
            },
            {
                "item": "Front End View Layer",
                "quantity": "1",
                "amount": "10000"
            },
            {
                "item": "Security Layer New",
                "quantity": "1",
                "amount": "10000"
            }
        ],
        "status": "draft",
        "total": "20500",
        "custom_tax_rate": "0",
        "tax_rate": "0",
        "tax": "0",
        "due_date": "10/30/2020",
        "invoice_number": "DEMO-14",
        "content": "",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "business_information": {
            "name": "Business Nam",
            "email": "",
            "phone": "",
            "address": "892 Sunny Hill Lane",
            "address_line_2": "",
            "city": "San Mateo",
            "state": "CA",
            "zip": "94080"
        },
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "project_id": "0",
        "notify_client": "0",
        "paid_on": "",
        "receipt_url": "",
        "invoice_url": "",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/invoices/443


{
    "title": "Invoice New Title",
    "client": "[email protected]",
    "notify_client": "0",
    "external_client": "0",
    "project_id": "0",
    "due_date": "10/30/2020",
    "content": "Attached is the invoice for the work that has been complete. Updates with new details",
    "items": [
        {
            "item": "Back End Dev",
            "quantity": "1",
            "amount": 750
        },
        {
            "item": "Front End View Layer",
            "quantity": "1",
            "amount": 1300
        },
        {
            "item": "Security Layer New",
            "quantity": "1",
            "amount": 1500
        }
    ]
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Invoice updated",
    "body": {
        "title": "Invoice New Title",
        "client": "[email protected]",
        "notify_client": "0",
        "external_client": "0",
        "project_id": "0",
        "due_date": "10/30/2020",
        "content": "Attached is the invoice for the work that has been complete. Updates with new details",
        "items": [
            {
                "item": "Back End Dev",
                "quantity": "1",
                "amount": 750
            },
            {
                "item": "Front End View Layer",
                "quantity": "1",
                "amount": 1300
            },
            {
                "item": "Security Layer New",
                "quantity": "1",
                "amount": 1500
            }
        ]
    },
    "object": {
        "ID": "443",
        "title": " Invoice New Title",
        "items": [
            {
                "item": "Back End Dev",
                "quantity": "1",
                "amount": "750"
            },
            {
                "item": "Front End View Layer",
                "quantity": "1",
                "amount": "1300"
            },
            {
                "item": "Security Layer New",
                "quantity": "1",
                "amount": "1500"
            }
        ],
        "status": "draft",
        "total": "3550",
        "custom_tax_rate": "0",
        "tax_rate": "0",
        "tax": "0",
        "due_date": "10/30/2020",
        "invoice_number": "DEMO-14",
        "content": "Attached is the invoice for the work that has been complete. Updates with new details",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "business_information": {
            "name": "Business Nam",
            "email": "",
            "phone": "",
            "address": "892 Sunny Hill Lane",
            "address_line_2": "",
            "city": "San Mateo",
            "state": "CA",
            "zip": "94080"
        },
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "project_id": "0",
        "notify_client": "0",
        "paid_on": "",
        "receipt_url": "",
        "invoice_url": "",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/invoices/


[
    {
        "ID": 443,
        "title": " Invoice New Title",
        "items": [
            {
                "item": "Back End Dev",
                "quantity": "1",
                "amount": "750"
            },
            {
                "item": "Front End View Layer",
                "quantity": "1",
                "amount": "1300"
            },
            {
                "item": "Security Layer New",
                "quantity": "1",
                "amount": "1500"
            }
        ],
        "status": "draft",
        "total": "3550",
        "custom_tax_rate": "0",
        "tax_rate": "0",
        "tax": "0",
        "due_date": "10/30/2020",
        "invoice_number": "DEMO-14",
        "content": "Attached is the invoice for the work that has been complete. Updates with new details",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "business_information": {
            "name": "Business Nam",
            "email": "",
            "phone": "",
            "address": "892 Sunny Hill Lane",
            "address_line_2": "",
            "city": "San Mateo",
            "state": "CA",
            "zip": "94080"
        },
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "project_id": "0",
        "notify_client": "0",
        "paid_on": "",
        "receipt_url": "",
        "invoice_url": "",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Invoice the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/invoices/443


{
    "ID": "443",
    "title": " Invoice New Title",
    "items": [
        {
            "item": "Back End Dev",
            "quantity": "1",
            "amount": "750"
        },
        {
            "item": "Front End View Layer",
            "quantity": "1",
            "amount": "1300"
        },
        {
            "item": "Security Layer New",
            "quantity": "1",
            "amount": "1500"
        }
    ],
    "status": "draft",
    "total": "3550",
    "custom_tax_rate": "0",
    "tax_rate": "0",
    "tax": "0",
    "due_date": "10/30/2020",
    "invoice_number": "DEMO-14",
    "content": "Attached is the invoice for the work that has been complete. Updates with new details",
    "client": "5ed1c3fcb4bef",
    "external_client": "0",
    "business_information": {
        "name": "Business Nam",
        "email": "",
        "phone": "",
        "address": "892 Sunny Hill Lane",
        "address_line_2": "",
        "city": "San Mateo",
        "state": "CA",
        "zip": "94080"
    },
    "client_details": {
        "ID": "5ed1c3fcb4bef",
        "first_name": "Sandra",
        "last_name": "Smith",
        "phone": "6089600000",
        "email": "[email protected]",
        "billing_name": "",
        "address": "",
        "address_line_2": "",
        "city": "",
        "state": "",
        "zip": ""
    },
    "project_id": "0",
    "notify_client": "0",
    "paid_on": "",
    "receipt_url": "",
    "invoice_url": "",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/invoices/443


{
    "ID": "443",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Invoice deleted",
    "object": {
        "ID": "443",
        "title": "Invoice New Title",
        "items": [
            {
                "item": "Back End Dev",
                "quantity": "1",
                "amount": "750"
            },
            {
                "item": "Front End View Layer",
                "quantity": "1",
                "amount": "1300"
            },
            {
                "item": "Security Layer New",
                "quantity": "1",
                "amount": "1500"
            }
        ],
        "status": "draft",
        "total": "3550",
        "custom_tax_rate": "0",
        "tax_rate": "0",
        "tax": "0",
        "due_date": "10/30/2020",
        "invoice_number": "DEMO-14",
        "content": "Attached is the invoice for the work that has been complete. Updates with new details",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "business_information": {
            "name": "Business Nam",
            "email": "",
            "phone": "",
            "address": "892 Sunny Hill Lane",
            "address_line_2": "",
            "city": "San Mateo",
            "state": "CA",
            "zip": "94080"
        },
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "project_id": "0",
        "notify_client": "0",
        "paid_on": "",
        "receipt_url": "",
        "invoice_url": "",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:31:10 am"
}

Payments

{{workplace_url}}/api/thriveific/v1/payments


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/payments/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/payments/445


The Payments Object

Required Params: title, amount

title stringRequired

Title to identify note


date string

Date of payment. Format: MM/DD/YYYY


amount integerRequired

Amount of payment


project_id object_id

Object ID of project that payment is linked to


client string

Client email, client id, or external client object id


external_client string

True if client object is an external client.


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/payments/


{
    "title": "Payment Title",
    "date": "4/21/2020",
    "amount": "500",
    "project_id": "0",
    "client": "[email protected]",
    "external_client": "0"
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Payments created",
    "body": {
        "title": "Payment Title",
        "date": "4/21/2020",
        "amount": "500",
        "project_id": "0",
        "client": "[email protected]",
        "external_client": "0"
    },
    "object": {
        "ID": 445,
        "title": " Payment Title",
        "published": "2020-04-21",
        "date": "1587445200",
        "amount": "500",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "charge_method": "",
        "receipt_url": "",
        "invoice_id": "",
        "project_id": "0",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/payments/445


{
    "title": "Payment New Title",
    "date": "4/21/2021",
    "amount": "1000",
    "project_id": "0",
    "client": "[email protected]",
    "external_client": "0"
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Payments updated",
    "body": {
        "title": "Payment New Title",
        "date": "4/21/2021",
        "amount": "1000",
        "project_id": "0",
        "client": "[email protected]",
        "external_client": "0"
    },
    "object": {
        "ID": "445",
        "title": " Payment New Title",
        "published": "2021-04-21",
        "date": "1618981200",
        "amount": "1000",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "charge_method": "",
        "receipt_url": "",
        "invoice_id": "",
        "project_id": "0",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/payments/


[
    {
        "ID": 445,
        "title": " Payment New Title",
        "published": "2021-04-21",
        "date": "1618981200",
        "amount": "1000",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "charge_method": "",
        "receipt_url": "",
        "invoice_id": "",
        "project_id": "0",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Payments the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/payments/445


{
    "ID": "445",
    "title": " Payment New Title",
    "published": "2021-04-21",
    "date": "1618981200",
    "amount": "1000",
    "client": "5ed1c3fcb4bef",
    "external_client": "0",
    "client_details": {
        "ID": "5ed1c3fcb4bef",
        "first_name": "Sandra",
        "last_name": "Smith",
        "phone": "6089600000",
        "email": "[email protected]",
        "billing_name": "",
        "address": "",
        "address_line_2": "",
        "city": "",
        "state": "",
        "zip": ""
    },
    "charge_method": "",
    "receipt_url": "",
    "invoice_id": "",
    "project_id": "0",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/payments/445


{
    "ID": "445",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Payments deleted",
    "object": {
        "ID": "445",
        "title": "Payment New Title",
        "published": "2021-04-21",
        "date": "1618981200",
        "amount": "1000",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "charge_method": "",
        "receipt_url": "",
        "invoice_id": "",
        "project_id": "0",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:31:16 am"
}

Projects

{{workplace_url}}/api/thriveific/v1/projects


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/projects/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/projects/446


The Project Object

Required Params: title, status

title stringRequired

Title to identify project


status stringRequired

Project status: pending, in_progress, ongoing, delayed, complete


client object_id

Client email, client id, or external client object id


external_client boolean

True if client object is an external client.


team_members object

Array of team members. Value can be team members ID or email


completion_date string

Date of when project should be completed


content string

Date of when project should be completed


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/projects/


{
    "title": "Project Title",
    "status": "pending",
    "client": "[email protected]",
    "external_client": "0",
    "team_members": [
        "[email protected]"
    ],
    "completion_date": "4/21/2021",
    "content": "Project content area"
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Project created",
    "body": {
        "title": "Project Title",
        "status": "pending",
        "client": "[email protected]",
        "external_client": "0",
        "team_members": [
            "[email protected]"
        ],
        "completion_date": "4/21/2021",
        "content": "Project content area"
    },
    "object": {
        "ID": 446,
        "title": " Project Title",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "team_members": [
            "5ed1bbf4120f1"
        ],
        "status": "pending",
        "completion_date": "04/21/2021",
        "content": "Project content area",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/projects/446


{
    "title": "Project New Title",
    "status": "delayed",
    "client": "[email protected]",
    "external_client": "0",
    "team_members": [
        "[email protected]"
    ],
    "completion_date": "5/21/2021",
    "content": "Project new content area"
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Project updated",
    "body": {
        "title": "Project New Title",
        "status": "delayed",
        "client": "[email protected]",
        "external_client": "0",
        "team_members": [
            "[email protected]"
        ],
        "completion_date": "5/21/2021",
        "content": "Project new content area"
    },
    "object": {
        "ID": "446",
        "title": " Project New Title",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "clien[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "team_members": [
            "5ed1bbf4120f1"
        ],
        "status": "delayed",
        "completion_date": "05/21/2021",
        "content": "Project new content area",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/projects/


[
    {
        "ID": 446,
        "title": " Project New Title",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "team_members": [
            "5ed1bbf4120f1"
        ],
        "status": "delayed",
        "completion_date": "05/21/2021",
        "content": "Project new content area",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Project the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/projects/446


{
    "ID": "446",
    "title": " Project New Title",
    "client": "5ed1c3fcb4bef",
    "external_client": "0",
    "client_details": {
        "ID": "5ed1c3fcb4bef",
        "first_name": "Sandra",
        "last_name": "Smith",
        "phone": "6089600000",
        "email": "[email protected]",
        "billing_name": "",
        "address": "",
        "address_line_2": "",
        "city": "",
        "state": "",
        "zip": ""
    },
    "team_members": [
        "5ed1bbf4120f1"
    ],
    "status": "delayed",
    "completion_date": "05/21/2021",
    "content": "Project new content area",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/projects/446


{
    "ID": "446",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Project deleted",
    "object": {
        "ID": "446",
        "title": "Project New Title",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "team_members": [
            "5ed1bbf4120f1"
        ],
        "status": "delayed",
        "completion_date": "05/21/2021",
        "content": "Project new content area",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:31:20 am"
}

Proposals

{{workplace_url}}/api/thriveific/v1/proposals


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/proposals/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/proposals/447


The Proposals Object

Required Params: title, client, items

title stringRequired

Title to identify proposal


client object_idRequired

Client email, client id, or external client object id


external_client boolean

True if client object is an external client.


items objectRequired

Object of proposal line items. items, quantity, amount


content string

Inoice content area


notify_client boolean

True to notify client to take action on the proposal


project_id object_id

ID of project object that proposal is linked to


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/proposals/


{
    "title": "Proposal Title",
    "client": "[email protected]",
    "notify_client": "0",
    "external_client": "0",
    "project_id": "0",
    "due_date": "10/30/2020",
    "content": "Attached is the proposal for the suggested upcoming work",
    "items": [
        {
            "item": "Back End Dev",
            "quantity": "1",
            "amount": 500
        },
        {
            "item": "Front End View Layer",
            "quantity": "1",
            "amount": 10000
        },
        {
            "item": "Security Layer New",
            "quantity": "1",
            "amount": 10000
        }
    ]
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Proposals created",
    "body": {
        "title": "Proposal Title",
        "client": "[email protected]",
        "notify_client": "0",
        "external_client": "0",
        "project_id": "0",
        "due_date": "10/30/2020",
        "content": "Attached is the proposal for the suggested upcoming work",
        "items": [
            {
                "item": "Back End Dev",
                "quantity": "1",
                "amount": 500
            },
            {
                "item": "Front End View Layer",
                "quantity": "1",
                "amount": 10000
            },
            {
                "item": "Security Layer New",
                "quantity": "1",
                "amount": 10000
            }
        ]
    },
    "object": {
        "ID": 447,
        "title": " Proposal Title",
        "items": [
            {
                "item": "Back End Dev",
                "quantity": "1",
                "amount": "500"
            },
            {
                "item": "Front End View Layer",
                "quantity": "1",
                "amount": "10000"
            },
            {
                "item": "Security Layer New",
                "quantity": "1",
                "amount": "10000"
            }
        ],
        "status": "draft",
        "total": "20500",
        "content": "Attached is the proposal for the suggested upcoming work",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "project_id": "0",
        "notify_client": "0",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/proposals/447


{
    "title": "Proposal New Title",
    "client": "[email protected]",
    "notify_client": "0",
    "external_client": "0",
    "project_id": "0",
    "due_date": "10/30/2020",
    "content": "Attached is the proposal for the suggested upcoming work",
    "items": [
        {
            "item": "Back End Dev",
            "quantity": "1",
            "amount": 500
        },
        {
            "item": "Front End View Layer",
            "quantity": "1",
            "amount": 10000
        },
        {
            "item": "Security Layer New",
            "quantity": "1",
            "amount": 10000
        }
    ]
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Proposals updated",
    "body": {
        "title": "Proposal New Title",
        "client": "[email protected]",
        "notify_client": "0",
        "external_client": "0",
        "project_id": "0",
        "due_date": "10/30/2020",
        "content": "Attached is the proposal for the suggested upcoming work",
        "items": [
            {
                "item": "Back End Dev",
                "quantity": "1",
                "amount": 500
            },
            {
                "item": "Front End View Layer",
                "quantity": "1",
                "amount": 10000
            },
            {
                "item": "Security Layer New",
                "quantity": "1",
                "amount": 10000
            }
        ]
    },
    "object": {
        "ID": "447",
        "title": " Proposal New Title",
        "items": [
            {
                "item": "Back End Dev",
                "quantity": "1",
                "amount": "500"
            },
            {
                "item": "Front End View Layer",
                "quantity": "1",
                "amount": "10000"
            },
            {
                "item": "Security Layer New",
                "quantity": "1",
                "amount": "10000"
            }
        ],
        "status": "draft",
        "total": "20500",
        "content": "Attached is the proposal for the suggested upcoming work",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "project_id": "0",
        "notify_client": "0",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/proposals/


[
    {
        "ID": 447,
        "title": " Proposal New Title",
        "items": [
            {
                "item": "Back End Dev",
                "quantity": "1",
                "amount": "500"
            },
            {
                "item": "Front End View Layer",
                "quantity": "1",
                "amount": "10000"
            },
            {
                "item": "Security Layer New",
                "quantity": "1",
                "amount": "10000"
            }
        ],
        "status": "draft",
        "total": "20500",
        "content": "Attached is the proposal for the suggested upcoming work",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "project_id": "0",
        "notify_client": "0",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Proposals the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/proposals/447


{
    "ID": "447",
    "title": " Proposal New Title",
    "items": [
        {
            "item": "Back End Dev",
            "quantity": "1",
            "amount": "500"
        },
        {
            "item": "Front End View Layer",
            "quantity": "1",
            "amount": "10000"
        },
        {
            "item": "Security Layer New",
            "quantity": "1",
            "amount": "10000"
        }
    ],
    "status": "draft",
    "total": "20500",
    "content": "Attached is the proposal for the suggested upcoming work",
    "client": "5ed1c3fcb4bef",
    "external_client": "0",
    "client_details": {
        "ID": "5ed1c3fcb4bef",
        "first_name": "Sandra",
        "last_name": "Smith",
        "phone": "6089600000",
        "email": "[email protected]",
        "billing_name": "",
        "address": "",
        "address_line_2": "",
        "city": "",
        "state": "",
        "zip": ""
    },
    "project_id": "0",
    "notify_client": "0",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/proposals/447


{
    "ID": "447",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Proposals deleted",
    "object": {
        "ID": "447",
        "title": "Proposal New Title",
        "items": [
            {
                "item": "Back End Dev",
                "quantity": "1",
                "amount": "500"
            },
            {
                "item": "Front End View Layer",
                "quantity": "1",
                "amount": "10000"
            },
            {
                "item": "Security Layer New",
                "quantity": "1",
                "amount": "10000"
            }
        ],
        "status": "draft",
        "total": "20500",
        "content": "Attached is the proposal for the suggested upcoming work",
        "client": "5ed1c3fcb4bef",
        "external_client": "0",
        "client_details": {
            "ID": "5ed1c3fcb4bef",
            "first_name": "Sandra",
            "last_name": "Smith",
            "phone": "6089600000",
            "email": "[email protected]",
            "billing_name": "",
            "address": "",
            "address_line_2": "",
            "city": "",
            "state": "",
            "zip": ""
        },
        "project_id": "0",
        "notify_client": "0",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:31:23 am"
}

Scratch Boards

{{workplace_url}}/api/thriveific/v1/scratch-boards


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/scratch-boards/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/scratch-boards/448


The Scratch Board Object

Required Params:

title string

Title to identify scratch board


cards object

Object with keys of 'title' containing text string.


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/scratch-boards/


{
    "title": "My Board",
    "public": 0,
    "cards": [
        {
            "title": "Item 1"
        },
        {
            "title": "Item 2"
        },
        {
            "title": "Item 3"
        }
    ]
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Scratch Board created",
    "body": {
        "title": "My Board",
        "public": 0,
        "cards": [
            {
                "title": "Item 1"
            },
            {
                "title": "Item 2"
            },
            {
                "title": "Item 3"
            }
        ]
    },
    "object": {
        "ID": 448,
        "title": " My Board",
        "cards": [
            {
                "title": "Item 1"
            },
            {
                "title": "Item 2"
            },
            {
                "title": "Item 3"
            }
        ],
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/scratch-boards/448


{
    "title": "My Board",
    "public": 0,
    "cards": [
        {
            "title": "Item 1"
        },
        {
            "title": "Item 2"
        },
        {
            "title": "Item 3"
        }
    ]
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Scratch Board updated",
    "body": {
        "title": "My Board",
        "public": 0,
        "cards": [
            {
                "title": "Item 1"
            },
            {
                "title": "Item 2"
            },
            {
                "title": "Item 3"
            }
        ]
    },
    "object": {
        "ID": "448",
        "title": " My Board",
        "cards": [
            {
                "title": "Item 1"
            },
            {
                "title": "Item 2"
            },
            {
                "title": "Item 3"
            }
        ],
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/scratch-boards/


[
    {
        "ID": 448,
        "title": " My Board",
        "cards": [
            {
                "title": "Item 1"
            },
            {
                "title": "Item 2"
            },
            {
                "title": "Item 3"
            }
        ],
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Scratch Board the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/scratch-boards/448


{
    "ID": "448",
    "title": " My Board",
    "cards": [
        {
            "title": "Item 1"
        },
        {
            "title": "Item 2"
        },
        {
            "title": "Item 3"
        }
    ],
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/scratch-boards/448


{
    "ID": "448",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Scratch Board deleted",
    "object": {
        "ID": "448",
        "title": "My Board",
        "cards": [
            {
                "title": "Item 1"
            },
            {
                "title": "Item 2"
            },
            {
                "title": "Item 3"
            }
        ],
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:31:27 am"
}

SMS Triggers

{{workplace_url}}/api/thriveific/v1/sms-triggers


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/sms-triggers/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/sms-triggers/450


The SMS Trigger Object

Required Params: trigger, sms_response

trigger stringRequired

Key phrase we are listening for


sms_response stringRequired

Message text that we will send when trigger is recieved


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/sms-triggers/


{
    "title": "SMS Trigger Title",
    "trigger": "start",
    "sms_response": "Your response to start"
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "SMS Trigger created",
    "body": {
        "title": "SMS Trigger Title",
        "trigger": "start",
        "sms_response": "Your response to start"
    },
    "object": {
        "ID": 450,
        "trigger": "start",
        "sms_response": "Your response to start",
        "count": "",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/sms-triggers/450


{
    "title": "SMS Trigger New Title",
    "trigger": "start",
    "sms_response": "Updated SMS trigger response"
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "SMS Trigger updated",
    "body": {
        "title": "SMS Trigger New Title",
        "trigger": "start",
        "sms_response": "Updated SMS trigger response"
    },
    "object": {
        "ID": "450",
        "trigger": "start",
        "sms_response": "Updated SMS trigger response",
        "count": "",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/sms-triggers/


[
    {
        "ID": 450,
        "trigger": "start",
        "sms_response": "Updated SMS trigger response",
        "count": "",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an SMS Trigger the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/sms-triggers/450


{
    "ID": "450",
    "trigger": "start",
    "sms_response": "Updated SMS trigger response",
    "count": "",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/sms-triggers/450


{
    "ID": "450",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "SMS Trigger deleted",
    "object": {
        "ID": "450",
        "trigger": "start",
        "sms_response": "Updated SMS trigger response",
        "count": "",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:31:35 am"
}

SMS Broadcasts

{{workplace_url}}/api/thriveific/v1/sms-broadcasts


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/sms-broadcasts/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/sms-broadcasts/449


The SMS Broadcast Object

Required Params: title, message

title stringRequired

String to identify SMS broadcast.


message stringRequired

SMS broadcast message body.


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/sms-broadcasts/


{
    "title": "SMS Broadcast Title",
    "message": "Your SMS message here"
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "SMS Broadcast created",
    "body": {
        "title": "SMS Broadcast Title",
        "message": "Your SMS message here"
    },
    "object": {
        "ID": 449,
        "title": " SMS Broadcast Title",
        "message": "Your SMS message here",
        "status": "draft",
        "progress": "0",
        "report": "",
        "date": "Monday June 29, 2020",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/sms-broadcasts/449


{
    "title": "SMS Broadcast New Title",
    "message": "Your updated SMS message"
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "SMS Broadcast updated",
    "body": {
        "title": "SMS Broadcast New Title",
        "message": "Your updated SMS message"
    },
    "object": {
        "ID": "449",
        "title": " SMS Broadcast New Title",
        "message": "Your updated SMS message",
        "status": "draft",
        "progress": "0",
        "report": "",
        "date": "Monday June 29, 2020",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/sms-broadcasts/


[
    {
        "ID": 449,
        "title": " SMS Broadcast New Title",
        "message": "Your updated SMS message",
        "status": "draft",
        "progress": "0",
        "report": "",
        "date": "Monday June 29, 2020",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an SMS Broadcast the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/sms-broadcasts/449


{
    "ID": "449",
    "title": " SMS Broadcast New Title",
    "message": "Your updated SMS message",
    "status": "draft",
    "progress": "0",
    "report": "",
    "date": "Monday June 29, 2020",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/sms-broadcasts/449


{
    "ID": "449",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "SMS Broadcast deleted",
    "object": {
        "ID": "449",
        "title": "SMS Broadcast New Title",
        "message": "Your updated SMS message",
        "status": "draft",
        "progress": "0",
        "report": "",
        "date": "Monday June 29, 2020",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:31:31 am"
}

Subscribers

{{workplace_url}}/api/thriveific/v1/subscribers


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/subscribers/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/subscribers/451


The Subscriber Object

Required Params:

first_name string

Subscriber first name


last_name string

Subscriber last name


email string

Subscriber Email


phone_number string

Subscriber phone number


audience_ids oject

Oject of audience IDs or unique Ids


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/subscribers/


{
    "first_name": "Subscriber first name",
    "last_name": "Subscriber last name",
    "email": "[email protected]",
    "phone_number": "0000000000",
    "audience_ids": []
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Subscriber created",
    "body": {
        "first_name": "Subscriber first name",
        "last_name": "Subscriber last name",
        "email": "[email protected]",
        "phone_number": "0000000000",
        "audience_ids": []
    },
    "object": {
        "ID": 451,
        "first_name": "Subscriber first name",
        "last_name": "Subscriber last name",
        "email": "[email protected]",
        "phone_number": "0000000000",
        "phone": "0000000000",
        "audience_ids": null,
        "audience_ids_unique": null,
        "audience_titles": null
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/subscribers/451


{
    "first_name": "James",
    "last_name": "Hillway",
    "email": "[email protected]",
    "phone_number": "9999999999",
    "audience_ids": []
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Subscriber updated",
    "body": {
        "first_name": "James",
        "last_name": "Hillway",
        "email": "[email protected]",
        "phone_number": "9999999999",
        "audience_ids": []
    },
    "object": {
        "ID": "451",
        "first_name": "James",
        "last_name": "Hillway",
        "email": "[email protected]",
        "phone_number": "9999999999",
        "phone": "9999999999",
        "audience_ids": null,
        "audience_ids_unique": null,
        "audience_titles": null
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/subscribers/


[
    {
        "ID": 451,
        "first_name": "James",
        "last_name": "Hillway",
        "email": "[email protected]",
        "phone_number": "9999999999",
        "phone": "9999999999",
        "audience_ids": null,
        "audience_ids_unique": null,
        "audience_titles": null
    }
]

If you append the get url with the ID of an Subscriber the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/subscribers/451


{
    "ID": "451",
    "first_name": "James",
    "last_name": "Hillway",
    "email": "[email protected]",
    "phone_number": "9999999999",
    "phone": "9999999999",
    "audience_ids": null,
    "audience_ids_unique": null,
    "audience_titles": null
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/subscribers/451


{
    "ID": "451",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Subscriber deleted",
    "object": {
        "ID": "451",
        "first_name": "James",
        "last_name": "Hillway",
        "email": "[email protected]",
        "phone_number": "9999999999",
        "phone": "9999999999",
        "audience_ids": null,
        "audience_ids_unique": null,
        "audience_titles": null
    },
    "time": "06/29/20 00:31:38 am"
}

Tasks

{{workplace_url}}/api/thriveific/v1/tasks


Methods

POST, GET: {{workplace_url}}/api/thriveific/v1/tasks/

PUT, DELETE, GET: {{workplace_url}}/api/thriveific/v1/tasks/452


The Task Object

Required Params: title, status

title stringRequired

Title to identify task


status stringRequired

Task status: pending, in_progress, completes


content string

Content area for task


project_id object_id

Project ID that task is linked to


team_member object_id

Team member task is linked to can be team members email or ID


Post Request Body

POST: {{workplace_url}}/api/thriveific/v1/tasks/


{
    "title": "Task Title",
    "status": "pending",
    "content": "Task content area",
    "project_id": "0",
    "team_member": "[email protected]"
}

Response


{
    "success": true,
    "title": "Success",
    "msg": "Task created",
    "body": {
        "title": "Task Title",
        "status": "pending",
        "content": "Task content area",
        "project_id": "0",
        "team_member": "[email protected]"
    },
    "object": {
        "ID": 452,
        "title": " Task Title",
        "status": "pending",
        "project_id": "0",
        "project_title": "",
        "team_member": "5ed1bbf4120f1",
        "team_member_details": {
            "ID": "5ed1bbf4120f1",
            "first_name": "Jerrick",
            "last_name": "Hakim",
            "phone": "",
            "email": "[email protected]"
        },
        "content": "Task content area",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Put Request Body

PUT, POST: {{workplace_url}}/api/thriveific/v1/tasks/452


{
    "title": "Task New Title",
    "status": "in_progress",
    "content": "Task updated content area",
    "project_id": "0",
    "team_member": "[email protected]"
}

Response


{
    "success": true,
    "title": "Updated",
    "msg": "Task updated",
    "body": {
        "title": "Task New Title",
        "status": "in_progress",
        "content": "Task updated content area",
        "project_id": "0",
        "team_member": "[email protected]"
    },
    "object": {
        "ID": "452",
        "title": " Task New Title",
        "status": "in_progress",
        "project_id": "0",
        "project_title": "",
        "team_member": "5ed1bbf4120f1",
        "team_member_details": {
            "ID": "5ed1bbf4120f1",
            "first_name": "Jerrick",
            "last_name": "Hakim",
            "phone": "",
            "email": "[email protected]"
        },
        "content": "Task updated content area",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
}

Get

GET: {{workplace_url}}/api/thriveific/v1/tasks/


[
    {
        "ID": 452,
        "title": " Task New Title",
        "status": "in_progress",
        "project_id": "0",
        "project_title": " Task New Title",
        "team_member": "5ed1bbf4120f1",
        "team_member_details": {
            "ID": "5ed1bbf4120f1",
            "first_name": "Jerrick",
            "last_name": "Hakim",
            "phone": "",
            "email": "[email protected]"
        },
        "content": "Task updated content area",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    }
]

If you append the get url with the ID of an Task the single result will be returned.

GET: {{workplace_url}}/api/thriveific/v1/tasks/452


{
    "ID": "452",
    "title": " Task New Title",
    "status": "in_progress",
    "project_id": "0",
    "project_title": "",
    "team_member": "5ed1bbf4120f1",
    "team_member_details": {
        "ID": "5ed1bbf4120f1",
        "first_name": "Jerrick",
        "last_name": "Hakim",
        "phone": "",
        "email": "[email protected]"
    },
    "content": "Task updated content area",
    "author": {
        "ID": "5ed1bbf4120f1",
        "email": "[email protected]",
        "full_name": "Jerrick Hakim"
    }
}

Delete

DELETE: {{workplace_url}}/api/thriveific/v1/tasks/452


{
    "ID": "452",
    "success": true,
    "icon": "fas fa-trash",
    "title": "Deleted",
    "msg": "Task deleted",
    "object": {
        "ID": "452",
        "title": "Task New Title",
        "status": "in_progress",
        "project_id": "0",
        "project_title": "",
        "team_member": "5ed1bbf4120f1",
        "team_member_details": {
            "ID": "5ed1bbf4120f1",
            "first_name": "Jerrick",
            "last_name": "Hakim",
            "phone": "",
            "email": "[email protected]"
        },
        "content": "Task updated content area",
        "author": {
            "ID": "5ed1bbf4120f1",
            "email": "[email protected]",
            "full_name": "Jerrick Hakim"
        }
    },
    "time": "06/29/20 00:31:42 am"
}