Skip to content
ClientPress
  • Pricing
  • Features
  • Demo
  • SolutionsExpand
    • Coaches and Consultants
    • Employee Onboarding
    • Freelancers and Contractors
    • Teams Working With Outside Freelancers
    • Web and Digital Agencies
  • Contact
  • Log In
  • 0
ClientPress

Getting Started

7
  • Inviting a Client to Their Portal
  • Creating Your First Portal
  • User Roles Explained
  • Initial Setup Checklist
  • Plugin Overview — What ClientPress Does
  • Magic Login Links in Email Notifications
  • How to Link Clients to Their Portal

Navigation

1
  • How Client Login and Redirect Works

Assets, Files, and Deliverables

1
  • Portal Files — Browsing All Uploaded Files Across Portals

Client Setup

4
  • Onboarding — Guiding Clients Through Their First Steps
  • Managing Client Invitations
  • Assigning Project Managers to a Portal
  • Adding Sub-Clients to a Portal

Advanced

3
  • Uninstalling ClientPress — What Data Gets Deleted
  • Private File Storage and Security
  • Activity Log — What Gets Tracked and How to Use It

Automations and Integrations

5
  • REST API Overview
  • Connecting ClientPress to OttoKit
  • Connecting ClientPress to Make
  • Connecting ClientPress to Zapier
  • Using Webhooks with ClientPress

Features and Tabs

14
  • Onboarding — Guiding Clients Through Their First Steps
  • Docs — Adding Portal-Specific Client Documents
  • Guides — Creating and Assigning Global Support Docs
  • People Tab — Managing Portal Members
  • Tools & Links Tab — Building a Client Resource Board
  • Managing Deliverable Revisions
  • Deliverables — Sending Work for Client Approval
  • File Approval Workflow
  • Files Tab — Uploading and Managing Client Files
  • Calendar View — Visualizing Task Due Dates
  • Using the Kanban Board View for Tasks
  • Task Manager — Creating and Managing Tasks
  • Message Board — Topic-Based Team Discussions
  • Discussion Tab — Private Messaging with Clients

Notifications and Emails

3
  • Enabling or Disabling Admin Notifications
  • How Clients Can Manage Their Notification Preferences
  • How Portal Notifications Work

Portals and Hubs

6
  • Setting Portal Width and Layout per View
  • Configuring the Portal Landing Tab
  • Branding a Portal
  • Using Portal Templates
  • Managing Portal Status
  • Understanding Portals and Hubs (Child Portals)

Settings and Configuration

5
  • Setting Up the Login Redirect
  • Appearance Settings
  • Configuring Deliverable Categories and Revision Limits
  • Configuring File Upload Settings
  • Enabling and Disabling Portal Features Globally

Shortcodes and Theme

2
  • Customizing Portal Colors with the Theme Customizer
  • Shortcode Reference

Developer

5
  • ClientPress Hooks & Filters
  • ClientPress Outbound Webhooks
  • ClientPress Inbound Webhooks
  • ClientPress REST API
  • ClientPress Abilities API Integration
View Categories
  • Home
  • Support Documentation
  • Automations and Integrations
  • REST API Overview

REST API Overview

3 min read

ClientPress exposes a REST API that lets you read portal data and trigger actions programmatically. This is useful for custom integrations, internal dashboards, and any tool that needs to interact with ClientPress data directly.


Base URL #

https://your-site.com/wp-json/cp/v1

Authentication #

The API uses two authentication methods depending on the endpoint:

WordPress Application Passwords (for read/write endpoints) #

Used for all standard portal endpoints. Generate an Application Password in your WordPress user profile:

  1. Go to Users → Profile
  2. Scroll to Application Passwords
  3. Enter a name (e.g. “ClientPress API”) and click Add New Application Password
  4. Copy the generated password

Include it in every API request as HTTP Basic Auth:

Authorization: Basic base64(username:application_password)

Administrators can access all portals. Project managers and clients see only portals they are assigned to.

API Key (for automation endpoints) #

Used for the inbound webhook endpoint. Generate a key under ClientPress → Integrations and include it as a header:

X-CP-API-Key: cp_your_key_here

Endpoints #

List Portals #

GET /portals

