Skip to content

Overview

Brooklyn is a platform for managing third-party relationships: contracts, vendors, services, risks, reviews, surveys and the workflows around them. Everything the Brooklyn web application does, it does through this REST API, so any record a user can see or change in the application can also be read or changed programmatically.

Tenancy and permissions

Each Brooklyn customer has a dedicated environment with its own API address. Requests always run as a signed-in Brooklyn user: the API resolves the user's organisation from their identity and applies the same roles, business-unit rules and record-level permissions as the web application. A request can never return data the user could not see in Brooklyn.

Your Brooklyn administrator or customer success contact can provide the API address for your environment and enable API access for your users.

Methods

Method Meaning
GET Reads information. Changes nothing.
POST Creates a record, or runs an action such as sending a notification or loading a filtered list.
PATCH Updates some fields of an existing record.
PUT Replaces an existing record or a set of links in full.
DELETE Removes a record.

Standard operations

Most resources share the same set of operations:

Operation Request
List GET /resource
Get one GET /resource/{id}
Create POST /resource
Update PATCH /resource/{id}
Update many PATCH /resource/bulk
Replace PUT /resource/{id}
Delete DELETE /resource/{id}

List screens and filters

The main registers (contracts, vendors, services, risks, actions and others) also offer a POST …/list endpoint. Filters travel in the request body rather than the URL, so search terms never appear in logs or browser history:

JSON
{"filters": {"search": "hosting", "page": 1, "limit": 20}}

Responses and errors

Status Meaning
200 / 201 Success. The body is JSON.
400 The request is invalid, for example a missing or malformed field.
403 The request is not signed correctly, or the user lacks permission for this record.
404 The record or path does not exist.
429 Too many requests in a short time. Wait and retry.
503 A temporary problem. Retry after the time given in the Retry-After header.

Names in paths

Some paths use the names Brooklyn uses internally, so they don't match what the API is called on this site. These are the ones that differ:

API Path Category
Category plans /categorymanagement Contracts, vendors & services
Records /entity Contracts, vendors & services
Actions /itemreviews Flows & actions
Flows /obligations Flows & actions
Flow types /obligationtype Flows & actions
Flow stages /obligationtype-stages Flows & actions
Flow statuses /obligationtype-status Flows & actions
Flow custom fields /flowscustomfield Flows & actions
Flow field visibility settings /showFieldsflows Flows & actions
Flow file links /flowsfiles Flows & actions
Review item files /reviewitemsfiles Flows & actions
“My work” entries /viewmywork Flows & actions
Review categories /category Governance & reviews
Committee members /committeeuser Governance & reviews
XLA reporting periods /xlareportperiod Performance (XLAs)
Policy frequency targets /policy/frequencytargettypes Compliance rules & policies
Compliance alerts /compliancerulealert Compliance rules & policies
Record-rule links /entityComplianceRule Compliance rules & policies
Documents /files Documents & files
Document versions /fileversions Documents & files
Document links /file-by-entity Documents & files
File downloads /file-s3 Documents & files
Documents — list screen /api-v2/files Documents & files
Reading sessions /ocr-activity Contract intelligence (document reading)
Reading rules /ocr-rule Contract intelligence (document reading)
Text blocks /ocr-block Contract intelligence (document reading)
AI usage log entries /ai-integration-logs Ask Brooklyn (AI assistant)
Saved prompts /askBrooklynPrompt Ask Brooklyn (AI assistant)
Contract chats /askChatWithContract Ask Brooklyn (AI assistant)
Document chats /askChatWithDocuments Ask Brooklyn (AI assistant)
Survey-answer chats /askChatWithAnswers Ask Brooklyn (AI assistant)
Academy chats /askBrooklynAcademy Ask Brooklyn (AI assistant)
Contracts-grid chats /askBrooklynContractsGrid Ask Brooklyn (AI assistant)
Printable summaries /summary_export Reports, dashboards & charts
Dashboard role permissions /quicksightDashboardRole Reports, dashboards & charts
Stakeholder map entries /reports/stakeholder-management Reports, dashboards & charts
Dashboard widget placements /dashboard-quicksight-widget Reports, dashboards & charts
Email notification rules /notifications-email Notifications & emails
Notification views /notifications-views Notifications & emails
Scheduled imports /entity-csv-import Integrations
Dun & Bradstreet /integrations/dun-and-bradstreet Integrations
Login records /userloginactivity People, access & permissions
Beta features /featurebeta People, access & permissions
Access rules /acl-rules People, access & permissions
Business-unit access policies /acl-bu-policies People, access & permissions
Onboarding guide /onboarding-wizard People, access & permissions
Filter drop-downs /entityfilters Configuration & set-up