← API reference

Developer · API reference

Business entities

Create, read, update and delete segments, offerings, locations and ideal customers.

The entities below make up a company’s Knowledge Base: the segments, offerings, locations and ideal-customer profiles LunaLift turns into schema and uses to steer prompt generation.

Each entity type shares the same shape: a `POST` to upsert (create or update), a `GET` to read one by ID, and a `DELETE` to remove it. Set the optional `update_prompts=true` query flag when you want an edit to refresh the prompts derived from that entity.

POST /company/segment/{company_id}

Upsert Segment

Upsert a segment with value proposition relationship management

🔒 Requires Authorization: Bearer ll_… (or X-API-Key).

Path parameters

NameTypeRequiredDescription
company_idstringYes—

Query parameters

NameTypeRequiredDefaultDescription
update_promptsbooleanNofalse—

Request body· Segment

FieldTypeRequiredDescription
idstringNo—
companyIdstringYes—
evaluatebooleanNo—
createdAtstringNo—
updatedAtstringNo—
deletedAtstring | nullNo—
namestringYes—
brandstringNo—
descriptionstring | nullNo—
valuePropositionsValueProposition[]No—

Example request

curl -X POST "https://api.lunalift.ai/company/segment/COMPANY_ID" \
  -H "Authorization: Bearer ll_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "companyId": "string",
  "name": "string"
}'

Response · 200 OK

Returns a JSON object on success.

GET /company/segment/{segment_id}

Get Segment

Get a specific segment by ID

🔒 Requires Authorization: Bearer ll_… (or X-API-Key).

Path parameters

NameTypeRequiredDescription
segment_idstringYes—

Example request

curl -X GET "https://api.lunalift.ai/company/segment/SEGMENT_ID" \
  -H "Authorization: Bearer ll_your_api_key"

Response · 200 OK

Returns a JSON object on success.

DELETE /company/segment/{segment_id}

Delete Segment

Delete a segment with prompt management options

🔒 Requires Authorization: Bearer ll_… (or X-API-Key).

Path parameters

NameTypeRequiredDescription
segment_idstringYes—

Query parameters

NameTypeRequiredDefaultDescription
deactivate_promptsbooleanNotrue—
delete_promptsbooleanNofalse—
remove_referencesbooleanNotrue—

Example request

curl -X DELETE "https://api.lunalift.ai/company/segment/SEGMENT_ID" \
  -H "Authorization: Bearer ll_your_api_key"

Response · 200 OK

Returns a JSON object on success.

POST /company/offering/{company_id}

Upsert Offering

Upsert an offering

🔒 Requires Authorization: Bearer ll_… (or X-API-Key).

Path parameters

NameTypeRequiredDescription
company_idstringYes—

Request body· Offering

FieldTypeRequiredDescription
idstringNo—
companyIdstringYes—
evaluatebooleanNo—
createdAtstringNo—
updatedAtstringNo—
deletedAtstring | nullNo—
offeringTypeOfferingType | nullNo—
detailedCategorystringYes—
brandstringNo—
descriptionstring | nullNo—

Example request

curl -X POST "https://api.lunalift.ai/company/offering/COMPANY_ID" \
  -H "Authorization: Bearer ll_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "companyId": "string",
  "detailedCategory": "string"
}'

Response · 200 OK

Returns a JSON object on success.

GET /company/offering/{offering_id}

Get Offering

Get a specific offering by ID

🔒 Requires Authorization: Bearer ll_… (or X-API-Key).

Path parameters

NameTypeRequiredDescription
offering_idstringYes—

Example request

curl -X GET "https://api.lunalift.ai/company/offering/OFFERING_ID" \
  -H "Authorization: Bearer ll_your_api_key"

Response · 200 OK

Returns a JSON object on success.

DELETE /company/offering/{offering_id}

Delete Offering

Delete an offering with prompt management options

🔒 Requires Authorization: Bearer ll_… (or X-API-Key).

Path parameters

NameTypeRequiredDescription
offering_idstringYes—

Query parameters

NameTypeRequiredDefaultDescription
deactivate_promptsbooleanNotrue—
delete_promptsbooleanNofalse—
remove_referencesbooleanNotrue—

