openapi: 3.2.0 info: title: Profiles API version: 3.0.0 servers: - url: https://api.fenergox.com/tm/profile tags: - name: Profiles paths: /api/v1/profiles/{profile_id}: get: summary: Get Profile By Id Api description: 'Receives GET api/v1/profiles/{profile_id} request. Args: request (Request): The incoming request object. profile_id (str): The ID of the profile to retrieve. auth (TokenAuthDetails): The authentication details-specific role authorization Raises: GenericRequestError: In case of any error during the processing. HTTPException: If the profile is not found. Returns: 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: [] tags: - Profiles /api/v1/profiles: get: summary: Get Profiles List Api description: 'Receives GET api/v1/profiles request. Args: request (Request): The incoming request object. auth (AuthDetails): General FE auth. profile_types: Comma-separated list of profile types to include Raises: GenericRequestError: In case of any error during the processing. Returns: 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: [] tags: - Profiles components: schemas: ValueType: type: string enum: - bool - str - int title: ValueType description: Explicitly define the type of certain values. FilterSourceType: type: string enum: - extracted_fields - transaction - peergroup - scan title: FilterSourceType description: Allowed filter source types. 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. ProfileType: type: string enum: - entity - entity_property - entity_combination - peergroup_belongship - peergroup - redshift - custom title: ProfileType description: Defines a ProfileType Profile Model to use for validation. ProfileFieldType: type: string enum: - aggregation - peer_belongship - value - occurrence title: ProfileFieldType description: Allowed profile field types. ProfileSummaryDTO: properties: id: type: string title: Id description: type: string title: Description lookback_until: type: string title: Lookback Until aggregation_type: type: string title: Aggregation Type profile_type: type: string title: Profile Type type: object required: - id - description - lookback_until - aggregation_type - profile_type title: ProfileSummaryDTO description: Defines a PorifleSummaryDTO. ProfileMetadata: properties: ui: $ref: '#/components/schemas/ProfileMetadataUIDetails' additionalProperties: false type: object required: - ui title: ProfileMetadata description: Profile metadata. OccurrenceType: type: string enum: - last_occurrence title: OccurrenceType description: Allowed Occurrence types definition. FilterType: type: string enum: - exact_match - range - exist title: FilterType description: Allowed filter types. ProfileMetadataUIDetailsDynamo: properties: key_pattern: type: string title: Key Pattern field_id: type: string title: Field Id value: title: Value additionalProperties: false type: object required: - key_pattern - field_id title: ProfileMetadataUIDetailsDynamo description: DynamoDB key template for a profile. ProfileMetadataUIDetailsProfileGroup: properties: name: type: string title: Name type: $ref: '#/components/schemas/ProfileMetadataUIDetailsProfileGroupType' values: items: type: string type: array title: Values currency_code: type: string maxLength: 3 minLength: 3 title: Currency Code column_headers: items: type: string type: array title: Column Headers row_keys: items: type: string type: array title: Row Keys position: type: integer title: Position additionalProperties: false type: object required: - name title: ProfileMetadataUIDetailsProfileGroup description: Profile-group details. ProfileMetadataUIDetailsProfileGroupType: type: string enum: - string - number - boolean - currency - dropdown - custom_profile title: ProfileMetadataUIDetailsProfileGroupType description: Profile-group types for metadata. AggregationType: type: string enum: - avg - value_count - sum - std_deviation - cardinality title: AggregationType description: Allowed aggregation types definition. ProfileMetadataUIDetailsDisplayLocation: properties: column_header: type: string title: Column Header row_name: type: string title: Row Name additionalProperties: false type: object required: - column_header - row_name title: ProfileMetadataUIDetailsDisplayLocation description: Display location details for a profile. 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. ProfileField: properties: name: type: string title: Name type: $ref: '#/components/schemas/ProfileFieldType' filters: items: $ref: '#/components/schemas/Filter' type: array title: Filters aggregation_meta: $ref: '#/components/schemas/AggregationMeta' occurrence_meta: $ref: '#/components/schemas/OccurrenceMeta' additionalProperties: false type: object required: - name - type title: ProfileField description: Profile field definition. OccurrenceMeta: properties: type: $ref: '#/components/schemas/OccurrenceType' additionalProperties: false type: object required: - type title: OccurrenceMeta description: Occurrence Meta definition. ProfileDTO: properties: id: type: string title: Id version: type: string title: Version rule_code: type: string title: Rule Code description: type: string title: Description type: $ref: '#/components/schemas/ProfileType' field: $ref: '#/components/schemas/ProfileField' look_back_until: type: string title: Look Back Until id_selectors: items: $ref: '#/components/schemas/ProfileIdSelector' type: array minItems: 1 title: Id Selectors filters: items: $ref: '#/components/schemas/Filter' type: array title: Filters query: type: string title: Query metadata: $ref: '#/components/schemas/ProfileMetadata' type: object required: - id - version - rule_code - description - type - field - id_selectors title: ProfileDTO description: Defines a PorifleDTO. ProfileIdSelector: properties: field_name: type: string title: Field Name type: type: string title: Type additionalProperties: false type: object required: - field_name - type title: ProfileIdSelector description: Profile field id selector definition. HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError ProfileMetadataUIDetails: properties: profile_group: $ref: '#/components/schemas/ProfileMetadataUIDetailsProfileGroup' dynamo: $ref: '#/components/schemas/ProfileMetadataUIDetailsDynamo' display_location: $ref: '#/components/schemas/ProfileMetadataUIDetailsDisplayLocation' additionalProperties: false type: object required: - profile_group - dynamo - display_location title: ProfileMetadataUIDetails description: Profile metadata UI details. securitySchemes: HTTPBearer: type: http scheme: bearer