Profile API 3.0.0

Profile API — OpenAPI 3.1.0 contract published by Fenergo for the transaction-monitoring service of the Fen-X SaaS platform, carrying 9 path(s) and 12 operation(s). Harvested verbatim from Fenergo's own published specification endpoint.

Operations 12

GET /api/v1/profiles/{profile_id} Get Profile By Id Api #
GET /api/v1/profiles Get Profiles List Api #
GET /state/profile/v3 Get Profiles Api #
GET /state/profile/v3/calculation/logs Download Profile Calculation Logs Api #
POST /state/profile/v3/custom Custom Profiles Api #
DELETE /state/profile/v3/custom Delete Custom Profiles Api #
GET /api/v1/peer-group Test Get Peer Group #
GET /state/peer-group/v3/{peergroup_id}/entity Get Peergroup Entities Api #
POST /state/peer-group/v3/{peergroup_id}/entity Change Peergroups Entities Api #
GET /state/peer-group/v3 List Peergroups Api #
POST /state/peer-group/v3 Create Peergroups Api #
GET /state/peer-group/v3/{peergroup_id} Get Peergroups Api #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tm-profile-api-spec"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fenergo-tm-profile-api-spec-openapi.json Raw ↑
{
    "openapi": "3.1.0",
    "info": {
        "title": "Profile API",
        "version": "3.0.0"
    },
    "servers": [
        {
            "url": "https://api.fenergox.com/tm/profile"
        }
    ],
    "paths": {
        "/api/v1/profiles/{profile_id}": {
            "get": {
                "summary": "Get Profile By Id Api",
                "description": "Receives GET api/v1/profiles/{profile_id} request.\n\nArgs:\n    request (Request): The incoming request object.\n    profile_id (str): The ID of the profile to retrieve.\n    auth (TokenAuthDetails): The authentication details-specific role authorization\n\nRaises:\n    GenericRequestError: In case of any error during the processing.\n    HTTPException: If the profile is not found.\n\nReturns:\n    Profile: The profile object that corresponds to the profile_id.",
                "operationId": "get_profile_by_id_api_api_v1_profiles__profile_id__get",
                "parameters": [
                    {
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Profile Id"
                        },
                        "name": "profile_id",
                        "in": "path"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProfileDTO"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "HTTPBearer": []
                    }
                ]
            }
        },
        "/api/v1/profiles": {
            "get": {
                "summary": "Get Profiles List Api",
                "description": "Receives GET api/v1/profiles request.\n\nArgs:\n    request (Request): The incoming request object.\n    auth (AuthDetails): General FE auth.\n    profile_types: Comma-separated list of profile types to include\n\nRaises:\n    GenericRequestError: In case of any error during the processing.\n\nReturns:\n    list[dict]: A list of summarized profile dictionaries for the tenant.",
                "operationId": "get_profiles_list_api_api_v1_profiles_get",
                "parameters": [
                    {
                        "required": false,
                        "schema": {
                            "type": "string",
                            "title": "Profile Types"
                        },
                        "name": "profile_types",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "items": {
                                        "$ref": "#/components/schemas/ProfileSummaryDTO"
                                    },
                                    "type": "array",
                                    "title": "Response Get Profiles List Api Api V1 Profiles Get"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "HTTPBearer": []
                    }
                ]
            }
        },
        "/state/profile/v3": {
            "get": {
                "summary": "Get Profiles Api",
                "description": "Receives GET /state/profile/v3 request.\n\nRaises:\n    GenericRequestError: in case of any error during the processing\n\nReturns:\n    GetProfilesResponse: Response object to be returned to user",
                "operationId": "get_profiles_api_state_profile_v3_get",
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "title": "Response Get Profiles Api State Profile V3 Get"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "HTTPBearer": []
                    }
                ]
            }
        },
        "/state/profile/v3/calculation/logs": {
            "get": {
                "summary": "Download Profile Calculation Logs Api",
                "description": "Receives GET /state/profile/v3/calculation/logs request.\n\nRaises:\n    GenericRequestError: in case of any error during the processing\n\nReturns:\n    FileResponse: Response object to be returned to user",
                "operationId": "download_profile_calculation_logs_api_state_profile_v3_calculation_logs_get",
                "parameters": [
                    {
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Log Stream Id"
                        },
                        "name": "log_stream_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "title": "Response Download Profile Calculation Logs Api State Profile V3 Calculation Logs Get"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "HTTPBearer": []
                    }
                ]
            }
        },
        "/state/profile/v3/custom": {
            "post": {
                "summary": "Custom Profiles Api",
                "description": "An API to add a custom profile value.\n\nRaises:\n    GenericRequestError: in case of any error during the processing\n\nReturns:\n    Response200: Response object to be returned to user",
                "operationId": "custom_profiles_api_state_profile_v3_custom_post",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CustomProfileValueRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Response200"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "HTTPBearer": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete Custom Profiles Api",
                "description": "An API to delete a custom profile value.\n\nRaises:\n    GenericRequestError: in case of any error during the processing\n\nReturns:\n    Response200: Response object to be returned to user",
                "operationId": "delete_custom_profiles_api_state_profile_v3_custom_delete",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CustomProfileValueRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Response200"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "HTTPBearer": []
                    }
                ]
            }
        },
        "/api/v1/peer-group": {
            "get": {
                "summary": "Test Get Peer Group",
                "description": "Tests the API.",
                "operationId": "test_get_peer_group_api_v1_peer_group_get",
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                },
                "security": [
                    {
                        "HTTPBearer": []
                    }
                ]
            }
        },
        "/state/peer-group/v3/{peergroup_id}/entity": {
            "get": {
                "summary": "Get Peergroup Entities Api",
                "description": "An API to get all the entities that belong to a specific peergroup.\n\nRaises:\n    GenericRequestError: in case of any error during the processing\n\nReturns:\n    GetPeergroupEntitiesResponse: Response object to be returned to user",
                "operationId": "get_peergroup_entities_api_state_peer_group_v3__peergroup_id__entity_get",
                "parameters": [
                    {
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Peergroup Id"
                        },
                        "name": "peergroup_id",
                        "in": "path"
                    },
                    {
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 250.0,
                            "exclusiveMinimum": 0.0,
                            "title": "Limit",
                            "default": 50
                        },
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "required": false,
                        "schema": {
                            "type": "string",
                            "title": "Next"
                        },
                        "name": "next",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/GetPeergroupEntitiesResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "HTTPBearer": []
                    }
                ]
            },
            "post": {
                "summary": "Change Peergroups Entities Api",
                "description": "An API to change peergroup entities.\n\nRaises:\n    GenericRequestError: in case of any error during the processing\n\nReturns:\n    Response200: Response object to be returned to user",
                "operationId": "change_peergroups_entities_api_state_peer_group_v3__peergroup_id__entity_post",
                "parameters": [
                    {
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Peergroup Id"
                        },
                        "name": "peergroup_id",
                        "in": "path"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PostPeergroupEntitiesChangeRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Response200"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "HTTPBearer": []
                    }
                ]
            }
        },
        "/state/peer-group/v3": {
            "get": {
                "summary": "List Peergroups Api",
                "description": "An API to fetch metadata of the peergroups and paginate them.\n\nRaises:\n    GenericRequestError: in case of any error during the processing\n\nReturns:\n    ListPeergroupResponse: Resposne object to be returned to user",
                "operationId": "list_peergroups_api_state_peer_group_v3_get",
                "parameters": [
                    {
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 250.0,
                            "exclusiveMinimum": 0.0,
                            "title": "Limit",
                            "default": 50
                        },
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "required": false,
                        "schema": {
                            "type": "string",
                            "title": "Next"
                        },
                        "name": "next",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ListPeergroupResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "HTTPBearer": []
                    }
                ]
            },
            "post": {
                "summary": "Create Peergroups Api",
                "description": "An API to create a new peergroup record.\n\nRaises:\n    GenericRequestError: in case of any error during the processing\n\nReturns:\n    Response200: Response object to be returned to user",
                "operationId": "create_peergroups_api_state_peer_group_v3_post",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Peergroup"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Response200"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "HTTPBearer": []
                    }
                ]
            }
        },
        "/state/peer-group/v3/{peergroup_id}": {
            "get": {
                "summary": "Get Peergroups Api",
                "description": "An API to fetch metadata of the peergroup given the uuid.\n\nReturns:\n    Peergroup: Response object to be returned to user",
                "operationId": "get_peergroups_api_state_peer_group_v3__peergroup_id__get",
                "parameters": [
                    {
                        "required": true,
                        "schema": {
                            "type": "string",
                            "title": "Peergroup Id"
                        },
                        "name": "peergroup_id",
                        "in": "path"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Peergroup"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "HTTPBearer": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "AggregationMeta": {
                "properties": {
                    "field_name": {
                        "type": "string",
                        "title": "Field Name"
                    },
                    "type": {
                        "$ref": "#/components/schemas/AggregationType"
                    },
                    "group_by": {
                        "type": "string",
                        "title": "Group By"
                    }
                },
                "additionalProperties": false,
                "type": "object",
                "required": [
                    "field_name",
                    "type"
                ],
                "title": "AggregationMeta",
                "description": "Aggregation Meta definition."
            },
            "AggregationType": {
                "type": "string",
                "enum": [
                    "avg",
                    "value_count",
                    "sum",
                    "std_deviation",
                    "cardinality"
                ],
                "title": "AggregationType",
                "description": "Allowed aggregation types definition."
            },
            "CustomProfileValueRequest": {
                "properties": {
                    "key": {
                        "type": "object",
                        "title": "Key"
                    },
                    "value": {
                        "title": "Value"
                    }
                },
                "additionalProperties": false,
                "type": "object",
                "required": [
                    "key"
                ],
                "title": "CustomProfileValueRequest",
                "description": "Defines a PostCustomProfileValueRequest structure and types."
            },
            "EntityIdObject": {
                "properties": {
                    "entity_id": {
                        "type": "string",
                        "title": "Entity Id"
                    }
                },
                "additionalProperties": false,
                "type": "object",
                "required": [
                    "entity_id"
                ],
                "title": "EntityIdObject",
                "description": "Defines a EntityIdObject structure and types."
            },
            "Filter": {
                "properties": {
                    "field_name": {
                        "type": "string",
                        "title": "Field Name"
                    },
                    "type": {
                        "$ref": "#/components/schemas/FilterType"
                    },
                    "source_type": {
                        "$ref": "#/components/schemas/FilterSourceType"
                    },
                    "value_type": {
                        "$ref": "#/components/schemas/ValueType"
                    },
                    "value": {
                        "anyOf": [
                            {
                                "type": "boolean"
                            },
                            {
                                "type": "string"
                            },
                            {
                                "type": "integer"
                            }
                        ],
                        "title": "Value"
                    },
                    "from_range": {
                        "type": "string",
                        "title": "From Range"
                    },
                    "to_range": {
                        "type": "string",
                        "title": "To Range"
                    }
                },
                "additionalProperties": false,
                "type": "object",
                "required": [
                    "field_name",
                    "type",
                    "source_type"
                ],
                "title": "Filter",
                "description": "Filter definition."
            },
            "FilterSourceType": {
                "type": "string",
                "enum": [
                    "extracted_fields",
                    "transaction",
                    "peergroup",
                    "scan"
                ],
                "title": "FilterSourceType",
                "description": "Allowed filter source types."
            },
            "FilterType": {
                "type": "string",
                "enum": [
                    "exact_match",
                    "range",
                    "exist"
                ],
                "title": "FilterType",
                "description": "Allowed filter types."
            },
            "GetPeergroupEntitiesResponse": {
                "properties": {
                    "msg": {
                        "type": "string",
                        "title": "Msg"
                    },
                    "entities": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "title": "Entities"
                    },
                    "next": {
                        "type": "string",
                        "title": "Next"
                    }
                },
                "additionalProperties": false,
                "type": "object",
                "required": [
                    "msg",
                    "entities"
                ],
                "title": "GetPeergroupEntitiesResponse",
                "description": "Defines a GetPeergroupEntitiesResponse structure and types."
            },
            "HTTPValidationError": {
                "properties": {
                    "detail": {
                        "items": {
                            "$ref": "#/components/schemas/ValidationError"
                        },
                        "type": "array",
                        "title": "Detail"
                    }
                },
                "type": "object",
                "title": "HTTPValidationError"
            },
            "ListPeergroupResponse": {
                "properties": {
                    "peergroups": {
                        "items": {
                            "$ref": "#/components/schemas/Peergroup"
                        },
                        "type": "array",
                        "title": "Peergroups"
                    },
                    "next": {
                        "type": "string",
                        "title": "Next"
                    }
                },
                "additionalProperties": false,
                "type": "object",
                "required": [
                    "peergroups"
                ],
                "title": "ListPeergroupResponse",
                "description": "Defines a ListPeergroupResponse structure and types."
            },
            "OccurrenceMeta": {
                "properties": {
                    "type": {
                        "$ref": "#/components/schemas/OccurrenceType"
                    }
                },
                "additionalProperties": false,
                "type": "object",
                "required": [
                    "type"
                ],
                "title": "OccurrenceMeta",
                "description": "Occurrence Meta definition."
            },
            "OccurrenceType": {
                "type": "string",
                "enum": [
                    "last_occurrence"
                ],
                "title": "OccurrenceType",
                "description": "Allowed Occurrence types definition."
            },
            "Peergroup": {
                "properties": {
                    "name": {
                        "type": "string",
                        "title": "Name"
                    },
                    "description": {
                        "type": "string",
                        "title": "Description"
                    },
                    "external_id": {
                        "type": "string",
                        "title": "External Id"
                    }
                },
                "additionalProperties": false,
                "type": "object",
                "required": [
                    "name",
                    "description",
                    "external_id"
                ],
                "title": "Peergroup",
                "description": "Defines a Peergroup structure and types."
            },
            "PostPeergroupEntitiesChangeRequest": {
                "properties": {
                    "entities_to_add": {
                        "items": {
                            "$ref": "#/components/schemas/EntityIdObject"
                        },
                        "type": "array",
                        "title": "Entities To Add"
                    },
                    "entities_to_remove": {
                        "items": {
                            "$ref": "#/components/schemas/EntityIdObject"
                        },
                        "type": "array",
                        "title": "Entities To Remove"
                    }
                },
                "additionalProperties": false,
                "type": "object",
                "required": [
                    "entities_to_add",
                    "entities_to_remove"
                ],
                "title": "PostPeergroupEntitiesChangeRequest",
                "description": "Defines a PostPeergroupEntitiesChangeRequest structure and types."
            },
            "ProfileDTO": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-tm-profile-api-spec-openapi.json