Build

Companies

Manage private companies (lenders and sponsors) in the Lev API.

Updated June 2026
GET/api/external/v2/companies
GET/api/external/v2/companies/{company_id}
GET/api/external/v2/companies/{company_id}/notesNotes logged on a company
POST/api/external/v2/companies/{company_id}/notes
PATCH/api/external/v2/companies/{company_id}/notes/{note_id}
DELETE/api/external/v2/companies/{company_id}/notes/{note_id}

Overview

EndpointDescription
GET /companiesList companies with pagination
GET /companies/{id}Get a single company
POST /companiesCreate a new company
PATCH /companies/{id}Update a company
GET /companies/{id}/notesList notes logged on a company
POST /companies/{id}/notesAdd a note to a company
PATCH /companies/{id}/notes/{note_id}Edit a company note
DELETE /companies/{id}/notes/{note_id}Delete a company note

List Companies

GET/api/external/v2/companies

List companies in your account

Query parameters
limitinteger
Results per page (1–200, default 50)
cursorstring
Cursor for next page
fieldsstring
Comma-separated fields to include

Response (200):

{
  "request_id": "d4e5f6a7-b8c9-0123-def0-234567890123",
  "timestamp": "2026-03-20T15:30:45Z",
  "data": [
    {
      "id": 12,
      "name": "Meridian Capital Group",
      "website": "https://meridiancapital.com",
      "address": "1 Battery Park Plaza",
      "city": "New York",
      "state": "NY",
      "zip": "10004",
      "org_id": 4521,
      "linkedin_url": "https://linkedin.com/company/meridian-capital",
      "is_connected": true,
      "owner_account_id": 56,
      "created_at": "2025-08-12T09:00:00Z",
      "updated_at": "2026-02-15T14:30:00Z"
    }
  ],
  "pagination": {
    "total": 34,
    "limit": 50,
    "has_more": false,
    "next_cursor": null
  }
}
401unauthorized
Authentication requiredMissing or invalid Authorization header
400bad_request
cursor and sort cannot be combined; use offset pagination when sortingBoth cursor and sort params provided

Get Company

GET/api/external/v2/companies/{company_id}

Get a single company by ID

Path parameters
company_idintegerrequired
The company ID

Response (200):

{
  "request_id": "e5f6a7b8-c9d0-1234-ef01-345678901234",
  "timestamp": "2026-03-20T15:30:45Z",
  "data": {
    "id": 12,
    "name": "Meridian Capital Group",
    "website": "https://meridiancapital.com",
    "address": "1 Battery Park Plaza",
    "city": "New York",
    "state": "NY",
    "zip": "10004",
    "org_id": 4521,
    "linkedin_url": "https://linkedin.com/company/meridian-capital",
    "is_connected": true,
    "owner_account_id": 56,
    "created_at": "2025-08-12T09:00:00Z",
    "updated_at": "2026-02-15T14:30:00Z"
  }
}
401unauthorized
Authentication requiredMissing or invalid Authorization header
404not_found
Company not foundThe ID doesn't exist or isn't accessible to the authenticated user

Create Company

POST/api/external/v2/companies

Create a new company

Request body
namestringrequired
Company name (1–255 characters)
company_typestringrequired
Company type: "lender" or "sponsor" (required)
websitestring
Company website URL
addressstring
Street address
citystring
City
statestring
State
zipstring
ZIP code
org_idinteger
Link to a global organization record
linkedin_urlstring
LinkedIn URL

Response (201):

{
  "request_id": "f6a7b8c9-d0e1-2345-f012-456789012345",
  "timestamp": "2026-03-20T15:30:45Z",
  "data": {
    "id": 45,
    "name": "Eastdil Secured",
    "website": "https://eastdilsecured.com",
    "address": "40 West 57th Street",
    "city": "New York",
    "state": "NY",
    "zip": "10019",
    "org_id": null,
    "linkedin_url": "https://linkedin.com/company/eastdil-secured",
    "is_connected": false,
    "owner_account_id": 56,
    "created_at": "2026-03-20T15:30:45Z",
    "updated_at": "2026-03-20T15:30:45Z"
  }
}
401unauthorized
Authentication requiredMissing or invalid Authorization header
403forbidden
User not authorized to create companyThe user's role doesn't have CREATE permission
422validation_error
name is requiredMissing required name field
422validation_error
company_type is requiredMissing required company_type field

Update Company

PATCH/api/external/v2/companies/{company_id}

Update a company

Path parameters
company_idintegerrequired
The company ID

All request body fields are optional.

Response (200):

{
  "request_id": "a7b8c9d0-e1f2-3456-0123-567890123456",
  "timestamp": "2026-03-20T15:30:45Z",
  "data": {
    "id": 12,
    "name": "Meridian Capital Group",
    "website": "https://meridiancapital.com",
    "address": "1 Battery Park Plaza, Suite 800",
    "city": "New York",
    "state": "NY",
    "zip": "10004",
    "org_id": 4521,
    "linkedin_url": "https://linkedin.com/company/meridian-capital",
    "is_connected": true,
    "owner_account_id": 56,
    "created_at": "2025-08-12T09:00:00Z",
    "updated_at": "2026-03-20T15:30:45Z"
  }
}
401unauthorized
Authentication requiredMissing or invalid Authorization header
404not_found
Company not foundThe ID doesn't exist or isn't accessible to the authenticated user

List Company Notes

GET/api/external/v2/companies/{company_id}/notes

List notes logged on a company

Lists the free-text notes logged on a company — firm-level relationship context, coverage notes, and other human-written commentary on this lender or sponsor. Notes are returned oldest first; walk the next_cursor in the response to reach the most recent. Internal or private notes are never returned.

