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:
{"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 |