Example request

curl -X DELETE "https://api.lunalift.ai/company/offering/OFFERING_ID" \
  -H "Authorization: Bearer ll_your_api_key"

Response · 200 OK

Returns a JSON object on success.

POST /company/location/{company_id}

Upsert Location

Upsert a location

🔒 Requires Authorization: Bearer ll_… (or X-API-Key).

Path parameters

NameTypeRequiredDescription
company_idstringYes—

Request body· Location

FieldTypeRequiredDescription
idstringNo—
companyIdstringYes—
evaluatebooleanNo—
createdAtstringNo—
updatedAtstringNo—
deletedAtstring | nullNo—
countryLocationCountryNoSupported countries
customLocationstring | nullNo—
languagesLanguage[]No—

Example request

curl -X POST "https://api.lunalift.ai/company/location/COMPANY_ID" \
  -H "Authorization: Bearer ll_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "companyId": "string"
}'

Response · 200 OK

Returns a JSON object on success.

GET /company/location/{location_id}

Get Location

Get a specific location by ID

🔒 Requires Authorization: Bearer ll_… (or X-API-Key).

Path parameters

NameTypeRequiredDescription
location_idstringYes—

Example request

curl -X GET "https://api.lunalift.ai/company/location/LOCATION_ID" \
  -H "Authorization: Bearer ll_your_api_key"

Response · 200 OK

Returns a JSON object on success.

DELETE /company/location/{location_id}

Delete Location

Delete a location with prompt management options

🔒 Requires Authorization: Bearer ll_… (or X-API-Key).

Path parameters

NameTypeRequiredDescription
location_idstringYes—

Query parameters

NameTypeRequiredDefaultDescription
deactivate_promptsbooleanNotrue—
delete_promptsbooleanNofalse—
remove_referencesbooleanNotrue—

Example request

curl -X DELETE "https://api.lunalift.ai/company/location/LOCATION_ID" \
  -H "Authorization: Bearer ll_your_api_key"

Response · 200 OK

Returns a JSON object on success.

POST /company/idealcustomer/{company_id}

Upsert Ideal Customer

Upsert an ideal customer

🔒 Requires Authorization: Bearer ll_… (or X-API-Key).

Path parameters

NameTypeRequiredDescription
company_idstringYes—

Request body· IdealCustomer

FieldTypeRequiredDescription
idstringNo—
companyIdstringYes—
evaluatebooleanNo—
createdAtstringNo—
updatedAtstringNo—
deletedAtstring | nullNo—
profileNamestringYes—
descriptionstring | nullNo—

Example request

curl -X POST "https://api.lunalift.ai/company/idealcustomer/COMPANY_ID" \
  -H "Authorization: Bearer ll_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "companyId": "string",
  "profileName": "string"
}'

Response · 200 OK

Returns a JSON object on success.

GET /company/idealcustomer/{idealcustomer_id}

Get Ideal Customer

Get a specific ideal customer by ID

🔒 Requires Authorization: Bearer ll_… (or X-API-Key).

Path parameters

NameTypeRequiredDescription
idealcustomer_idstringYes—

Example request

curl -X GET "https://api.lunalift.ai/company/idealcustomer/IDEALCUSTOMER_ID" \
  -H "Authorization: Bearer ll_your_api_key"

Response · 200 OK

Returns a JSON object on success.

DELETE /company/idealcustomer/{idealcustomer_id}

Delete Ideal Customer

Delete an ideal customer with prompt management options

🔒 Requires Authorization: Bearer ll_… (or X-API-Key).

Path parameters

NameTypeRequiredDescription
idealcustomer_idstringYes—

Query parameters

NameTypeRequiredDefaultDescription
deactivate_promptsbooleanNotrue—
delete_promptsbooleanNofalse—
remove_referencesbooleanNotrue—

Example request

curl -X DELETE "https://api.lunalift.ai/company/idealcustomer/IDEALCUSTOMER_ID" \
  -H "Authorization: Bearer ll_your_api_key"

Response · 200 OK

Returns a JSON object on success.