For underwriting facts and where a value came from, use the deal index (Search Index) — notes are commentary, not indexed facts.

Path parameters
company_idintegerrequired
The company ID
Query parameters
limitinteger
Results per page (1–200, default 50)
cursorstring
Cursor for next page
curl "https://api.lev.com/api/external/v2/companies/12/notes" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response (200):

{
  "request_id": "43f2c567-57e4-4fac-8044-b22e01ec562c",
  "timestamp": "2026-06-08T17:25:28Z",
  "data": [
    {
      "id": 6204,
      "text": "Active on multifamily and industrial in the Southeast; check size up to $40M.",
      "created_by": {
        "id": 88,
        "name": "Dana Lender"
      },
      "created_at": "2026-06-08T10:00:00Z",
      "updated_at": "2026-06-08T10:00:00Z"
    }
  ],
  "pagination": {
    "total": 1,
    "limit": 50,
    "has_more": false,
    "next_cursor": null
  }
}
401unauthorized
Authentication requiredMissing or invalid Authorization header
404not_found
Company not foundThe company_id doesn't exist or isn't accessible to the authenticated user

Create Company Note

POST/api/external/v2/companies/{company_id}/notes

Add a note to a company

Logs a free-text note on a company. The note is attributed to the API key's user and appears alongside notes written in the Lev web app. Simple HTML formatting is preserved; scripts and other unsafe markup are stripped.

Supports the Idempotency-Key header to prevent duplicate creation. Requires the companies:write scope.

Path parameters
company_idintegerrequired
The company ID
Request body
textstringrequired
Note text. Must be non-empty.
curl -X POST "https://api.lev.com/api/external/v2/companies/12/notes" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
  -d '{"text": "Active on multifamily and industrial in the Southeast; check size up to $40M."}'

Response (201):

{
  "request_id": "d0e1f2a3-b4c5-6789-3456-890123456789",
  "timestamp": "2026-06-08T15:30:45Z",
  "data": {
    "id": 6204,
    "text": "Active on multifamily and industrial in the Southeast; check size up to $40M.",
    "created_by": {
      "id": 88,
      "name": "Dana Lender"
    },
    "created_at": "2026-06-08T15:30:45Z",
    "updated_at": "2026-06-08T15:30:45Z"
  }
}
401unauthorized
Authentication requiredMissing or invalid Authorization header
404not_found
Company not foundThe company_id doesn't exist or isn't accessible to the authenticated user
422validation_error
text must not be blankThe request omits text or sends an empty string

Update Company Note

PATCH/api/external/v2/companies/{company_id}/notes/{note_id}

Edit a company note

Replaces the text of a note logged on a company. Requires the companies:write scope. Use the id returned by List Company Notes or Create Company Note as note_id.

Only notes the authenticated user created and can still write are editable. Notes on another company, hidden or private notes, and notes the user does not own return 404 Not Found.

Supports the Idempotency-Key header to make retries safe.

Path parameters
company_idintegerrequired
The company ID
note_idintegerrequired
The note ID
Request body
textstringrequired
Replacement note text. Must be non-empty.
curl -X PATCH "https://api.lev.com/api/external/v2/companies/12/notes/6204" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
  -d '{"text": "Active on multifamily and industrial in the Southeast; check size up to $50M."}'

Response (200):

{
  "request_id": "90d7bfc2-ff5e-4b4e-9c77-7987957fd6a7",
  "timestamp": "2026-06-19T15:30:45Z",
  "data": {
    "id": 6204,
    "text": "Active on multifamily and industrial in the Southeast; check size up to $50M.",
    "created_by": {
      "id": 88,
      "name": "Dana Lender"
    },
    "created_at": "2026-06-08T15:30:45Z",
    "updated_at": "2026-06-19T15:30:45Z"
  }
}
401unauthorized
Authentication requiredMissing or invalid Authorization header
404not_found
Company or note not foundThe company_id or note_id doesn't exist, doesn't match, isn't externally visible, or isn't writable by the authenticated user
400bad_request
text cannot be emptyThe supplied text becomes empty after sanitization
422validation_error
text must not be blankThe request omits text or sends an empty string

Delete Company Note

DELETE/api/external/v2/companies/{company_id}/notes/{note_id}

Permanently delete a company note

Permanently deletes a note logged on a company. Requires the companies:write scope. Use the id returned by List Company Notes or Create Company Note as note_id.

Only notes the authenticated user created and can still write are deletable. Notes on another company, hidden or private notes, and notes the user does not own return 404 Not Found.

Path parameters
company_idintegerrequired
The company ID
note_idintegerrequired
The note ID
curl -X DELETE "https://api.lev.com/api/external/v2/companies/12/notes/6204" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response (200):

{
  "request_id": "2c23bb16-8a8c-4a20-8ec0-9af5f555c84c",
  "timestamp": "2026-06-19T15:30:45Z",
  "data": {
    "deleted": true
  }
}
401unauthorized
Authentication requiredMissing or invalid Authorization header
404not_found
Company or note not foundThe company_id or note_id doesn't exist, doesn't match, isn't externally visible, or isn't writable by the authenticated user

Company Object

FieldTypeDescription
idintegerCompany identifier
namestring|nullCompany name
websitestring|nullWebsite URL
addressstring|nullStreet address
citystring|nullCity
statestring|nullState
zipstring|nullZIP code
org_idinteger|nullLinked global organization ID
owner_account_idinteger|nullOwning account ID
is_connectedbooleanWhether this is a connected company
linkedin_urlstring|nullLinkedIn URL
created_atstring|nullCreation timestamp
updated_atstring|nullLast update timestamp
More in this section