Returns an array of portals accessible to the authenticated user. Each portal includes its ID, title, slug, URL, status, accent color, client user ID, manager IDs, and timestamps.


Get a Single Portal #

GET /portals/{id}

Returns a single portal object by ID.


Create a Portal #

POST /portals

Requires admin authentication. Accepts:

  • title — string (required); Portal name
  • status — string; active, pending, or archived
  • accent_color — string; Hex color code (e.g. #2d6a4f)
  • allow_uploads — boolean; Whether clients can upload files
  • client_user_id — integer; WordPress user ID of the primary client
  • template_id — integer; ID of a portal template to apply

Returns the created portal object with a 201 Created status.


Get Portal Tasks #

GET /portals/{id}/tasks

Returns all task lists and their tasks for the portal. Each task includes its ID, title, description, status, due date, assignee IDs, and timestamps.


Get Portal Files #

GET /portals/{id}/files

Returns all file records for the portal, including file name, type, size, upload details, and approval status.


Get Portal Deliverables #

GET /portals/{id}/deliverables

Returns all deliverable records for the portal, including status, revision counts, category, and approval details.


Get Portal Activity #

GET /portals/{id}/activity

Returns a paginated activity log for the portal.

Query parameters:

  • limit — Default 25, max 100; Number of entries to return
  • offset — Default 0; Number of entries to skip

Response:

{
  "total": 47,
  "limit": 25,
  "offset": 0,
  "items": [
    {
      "id": 123,
      "user_id": 1,
      "action": "task_completed",
      "object_label": "Sign the contract",
      "description": "Admin completed Sign the contract",
      "created_at": "2024-01-18 14:22:00"
    }
  ]
}

Send an Invitation #

POST /portals/{id}/invite

Requires admin authentication. Accepts:

  • email — string (required); Client’s email address
  • name — string; Client’s name (used in the invitation email)

Returns a confirmation message on success.


Inbound Automation Webhook #

POST /webhook

Authenticated with an API key (X-CP-API-Key header). Accepts a JSON body with an action field.

Supported actions: create_portal, send_invite, assign_user, update_portal

This endpoint is used by Zapier, Make, OttoKit, and any other automation tool sending actions into ClientPress. See the individual integration docs for setup details.


Verify API Key #

GET /verify

Authenticated with an API key. Returns a success response confirming the key is valid and the site URL and plugin version.

{
  "success": true,
  "site": "https://youragency.com",
  "version": "1.0.0"
}
Updated on June 9, 2026

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Using Webhooks with ClientPressConnecting ClientPress to OttoKit

Leave a ReplyCancel reply

Table of Contents
  • Base URL
  • Authentication
    • WordPress Application Passwords (for read/write endpoints)
    • API Key (for automation endpoints)
  • Endpoints
    • List Portals
    • Get a Single Portal
    • Create a Portal
    • Get Portal Tasks
    • Get Portal Files
    • Get Portal Deliverables
    • Get Portal Activity
    • Send an Invitation
    • Inbound Automation Webhook
    • Verify API Key

Use Cases

  • Coaches and Consultants
  • Employee Onboarding
  • Freelancers and Independent Contractors
  • Teams Working With Outside Freelancers
  • Web and Digital Agencies

How We Compare

  • Market Comparison
  • ClientPress vs Client Portal
  • ClientPress vs. Asana
  • ClientPress vs. Basecamp
  • ClientPress vs. Microsft Teams
  • Clientpress vs. Clickup

Customers

  • Dashboard

Support

  • Documentation
  • Support
  • Changelog
  • Roadmap

Affiliates

  • Affiliate Program
  • Affiliate Dashboard
  • Affiliate Terms and Conditions

Legal

  • Accessibility Statement
  • Cookies Policy
  • Privacy Policy
  • Refund Policy
  • Terms of Service

© 2026 ClientPress

Review My Order

0

Subtotal

Taxes & shipping calculated at checkout

Checkout
  • Pricing
  • Features
  • Demo
  • Solutions
    • Coaches and Consultants
    • Employee Onboarding
    • Freelancers and Contractors
    • Teams Working With Outside Freelancers
    • Web and Digital Agencies
  • Contact
  • Log In
  • 0

Notifications