curl --request PUT \
--url https://openapi.enginy.ai/v1/ai-playbook \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"faqs": {
"upsert": [
{
"question": "Do you offer a free trial?",
"answer": "Yes, 14 days."
}
]
}
}
'{
"status": "success",
"message": "<string>",
"data": {
"company": {
"name": "<string>",
"company": "<string>",
"companyIndustry": "<string>",
"companyNumberOfEmployees": "<string>",
"companyHeadquartersLocation": "<string>",
"companyFoundingYear": "<string>",
"companyWebsite": "<string>",
"companyLinkedinUrl": "<string>",
"companyOverview": "<string>",
"companyProductsServices": "<string>"
},
"allCompanyProductsServices": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"valueProposition": "<string>",
"minPrice": 123,
"maxPrice": 123,
"currency": "<string>",
"isMainProduct": true
}
],
"idealCustomerProfiles": [
{
"id": 123,
"name": "<string>",
"jobTitles": [
"<string>"
],
"locations": [
"<string>"
],
"companyIndustry": "<string>",
"companySize": "<string>",
"keyPainPoints": "<string>",
"additionalInfo": "<string>",
"revenue": [
"<string>"
],
"disqualifyingFactors": "<string>",
"linkedInFilters": "<unknown>"
}
],
"idealCompanies": [
{
"id": 123,
"name": "<string>",
"industry": "<string>",
"imageUrl": "<string>",
"description": "<string>",
"linkedInUrl": "<string>",
"companyUrn": "<string>"
}
],
"competitors": [
{
"id": 123,
"name": "<string>",
"productDifferentiator": "<string>",
"linkedInUrl": "<string>"
}
],
"testimonials": [
{
"id": 123,
"companyName": "<string>",
"promoterName": "<string>",
"jobPosition": "<string>",
"mainBenefit": "<string>"
}
],
"faqs": [
{
"id": 123,
"question": "<string>",
"answer": "<string>"
}
],
"changes": {
"companyFieldsUpdated": 123,
"productsServices": {
"created": 123,
"updated": 123,
"restored": 123,
"deleted": 123
},
"idealCustomerProfiles": {
"created": 123,
"updated": 123,
"restored": 123,
"deleted": 123
},
"competitors": {
"created": 123,
"updated": 123,
"restored": 123,
"deleted": 123
},
"testimonials": {
"created": 123,
"updated": 123,
"restored": 123,
"deleted": 123
},
"faqs": {
"created": 123,
"updated": 123,
"restored": 123,
"deleted": 123
}
}
}
}Update AI playbook
Update the company AI playbook for the workspace.
This endpoint is deliberately additive. Nothing you leave out is changed:
- Omit a section (
productsServices,idealCustomerProfiles,competitors,testimonials,faqs) and that whole section is untouched. - Items missing from a section’s
upsertarray are untouched — sending a shorter list never removes the rest. - Items are matched by their natural key (products, profiles and competitors by
name; testimonials bycompanyName+promoterName; FAQs byquestion). A match updates the existing item, a new key creates one, and a key that was removed earlier is restored. - The only way to remove something is to list its id in that section’s
deleteIds. Removals are reversible: sending the same key again restores the item. - Company-level fields are written only when provided and non-empty.
idealCompanies and the linkedInFilters of an ideal customer profile are generated by Enginy and cannot be written here.
Call GET /v1/ai-playbook first to read the current ids and values. The response returns the full playbook after the write plus a changes summary of what was created, updated, restored, and deleted per section.
Required scope:
WORKSPACE_WRITERate limit: 30 requests per minute
curl --request PUT \
--url https://openapi.enginy.ai/v1/ai-playbook \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"faqs": {
"upsert": [
{
"question": "Do you offer a free trial?",
"answer": "Yes, 14 days."
}
]
}
}
'{
"status": "success",
"message": "<string>",
"data": {
"company": {
"name": "<string>",
"company": "<string>",
"companyIndustry": "<string>",
"companyNumberOfEmployees": "<string>",
"companyHeadquartersLocation": "<string>",
"companyFoundingYear": "<string>",
"companyWebsite": "<string>",
"companyLinkedinUrl": "<string>",
"companyOverview": "<string>",
"companyProductsServices": "<string>"
},
"allCompanyProductsServices": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"valueProposition": "<string>",
"minPrice": 123,
"maxPrice": 123,
"currency": "<string>",
"isMainProduct": true
}
],
"idealCustomerProfiles": [
{
"id": 123,
"name": "<string>",
"jobTitles": [
"<string>"
],
"locations": [
"<string>"
],
"companyIndustry": "<string>",
"companySize": "<string>",
"keyPainPoints": "<string>",
"additionalInfo": "<string>",
"revenue": [
"<string>"
],
"disqualifyingFactors": "<string>",
"linkedInFilters": "<unknown>"
}
],
"idealCompanies": [
{
"id": 123,
"name": "<string>",
"industry": "<string>",
"imageUrl": "<string>",
"description": "<string>",
"linkedInUrl": "<string>",
"companyUrn": "<string>"
}
],
"competitors": [
{
"id": 123,
"name": "<string>",
"productDifferentiator": "<string>",
"linkedInUrl": "<string>"
}
],
"testimonials": [
{
"id": 123,
"companyName": "<string>",
"promoterName": "<string>",
"jobPosition": "<string>",
"mainBenefit": "<string>"
}
],
"faqs": [
{
"id": 123,
"question": "<string>",
"answer": "<string>"
}
],
"changes": {
"companyFieldsUpdated": 123,
"productsServices": {
"created": 123,
"updated": 123,
"restored": 123,
"deleted": 123
},
"idealCustomerProfiles": {
"created": 123,
"updated": 123,
"restored": 123,
"deleted": 123
},
"competitors": {
"created": 123,
"updated": 123,
"restored": 123,
"deleted": 123
},
"testimonials": {
"created": 123,
"updated": 123,
"restored": 123,
"deleted": 123
},
"faqs": {
"created": 123,
"updated": 123,
"restored": 123,
"deleted": 123
}
}
}
}Authorizations
Body
Company-level playbook fields. Only the fields you provide are written; empty strings and null are ignored so a field is never cleared by accident.
Show child attributes
Show child attributes
Products and services. Omit this key to leave the whole section untouched.
Show child attributes
Show child attributes
Ideal customer profiles. Omit this key to leave the whole section untouched.
Show child attributes
Show child attributes
Competitors. Omit this key to leave the whole section untouched.
Show child attributes
Show child attributes
Testimonials. Omit this key to leave the whole section untouched.
Show child attributes
Show child attributes
FAQs. Omit this key to leave the whole section untouched.
Show child attributes
Show child attributes