Skip to main content

Public REST/JSON reference

Case Study API

Turn a customer into a published case study without a writer in the loop. Create a study, gather signals from CRM (deal data) + support (pain points) + product (usage metrics) + survey (satisfaction scores), generate interview questions for any remaining data gaps, submit the customer's answers, render a draft in Markdown, then regenerate with custom instructions until the voice is right. Part of the Logic Igniter Content & Marketing bundle.

Access boundary

These examples describe public API calls only. Use the service output to review, score, summarize, analyze, or recommend; do not treat the API reference as permission for an assistant to write, send, publish, charge, schedule, notify, delete, or modify records.

Base URL

https://api.logicigniter.com

Auth

Authorization: Bearer YOUR_API_KEY

Version

OpenAPI 3.0.3 · 1.0.0

Operations rendered

13

Response models rendered

20

GET/api/v1/casestudy/health

Service liveness

Liveness probe — returns 200 if the service is reachable.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/casestudy/health" \
  -H "Accept: application/json"

Responses

200

Service healthy

GET/api/v1/casestudy/customers

List customers

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
page_sizequeryinteger
page_tokenquerystring

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/casestudy/customers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of customers

Missing or invalid API key.

POST/api/v1/casestudy/customers

Provision a customer

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Request body (required)

Schema: CreateCustomerRequest

Sample JSON payload for evaluation.

