• Documentation
  • API Reference
Information
Reviews
    Retrieve a reviewgetRetrieve all reviewsgetCreate a reviewpostList redline evaluations for a reviewgetRetrieve a single redline evaluationgetUpdate a redline evaluationpatchList flag violations for a reviewgetRetrieve a single flag violationgetUpdate a flag violationpatchDownload review bundle (ZIP)getDownload review audit documentgetDownload processed (redlined) contractgetDownload original uploaded contractget
Imported Files
    List imported filesget
Playbooks
    Retrieve all playbooksgetCreate a playbookpostRetrieve a playbookgetArchive a playbookdeleteUpdate a playbookpatch
Playbook Rules
    List playbook rulesgetCreate a playbook rulepostRetrieve a playbook rulegetDelete a playbook ruledeleteUpdate a playbook rulepatch
Invitations
    List invitationsgetCreate an invitationpostRetrieve an invitationget
Users
    List usersget
Organization
    List organizationsgetRetrieve organizationgetUpdate organizationpatch
MCP
    MCP Serverpost
Schemas
powered by Zuplo
Gerri API
Gerri API

Playbook Rules

Endpoints for managing rules within a playbook.


List playbook rules

GET
https://api.gerri.commonpaper.com
/v1/organizations/{organization_id}/playbooks/{playbook_id}/playbook_rules

Returns all rules for the given playbook, scoped to the current organization.

List playbook rules › path Parameters

organization_id
​string · uuid · required

Organization id

playbook_id
​string · uuid · required

Parent playbook id

List playbook rules › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

List playbook rules › Responses

A list of playbook rules

PlaybookRulesListResponse
​PlaybookRule[] · required
GET/v1/organizations/{organization_id}/playbooks/{playbook_id}/playbook_rules
curl https://api.gerri.commonpaper.com/v1/organizations/:organization_id/playbooks/:playbook_id/playbook_rules \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": [ { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "type": "playbook_rule", "attributes": { "name": "Limitation of Liability", "description": "Liability must be capped at the total fees paid in the prior 12 months.", "actions": "Flag any clause that removes or exceeds the liability cap.", "internal_notes": "Derived from 4 agreements.", "questions": "Is there a general liability cap? If so, what is it?", "generate_summary": true, "reviewer_id": "b1a2c3d4-e5f6-7890-abcd-ef1234567890", "reviewer": "admin@example.com", "created_at": "2026-04-09T13:53:17.095Z", "updated_at": "2026-04-09T13:53:17.095Z" } }, { "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "type": "playbook_rule", "attributes": { "name": "Auto-Renewal Notice", "description": "Contracts with auto-renewal must include a defined opt-out notice period.", "actions": "Reject any auto-renewal clause that lacks a notice period of at least 15 days.", "internal_notes": null, "questions": null, "generate_summary": true, "reviewer_id": null, "reviewer": "admin@example.com", "created_at": "2026-04-09T13:54:00.000Z", "updated_at": "2026-04-09T13:54:00.000Z" } } ] }
json
application/json

Create a playbook rule

POST
https://api.gerri.commonpaper.com
/v1/organizations/{organization_id}/playbooks/{playbook_id}/playbook_rules

Creates a new rule under the given playbook. name is required. actions is required unless generate_summary is true and questions is present. Optional: description, internal_notes, questions, generate_summary, reviewer_id. reviewer_id must be an available reviewer for the organization.

Create a playbook rule › path Parameters

organization_id
​string · uuid · required

Organization id

playbook_id
​string · uuid · required

Parent playbook id

Create a playbook rule › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Create a playbook rule › Request Body

CreatePlaybookRuleBody
name
​string · required

Name for the rule.

description
​string

Optional description for the rule.

actions
​string

Actions to take when this rule is triggered. Required unless generate_summary is true and questions is present.

internal_notes
​string

Optional team notes. Does not affect how Gerri applies the rule.

questions
​string

Optional questions to answer when summarizing this topic on a clean agreement.

generate_summary
​boolean

When true, Gerri summarizes this topic during a clean-agreement (summary) review. Defaults to true.

reviewer_id
​string · uuid · minLength: 1 · pattern: ^[0-9a-fA-F]{8}-[0-9…

User id of the reviewer to escalate to; must be an available reviewer for the organization. Omit to use the organization default.

Create a playbook rule › Responses

Playbook rule created; returns the new rule resource

PlaybookRuleResponse
​PlaybookRule · required
POST/v1/organizations/{organization_id}/playbooks/{playbook_id}/playbook_rules
curl https://api.gerri.commonpaper.com/v1/organizations/:organization_id/playbooks/:playbook_id/playbook_rules \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "name": "Limitation of Liability", "actions": "Flag any clause that removes or exceeds the liability cap." }'
Example Request Body
{ "name": "Limitation of Liability", "actions": "Flag any clause that removes or exceeds the liability cap." }
json
application/json
Example Responses
{ "data": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "type": "playbook_rule", "attributes": { "name": "Limitation of Liability", "description": "Liability must be capped at the total fees paid in the prior 12 months.", "actions": "Flag any clause that removes or exceeds the liability cap.", "internal_notes": "Derived from 4 agreements.", "questions": "Is there a general liability cap? If so, what is it?", "generate_summary": true, "reviewer_id": "b1a2c3d4-e5f6-7890-abcd-ef1234567890", "reviewer": "admin@example.com", "created_at": "2026-04-09T13:53:17.095Z", "updated_at": "2026-04-09T13:53:17.095Z" } } }
json
application/json

