Skip to main content

Public REST/JSON reference

Rate Benchmark API

Where do your hourly or project rates land against the market right now? This API ingests hundreds of thousands of public job postings and freelance contracts per week, normalizes the rates, and gives you four percentiles (P25/P50/P75/P90) per skill+region+experience-level combination — plus your personal market position and a recommended rate based on your saved profile. Free tier covers 1 comparison/month against your saved profile. Part of the Logic Igniter Professional Services 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

18

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

Responses

Page of customers

Missing or invalid API key.

POST/api/v1/ratebenchmark/customers

Provision a customer

Idempotent customer provision. Free tier limits the workspace to 1 personalized comparison per month.

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/ratebenchmark/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/ratebenchmark/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/ratebenchmark/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/ratebenchmark/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/ratebenchmark/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/ratebenchmark/profile

Get the workspace profile

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

Responses

Saved profile

Missing or invalid API key.

Profile not yet set

PUT/api/v1/ratebenchmark/profile

Set the workspace profile

Replace the workspace's skill/region/experience profile. The current rate (in cents) is used by `GET /position` and `GET /recommendation` to compute your percentile and personalized recommendation.

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

Sample JSON payload for evaluation.

{
  "skills": [
    "golang",
    "postgres",
    "kubernetes"
  ],
  "geo_region": "US-NYC",
  "experience_years": 8,
  "current_rate_cents": 18500
}

Request example

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

curl -X PUT "https://api.logicigniter.com/api/v1/ratebenchmark/profile" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"skills":["golang","postgres","kubernetes"],"geo_region":"US-NYC","experience_years":8,"current_rate_cents":18500}'

Responses

Updated profile

Missing skills or invalid region

Missing or invalid API key.

GET/api/v1/ratebenchmark/benchmark

Rate percentiles for one skill+region+experience

Returns four percentiles (P25/P50/P75/P90) of hourly rates in cents and the sample size that backed the calculation.

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
skillrequiredquerystring
geo_regionrequiredquerystring
experience_levelqueryExperienceLevel

Request example

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

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

Responses

Rate benchmark

Missing skill or region

Missing or invalid API key.

No samples for that combination

GET/api/v1/ratebenchmark/benchmarks

List benchmarks for a skill

Return all per-region benchmarks for a single skill, paginated. Useful for building a heatmap or coverage UI.

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
skillrequiredquerystring
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/ratebenchmark/benchmarks" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of benchmarks

Missing or invalid API key.

GET/api/v1/ratebenchmark/position

Where you sit in the market

Compares your saved profile's `current_rate_cents` against the matching benchmark and returns your percentile + the market median.

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

Responses

Market position

Missing or invalid API key.

Endpoint requires an active subscription. The free tier covers 1 personalized comparison per month; paid plans unlock unlimited position+recommendation calls and historical trend windows.

Profile not set, or no benchmark matches profile

GET/api/v1/ratebenchmark/recommendation

Recommended rate for your profile

Returns a recommended hourly rate (cents), the percentile that maps to, and a short reasoning string explaining why (e.g. "P75 is the right anchor for senior engineers in this region").

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

Responses

Rate recommendation

Missing or invalid API key.

Endpoint requires an active subscription. The free tier covers 1 personalized comparison per month; paid plans unlock unlimited position+recommendation calls and historical trend windows.

Profile not set, or no benchmark matches profile

GET/api/v1/ratebenchmark/demand-signals

Demand signals for a skill

Per-period posting count and percent change. Useful for spotting an inflection point in skill demand before adjusting your rate.

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
skillrequiredquerystring

Request example

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

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

Responses

Demand signals

Missing skill

Missing or invalid API key.

GET/api/v1/ratebenchmark/top-skills

Leaderboard of in-demand skills

Top N skills ranked by a combination of median rate and demand growth.

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
limitqueryinteger

Request example

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

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

Responses

Top skills

Missing or invalid API key.

Data models

Error

FieldTypeNotes
errorrequiredstring

ExperienceLevel

SetProfileRequest

FieldTypeNotes
skillsrequiredarray<string>Example: ["golang","postgres"]
geo_regionrequiredstringExample: "US-NYC"
experience_yearsinteger
current_rate_centsinteger (int64)Example: 18500

Profile

FieldTypeNotes
idstring
skillsarray<string>
geo_regionstring
experience_yearsinteger
current_rate_centsinteger (int64)

RateBenchmark

FieldTypeNotes
idstring
skillstring
geo_regionstring
p25_centsinteger (int64)
p50_centsinteger (int64)
p75_centsinteger (int64)
p90_centsinteger (int64)
sample_sizeinteger

BenchmarksResponse

FieldTypeNotes
itemsarray<RateBenchmark>
next_page_tokenstring
total_countinteger

MarketPosition

FieldTypeNotes
idstring
percentileinteger
current_rate_centsinteger (int64)
market_median_centsinteger (int64)

RateRecommendation

FieldTypeNotes
idstring
recommended_rate_centsinteger (int64)
market_percentileinteger
reasoningstring

TrendPoint

FieldTypeNotes
periodstring
avg_rate_centsinteger (int64)
posting_countinteger

RateTrend

FieldTypeNotes
idstring
pointsarray<TrendPoint>

DemandPoint

FieldTypeNotes
periodstring
posting_countinteger
change_pctnumber (double)

DemandSignals

FieldTypeNotes
idstring
pointsarray<DemandPoint>

SkillRank

FieldTypeNotes
skillstring
median_rate_centsinteger (int64)
demand_growth_pctnumber (double)
rankinteger

TopSkills

FieldTypeNotes
itemsarray<SkillRank>

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