{
  "email": "[email protected]",
  "name": "Example Inc."
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/casestudy/customers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","name":"Example Inc."}'

Responses

Customer created or returned

Invalid email or missing name

Missing or invalid API key.

GET/api/v1/casestudy/customers/{id}

Get a customer by id

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/casestudy/customers/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Customer record

Missing or invalid API key.

Customer not found

PUT/api/v1/casestudy/customers/{id}

Update a customer

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
idrequiredpathstring (uuid)

Request body (required)

Schema: UpdateCustomerRequest

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X PUT "https://api.logicigniter.com/api/v1/casestudy/customers/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}'

Responses

Updated customer

Invalid update

Missing or invalid API key.

Customer not found

GET/api/v1/casestudy/studies

List case studies

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
page_sizequeryinteger
page_tokenquerystring

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/casestudy/studies" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of case studies

Missing or invalid API key.

POST/api/v1/casestudy/studies

Create a case study

Start a new case study record. customer_id_crm is the upstream CRM id (Salesforce/HubSpot account id) used by /gather to pull deal data.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Request body (required)

Schema: CreateRequest

Sample JSON payload for evaluation.

{
  "customer_name": "Acme Corp",
  "customer_id_crm": "0011A00001abcDEF"
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/casestudy/studies" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"customer_name":"Acme Corp","customer_id_crm":"0011A00001abcDEF"}'

Responses

Case study created

Missing customer_name

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 case study creation + interview question generation; paid plans unlock unlimited studies, gathering, draft generation + regeneration.

GET/api/v1/casestudy/studies/{case_study_id}

Get a case study with gathered data + latest draft

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
case_study_idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/casestudy/studies/:case_study_id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Case study detail

Missing or invalid API key.

Case study not found

POST/api/v1/casestudy/studies/{case_study_id}/gather

Gather data from connected sources

Pull all available signal types — DEAL (CRM deal/opportunity), PAIN_POINTS (support ticket excerpts), SATISFACTION (CSAT/NPS scores), METRICS (product usage). The result drives the draft generator and identifies any remaining data gaps for the interview step.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
case_study_idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/casestudy/studies/:case_study_id/gather" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Gathered data sources

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 case study creation + interview question generation; paid plans unlock unlimited studies, gathering, draft generation + regeneration.

Case study not found

POST/api/v1/casestudy/studies/{case_study_id}/draft

Generate the case-study draft

Render a Markdown draft from gathered data + interview answers. Status moves to DRAFTING.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
case_study_idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/casestudy/studies/:case_study_id/draft" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Generated draft

No data gathered yet

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 case study creation + interview question generation; paid plans unlock unlimited studies, gathering, draft generation + regeneration.

Case study not found

POST/api/v1/casestudy/studies/{case_study_id}/draft/regenerate

Regenerate the draft with custom instructions

Bumps version, re-renders the draft following the instructions (e.g. "shorten the intro", "lead with the metric", "more conversational tone").

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
case_study_idrequiredpathstring (uuid)

Request body (required)

Schema: RegenerateRequest

Sample JSON payload for evaluation.

{
  "instructions": "Lead with the 30% retention metric. Shorten the intro. End with a CTA to a 15-minute call."
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/casestudy/studies/:case_study_id/draft/regenerate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"instructions":"Lead with the 30% retention metric. Shorten the intro. End with a CTA to a 15-minute call."}'

Responses

Regenerated draft (new version)

Empty instructions

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 case study creation + interview question generation; paid plans unlock unlimited studies, gathering, draft generation + regeneration.

Case study not found

GET/api/v1/casestudy/studies/{case_study_id}/questions

Generate interview questions for data gaps

Returns a list of targeted questions derived from the gaps in /gather. Each question carries a data_gap label so you know what each is meant to fill.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
case_study_idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/casestudy/studies/:case_study_id/questions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Interview questions

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 case study creation + interview question generation; paid plans unlock unlimited studies, gathering, draft generation + regeneration.

Case study not found

POST/api/v1/casestudy/studies/{case_study_id}/answers

Submit interview answers

Persist the customer's answers. Subsequent /draft calls will incorporate them.

Public REST/JSON operation

This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.

Parameters

NameInTypeNotes
case_study_idrequiredpathstring (uuid)

Request body (required)

Schema: SubmitAnswersRequest

Sample JSON payload for evaluation.

{
  "answers": [
    {
      "question_id": "11111111-1111-1111-1111-111111111111",
      "answer": "We saw a 30% reduction in support tickets in the first quarter after rollout."
    }
  ]
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/casestudy/studies/:case_study_id/answers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"answers":[{"question_id":"11111111-1111-1111-1111-111111111111","answer":"We saw a 30% reduction in support tickets in the first quarter after rollout."}]}'

Responses

Submission result

Empty answers or unknown question_id

Missing or invalid API key.

Case study not found

Data models

Error

FieldTypeNotes
errorrequiredstring

DataSourceType

CaseStudyStatus

CreateRequest

FieldTypeNotes
customer_namerequiredstring
customer_id_crmstring

CaseStudy

FieldTypeNotes
idstring (uuid)
customer_namestring
statusCaseStudyStatus
created_atstring (date-time)

CaseStudiesResponse

FieldTypeNotes
itemsarray<CaseStudy>
next_page_tokenstring
total_countinteger

DataSource

FieldTypeNotes
sourcestring
data_typeDataSourceType
dataobject

GatheredData

FieldTypeNotes
idstring (uuid)
case_study_idstring (uuid)
sourcesarray<DataSource>
gathered_atstring (date-time)

Draft

FieldTypeNotes
idstring (uuid)
case_study_idstring (uuid)
versioninteger
content_markdownstring
generated_atstring (date-time)

RegenerateRequest

FieldTypeNotes
instructionsrequiredstring

CaseStudyDetail

FieldTypeNotes
idstring (uuid)
customer_namestring
statusCaseStudyStatus
gathered_dataarray<DataSource>
latest_draftDraft

InterviewQuestion

FieldTypeNotes
idstring (uuid)
questionstring
data_gapstring
answerstring

QuestionsResponse

FieldTypeNotes
itemsarray<InterviewQuestion>

AnswerEntry

FieldTypeNotes
question_idrequiredstring (uuid)
answerrequiredstring

SubmitAnswersRequest

FieldTypeNotes
answersrequiredarray<AnswerEntry>

SubmitResult

FieldTypeNotes
idstring (uuid)
successboolean

CreateCustomerRequest

FieldTypeNotes
emailrequiredstring (email)
namerequiredstring

UpdateCustomerRequest

FieldTypeNotes
emailstring (email)
namestring

Customer

FieldTypeNotes
idstring (uuid)
emailstring (email)
namestring
created_atstring (date-time)

CustomersResponse

FieldTypeNotes
itemsarray<Customer>
next_page_tokenstring
total_countinteger