Skip to main content

Public REST/JSON reference

Client Report API

Stop spending Mondays building agency reports. Define a brand-aware report template once, connect each client's data sources (Google Analytics, Meta, Google Ads, SEO providers), generate the period-bounded report on-demand, schedule recurring delivery, and email the PDF/HTML to stakeholders. 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

17

Response models rendered

26

GET/api/v1/clientreport/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/clientreport/health" \
  -H "Accept: application/json"

Responses

200

Service healthy

GET/api/v1/clientreport/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/clientreport/customers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of customers

Missing or invalid API key.

POST/api/v1/clientreport/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/clientreport/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/clientreport/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/clientreport/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/clientreport/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/clientreport/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/clientreport/clients

List clients

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/clientreport/clients" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of clients

Missing or invalid API key.

POST/api/v1/clientreport/clients

Add a client

Register a client with their brand identity. The brand_colors are applied to generated reports automatically.

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: AddClientRequest

Sample JSON payload for evaluation.

{
  "name": "Acme Corp",
  "logo_url": "https://example.com/acme-logo.svg",
  "brand_colors": {
    "primary": "#FF6B35",
    "secondary": "#004E64",
    "accent": "#FFD23F"
  }
}

Request example

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

curl -X POST "https://api.logicigniter.com/api/v1/clientreport/clients" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"name":"Acme Corp","logo_url":"https://example.com/acme-logo.svg","brand_colors":{"primary":"#FF6B35","secondary":"#004E64","accent":"#FFD23F"}}'

Responses

Client added

Missing name or invalid color hex

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 client + manual report generation; paid plans unlock unlimited clients, schedules, multi-template, and email delivery.

GET/api/v1/clientreport/clients/{client_id}

Get client detail with connected sources

Returns the client + the list of source integrations connected (Google Analytics, Meta, Google Ads, SEO).

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
client_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/clientreport/clients/:client_id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Client detail

Missing or invalid API key.

Client not found

PUT/api/v1/clientreport/clients/{client_id}/schedule

Set or update a recurring schedule

Frequency strings: `weekly`, `biweekly`, `monthly`, `quarterly`. delivery_emails is the list to receive each generated report.

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
client_idrequiredpathstring (uuid)

Request body (required)

Schema: SetScheduleRequest

Sample JSON payload for evaluation.

{
  "frequency": "monthly",
  "delivery_emails": [
    "[email protected]",
    "[email protected]"
  ]
}

Request example

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

curl -X PUT "https://api.logicigniter.com/api/v1/clientreport/clients/:client_id/schedule" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"frequency":"monthly","delivery_emails":["[email protected]","[email protected]"]}'

Responses

Schedule set

Invalid frequency or delivery_emails

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 client + manual report generation; paid plans unlock unlimited clients, schedules, multi-template, and email delivery.

Client not found

GET/api/v1/clientreport/schedules

List active schedules

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/clientreport/schedules" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Schedules

Missing or invalid API key.

GET/api/v1/clientreport/reports

List reports (optionally filter by client)

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
client_idquerystring (uuid)
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/clientreport/reports" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of reports

Missing or invalid API key.

POST/api/v1/clientreport/reports

Generate a report

Render a report for the client across the period_start..period_end window. Status starts as PENDING; flips to READY once the file_path is available for download.

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: GenerateRequest

Sample JSON payload for evaluation.

{
  "client_id": "11111111-1111-1111-1111-111111111111",
  "period_start": "2026-04-01T00:00:00Z",
  "period_end": "2026-04-30T23:59:59Z"
}

Request example

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

curl -X POST "https://api.logicigniter.com/api/v1/clientreport/reports" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"client_id":"11111111-1111-1111-1111-111111111111","period_start":"2026-04-01T00:00:00Z","period_end":"2026-04-30T23:59:59Z"}'

Responses

Report queued

Invalid period or no source data in window

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 client + manual report generation; paid plans unlock unlimited clients, schedules, multi-template, and email delivery.

Client not found

GET/api/v1/clientreport/reports/{report_id}

Get a report

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
report_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/clientreport/reports/:report_id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Report

Missing or invalid API key.

Report not found

POST/api/v1/clientreport/reports/{report_id}/deliver

Email a report

Deliver an already-generated report to a list of email recipients. Useful for ad-hoc deliveries outside the recurring schedule.

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
report_idrequiredpathstring (uuid)

