Endpoint reference
Base URL https://mutamarket.com/api
Modules
Browse, retrieve and import abyssal modules.
/modulesAlways rejects: the list needs a type
The list requires a type option, so this always answers 404.
Responses
{
"message": "Please provide a valid type."
}/modulesImport a module from EVE
Fetches the module live from ESI and runs the value estimation synchronously, so expect a few seconds. Re-submitting an existing module refreshes it. Do not call this in a loop.
Request body
| Field | Type | Description |
|---|---|---|
| item_id | integer or null | EVE item id of the module. |
| message | string or null | Any string containing `showinfo:{type_id}//{item_id}`, such as an in-game item link copied out of chat. |
| type_id | integer or null | EVE type id of the mutated module. |
Responses
{
"message": "Failed to add module!"
}/modules/{query}List modules of a type, or get one module
A path segment ending in digits is read as a single-module lookup by EVE item id or MutaMarket slug. Anything else is the type-scoped list, whose segments carry the filter and sort options documented at https://mutamarket.com/documentation/api-modules.
The list requires a type option, e.g. `type/49738` or `type/abyssal-ballistic-control-system`.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| query * | path | string | Either a module item id or slug, or a type segment plus filter and sort segments. |
| cursor | query | string | Opaque pagination cursor from meta.next_cursor of a previous response. List responses only. |
| region_id | query | integer | Only modules whose contract is in this EVE region. List responses only. |
Responses
{
"message": "No module with this item id is known to MutaMarket."
}Reference
Model quality and attribute roll ranges.
/abyssal-type-statisticsAttribute roll ranges per type
The best and worst possible rolled value of every mutated attribute of every abyssal type. This is the data behind the fraction_type roll-quality metric and the attribute bars.
Responses
/estimator-statisticsPrice estimator quality per type
How much data each per-type price model was trained on, how well it fits, and its average error. A null r2 means the model is untrained and modules of that type carry no estimate.
Responses
Schemas
AbyssalTypeStatistic
The roll extremes of one attribute of one abyssal type.
| Field | Type | Description |
|---|---|---|
| attribute * | StatisticAttribute | |
| attribute_id * | integer | |
| best * | number | The best possible rolled value. |
| high_is_good * | boolean | Whether a larger value is better. When false, `best` is smaller. |
| id * | integer | |
| is_derived * | boolean | Computed by MutaMarket rather than rolled by EVE. |
| is_virtual * | boolean | |
| type * | StatisticType | |
| type_id * | integer | |
| worst * | number | The worst possible rolled value. |
ApiError
Every error response of the public API.
| Field | Type | Description |
|---|---|---|
| message * | string |
AssetLocationView
Where a user's module physically sits, the legacy `AssetResource` shape: the direct parent (ship/container, or the station itself when the module lies loose in a hangar) plus the resolved station/structure at the top of the ancestor chain.
| Field | Type | Description |
|---|---|---|
| corporation_id | integer or null | |
| location_flag * | string | |
| location_id * | integer | |
| location_index * | integer | |
| location_type * | string | |
| owner * | CharacterRef | The character holding the asset (legacy `asset.character`, loaded by `withUserAsset`); the find-asset card names them. |
| parent_name * | string | |
| parent_slug * | string | |
| parent_type_id | integer or null | |
| station | null or StationRef |
CharacterRef
Legacy `CharacterResource` without the user-conditional fields.
| Field | Type | Description |
|---|---|---|
| corporation_id | integer or null | |
| description | string or null | |
| has_premium * | boolean | |
| id * | integer | |
| name * | string | |
| slug * | string |
CollectionNoteRef
Legacy `CollectionNoteResource`.
| Field | Type | Description |
|---|---|---|
| collection * | NoteCollectionRef | |
| content * | string | |
| id * | integer |
ContractRef
Legacy `ContractResource` as loaded for a module's latest public contract (issuer loaded; modules/types/acceptor/status absent for public contracts).
| Field | Type | Description |
|---|---|---|
| abyssal_modules_count * | integer | |
| asking_for_items * | boolean | |
| date_expired | string or null | |
| date_issued | string or null | |
| id * | integer | |
| issuer | null or CharacterRef | |
| non_abyssal_modules_count * | integer | |
| plex_count * | integer | |
| price | number or null | The unified price (auction bids and asked-for PLEX included). |
| type * | string | `auction` or `item_exchange`. |
EstimatorStatistic
Quality metrics of one per-type price model.
| Field | Type | Description |
|---|---|---|
| created_at | string or null | |
| data_count * | integer | Recorded sales the model was trained on. |
| data_statistics | any | Training sales by the source module's meta group. |
| id * | integer | |
| last_trained_at | string or null | |
| mae | number or null | Mean absolute error, in ISK. |
| name * | string | |
| nmae | number or null | Mean absolute error normalized by the mean sale price. |
| r2 | number or null | Fit against the training data, 1 being perfect. Null means the model is untrained, and modules of the type carry no estimate. |
| type_id * | integer | |
| updated_at | string or null |
ImportModuleRequest
Give either `message`, or both `type_id` and `item_id`.
| Field | Type | Description |
|---|---|---|
| item_id | integer or null | EVE item id of the module. |
| message | string or null | Any string containing `showinfo:{type_id}//{item_id}`, such as an in-game item link copied out of chat. |
| type_id | integer or null | EVE type id of the mutated module. |
ModuleAttributeView
Legacy `MutatedAttributeResource`, plus the server-computed `type_band` the legacy frontend derives from its bundled static data.
| Field | Type | Description |
|---|---|---|
| bar * | integer | |
| base_value * | number | |
| display_name * | string | |
| fraction * | number | |
| fraction_absolute * | number | |
| fraction_type * | number | |
| id * | integer | |
| is_derived * | boolean | |
| is_virtual * | boolean | |
| name * | string | |
| type_band | array or null | The mutaplasmid's own share of the type-wide roll range, as (min, max) half-width fractions — the highlight band of the type-normalized bar. Absent when the mutaplasmid covers the whole range. |
| unit | null or UnitRef | |
| value * | number |
ModuleDetail
A module as the legacy `ModuleResource` emits it for guests with the default relations loaded: same field names, same nesting. Keys owned by unported features (`contract`, `public_asset`, estimator values) are present and null, like the legacy loaded-but-empty relations.
| Field | Type | Description |
|---|---|---|
| asset | null or AssetLocationView | |
| average_fraction | number or null | |
| collection_note | null or CollectionNoteRef | |
| contract | null or ContractRef | |
| creator | null or CharacterRef | |
| estimated_value | number or null | |
| estimated_value_updated_at | string or null | |
| id * | integer | |
| mutaplasmid | null or MutaplasmidRef | |
| mutated_attributes * | ModuleAttributeView[] | |
| note | null or NoteRef | |
| public_asset | any | The MutaMarket sell listing; arrives with the assets milestone. |
| slug * | string | |
| source_type | null or SourceTypeRef | |
| training_module | null or TrainingRef | |
| type * | TypeRef |
ModuleEnvelope
One module.
| Field | Type | Description |
|---|---|---|
| data * | ModuleDetail |
ModuleOrPage
One module when the path segment is an id or slug, a page of them when it is a type-scoped query.
One of: ModuleEnvelope,ModulePage
ModulePage
A page of modules.
| Field | Type | Description |
|---|---|---|
| data * | ModuleDetail[] | |
| links * | PageLinks | |
| meta * | PageMeta |
MutaplasmidRef
Legacy `MutaplasmidResource`.
| Field | Type | Description |
|---|---|---|
| id * | integer | |
| name * | string |
NoteCollectionRef
Legacy `CollectionResource` as embedded in a collection note: only the collection's own columns (no counted or loaded relations).
| Field | Type | Description |
|---|---|---|
| auto_sync * | boolean | |
| created_at * | string | |
| description | string or null | |
| id * | integer | |
| identifier * | string | |
| last_synced_at | string or null | |
| name * | string | |
| slug * | string | |
| updated_at * | string | |
| visibility * | string |
NoteRef
Legacy `NoteResource`.
| Field | Type | Description |
|---|---|---|
| content * | string | |
| id * | integer |
PageLinks
`first` and `last` are always null on a cursor paginator.
| Field | Type | Description |
|---|---|---|
| first | string or null | |
| last | string or null | |
| next | string or null | |
| prev | string or null |
PageMeta
| Field | Type | Description |
|---|---|---|
| next_cursor | string or null | Opaque. Pass it back as the `cursor` query parameter. |
| path * | string | |
| per_page * | integer | |
| prev_cursor | string or null |
SourceTypeRef
Legacy `TypeResource` as loaded for the source type (meta group loaded, type attributes and meta level not).
| Field | Type | Description |
|---|---|---|
| id * | integer | |
| meta_group | string or null | |
| meta_group_id | integer or null | |
| name * | string | |
| published * | boolean |
StationRef
| Field | Type | Description |
|---|---|---|
| id * | integer | |
| name * | string | |
| slug * | string | |
| type_id | integer or null |
StatisticAttribute
The dogma attribute of a roll range. `high_is_good` and `is_derived` repeat the parent's values.
| Field | Type | Description |
|---|---|---|
| display_name | string or null | |
| high_is_good * | boolean | |
| id * | integer | |
| is_derived * | boolean | |
| name * | string | |
| unit | null or StatisticUnit |
StatisticType
| Field | Type | Description |
|---|---|---|
| id * | integer | |
| meta_group | string or null | |
| meta_group_id | integer or null | |
| name * | string | |
| published * | boolean |
StatisticUnit
| Field | Type | Description |
|---|---|---|
| display_name * | string | |
| id * | integer | |
| name * | string |
TrainingRef
Legacy `TrainingModuleResource`.
| Field | Type | Description |
|---|---|---|
| contract_id * | integer | |
| sold_at | string or null | |
| sold_for | number or null |
TypeRef
Legacy `ModuleTypeResource`.
| Field | Type | Description |
|---|---|---|
| id * | integer | |
| name * | string |
UnitRef
Legacy `UnitResource`.
| Field | Type | Description |
|---|---|---|
| display_name * | string | |
| id * | integer | |
| name * | string |
ValidationError
`message` repeats the first failing field.
| Field | Type | Description |
|---|---|---|
| errors * | object | Field name to the messages for that field. |
| message * | string |
Unlock historic sales, similar modules, priority ordering, custom theme colors, and more.
Save 2 months with yearly