Retrieve a playbook rule

GET
https://api.gerri.commonpaper.com
/v1/organizations/{organization_id}/playbooks/{playbook_id}/playbook_rules/{rule_id}

Returns one rule by id under the given playbook, scoped to the current organization.

Retrieve a playbook rule › path Parameters

organization_id
​string · uuid · required

Organization id

playbook_id
​string · uuid · required

Parent playbook id

rule_id
​string · uuid · required

Playbook rule id

Retrieve a playbook rule › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Retrieve a playbook rule › Responses

A single playbook rule

PlaybookRuleResponse
​PlaybookRule · required
GET/v1/organizations/{organization_id}/playbooks/{playbook_id}/playbook_rules/{rule_id}
curl https://api.gerri.commonpaper.com/v1/organizations/:organization_id/playbooks/:playbook_id/playbook_rules/:rule_id \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "type": "playbook_rule", "attributes": { "name": "Limitation of Liability", "description": "Liability must be capped at the total fees paid in the prior 12 months.", "actions": "Flag any clause that removes or exceeds the liability cap.", "internal_notes": "Derived from 4 agreements.", "questions": "Is there a general liability cap? If so, what is it?", "generate_summary": true, "reviewer_id": "b1a2c3d4-e5f6-7890-abcd-ef1234567890", "reviewer": "admin@example.com", "created_at": "2026-04-09T13:53:17.095Z", "updated_at": "2026-04-09T13:53:17.095Z" } } }
json
application/json

Delete a playbook rule

DELETE
https://api.gerri.commonpaper.com
/v1/organizations/{organization_id}/playbooks/{playbook_id}/playbook_rules/{rule_id}

Permanently deletes one rule by id under the given playbook.

Delete a playbook rule › path Parameters

organization_id
​string · uuid · required

Organization id

playbook_id
​string · uuid · required

Parent playbook id

rule_id
​string · uuid · required

Playbook rule id

Delete a playbook rule › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Delete a playbook rule › Responses

Playbook rule deleted; no content returned

No data returned
DELETE/v1/organizations/{organization_id}/playbooks/{playbook_id}/playbook_rules/{rule_id}
curl https://api.gerri.commonpaper.com/v1/organizations/:organization_id/playbooks/:playbook_id/playbook_rules/:rule_id \ --request DELETE \ --header 'Authorization: Bearer <token>'
Example Responses
No example specified for this content type

Update a playbook rule

PATCH
https://api.gerri.commonpaper.com
/v1/organizations/{organization_id}/playbooks/{playbook_id}/playbook_rules/{rule_id}

Updates one or more fields on a single playbook rule. Send only the fields you want to change: name, description, actions, internal_notes, questions, generate_summary, reviewer_id. Text fields description, actions, internal_notes, and questions may be sent as null to clear them. reviewer_id must be an available reviewer for the organization, or null to fall back to the organization default.

Update a playbook rule › path Parameters

organization_id
​string · uuid · required

Organization id

playbook_id
​string · uuid · required

Parent playbook id

rule_id
​string · uuid · required

Playbook rule id

Update a playbook rule › Headers

Authorization
​string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Update a playbook rule › Request Body

PatchPlaybookRuleBody
name
​string

Updated name for the rule.

description
​string | null

Updated description for the rule. Send null to clear.

actions
​string | null

Updated actions for the rule. Send null to clear.

internal_notes
​string | null

Updated team notes. Send null to clear.

questions
​string | null

Updated summary questions. Send null to clear.

generate_summary
​boolean

Whether Gerri should summarize this topic during a clean-agreement review.

​

User id of the reviewer to escalate to; must be an available reviewer for the organization. Send null to fall back to the organization default.

Update a playbook rule › Responses

Updated playbook rule

PlaybookRuleResponse
​PlaybookRule · required
PATCH/v1/organizations/{organization_id}/playbooks/{playbook_id}/playbook_rules/{rule_id}
curl https://api.gerri.commonpaper.com/v1/organizations/:organization_id/playbooks/:playbook_id/playbook_rules/:rule_id \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "name": "Updated Rule Name" }'
Example Request Body
{ "name": "Updated Rule Name" }
json
application/json
Example Responses
{ "data": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "type": "playbook_rule", "attributes": { "name": "Updated Rule Name", "description": "Updated description.", "actions": "Reject any clause that removes the liability cap.", "internal_notes": "Updated notes.", "questions": "Updated questions.", "generate_summary": false, "reviewer_id": "c2d3e4f5-a6b7-8901-bcde-f12345678901", "reviewer": "colleague@example.com", "created_at": "2026-04-09T13:53:17.095Z", "updated_at": "2026-04-30T15:00:00.000Z" } } }
json
application/json

PlaybooksInvitations