Request body (required)

Schema: DeliverRequest

Sample JSON payload for evaluation.

{
  "emails": [
    "[email protected]"
  ]
}

Request example

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

curl -X POST "https://api.logicigniter.com/api/v1/clientreport/reports/:report_id/deliver" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"emails":["[email protected]"]}'

Responses

Delivery result

Empty emails or report status != READY

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 client + manual report generation; paid plans unlock unlimited clients, schedules, multi-template, and email delivery.

Report not found

GET/api/v1/clientreport/templates

List templates

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/clientreport/templates" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Templates

Missing or invalid API key.

POST/api/v1/clientreport/templates

Create a report template

Define a layout (sections, charts, copy blocks) and a brand_config (font, primary color, logo). The layout is an opaque Struct payload — refer to the template editor docs for shape.

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: CreateTemplateRequest

Sample JSON payload for evaluation.

{
  "name": "Monthly Marketing Recap",
  "layout": {
    "sections": [
      "summary",
      "channels",
      "campaigns",
      "next-steps"
    ]
  },
  "brand_config": {
    "font_family": "Inter",
    "primary_color": "#FF6B35",
    "logo_url": "https://example.com/logo.svg"
  }
}

Request example

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

curl -X POST "https://api.logicigniter.com/api/v1/clientreport/templates" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"name":"Monthly Marketing Recap","layout":{"sections":["summary","channels","campaigns","next-steps"]},"brand_config":{"font_family":"Inter","primary_color":"#FF6B35","logo_url":"https://example.com/logo.svg"}}'

Responses

Template created

Missing name or invalid layout

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 client + manual report generation; paid plans unlock unlimited clients, schedules, multi-template, and email delivery.

POST/api/v1/clientreport/templates/{template_id}/preview

Preview a template with sample data

Returns a preview image (base64-encoded bytes) of the rendered template using sample data. Useful for iterating on layout before committing to a real client report.

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
template_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/clientreport/templates/:template_id/preview" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Preview result

Missing or invalid API key.

Template not found

Data models

Error

FieldTypeNotes
errorrequiredstring

SourceType

ReportStatus

BrandColors

FieldTypeNotes
primarystringExample: "#FF6B35"
secondarystringExample: "#004E64"
accentstringExample: "#FFD23F"

AddClientRequest

FieldTypeNotes
namerequiredstring
logo_urlstring (uri)
brand_colorsBrandColors

Client

FieldTypeNotes
idstring (uuid)
namestring
logo_urlstring (uri)
template_idstring (uuid)

ClientsResponse

FieldTypeNotes
itemsarray<Client>
next_page_tokenstring
total_countinteger

ConnectedSource

FieldTypeNotes
source_typeSourceType
account_idstring

ClientDetail

FieldTypeNotes
idstring (uuid)
namestring
logo_urlstring (uri)
sourcesarray<ConnectedSource>

SetScheduleRequest

FieldTypeNotes
frequencyrequiredstring
delivery_emailsrequiredarray<string>

Schedule

FieldTypeNotes
idstring (uuid)
client_idstring (uuid)
frequencystring
next_run_atstring (date-time)

SchedulesResponse

FieldTypeNotes
itemsarray<Schedule>

GenerateRequest

FieldTypeNotes
client_idrequiredstring (uuid)
period_startrequiredstring (date-time)
period_endrequiredstring (date-time)

Report

FieldTypeNotes
idstring (uuid)
client_idstring (uuid)
formatstring
file_pathstring
statusReportStatus
generated_atstring (date-time)

ReportsResponse

FieldTypeNotes
itemsarray<Report>
next_page_tokenstring
total_countinteger

DeliverRequest

FieldTypeNotes
emailsrequiredarray<string>

DeliverResult

FieldTypeNotes
idstring (uuid)
successboolean

BrandConfig

FieldTypeNotes
font_familystring
primary_colorstring
logo_urlstring (uri)

CreateTemplateRequest

FieldTypeNotes
namerequiredstring
layoutobject
brand_configBrandConfig

Template

FieldTypeNotes
idstring (uuid)
namestring
layoutobject

TemplatesResponse

FieldTypeNotes
itemsarray<Template>

PreviewResult

FieldTypeNotes
idstring (uuid)
preview_imagestring (byte)

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