> For the complete documentation index, see [llms.txt](https://docs.truedat.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.truedat.io/v8.12/api-integrations/data-catalog-data-lineage-and-grants-apis/data-profiling.md).

# Data Profiling

## Create profile result

> Creates or updates a profiling result for the specified data structure.\
> \
> Requires the \*\*'Execute structure profiling'\*\* permission. The target structure must be of class \`field\` or \`table\`; other classes cannot be profiled. If the structure class is not \`field\` or \`table\`, the operation is rejected. Administrators and service accounts bypass the profilable check only for admin/service actions, but the class restriction still applies.\
> \
> \*\*Request body:\*\*\
> \- \`profile\` (required) – Object containing profiling values (e.g., \`max\`, \`min\`, \`total\_count\`, \`null\_count\`, \`most\_frequent\`, \`patterns\`, \`unique\_count\`).\
> \
> If a profile already exists for the structure, it is updated; otherwise, a new profile is created.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dd","version":"Truedat 8.12.2"},"paths":{"/api/data_structures/{data_structure_id}/profile_results":{"post":{"description":"Creates or updates a profiling result for the specified data structure.\n\nRequires the **'Execute structure profiling'** permission. The target structure must be of class `field` or `table`; other classes cannot be profiled. If the structure class is not `field` or `table`, the operation is rejected. Administrators and service accounts bypass the profilable check only for admin/service actions, but the class restriction still applies.\n\n**Request body:**\n- `profile` (required) – Object containing profiling values (e.g., `max`, `min`, `total_count`, `null_count`, `most_frequent`, `patterns`, `unique_count`).\n\nIf a profile already exists for the structure, it is updated; otherwise, a new profile is created.\n","operationId":"TdDdWeb.ProfileController.create","parameters":[{"description":"Data structure ID","in":"path","name":"data_structure_id","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileCreateRequest"}}},"description":"Profile create payload","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileCreateResponse"}}},"description":"Profile created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdForbiddenResponse"}}},"description":"Forbidden"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnprocessableEntityChangesetResponse"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Create profile result","tags":["Data Profiling"]}}},"components":{"schemas":{"ProfileCreateRequest":{"additionalProperties":false,"properties":{"profile":{"$ref":"#/components/schemas/ProfileValue"}},"required":["profile"],"title":"ProfileCreateRequest","type":"object"},"ProfileValue":{"additionalProperties":true,"properties":{"inserted_at":{"format":"date-time","nullable":true,"type":"string"},"max":{"nullable":true,"type":"string"},"min":{"nullable":true,"type":"string"},"most_frequent":{"additionalProperties":true,"nullable":true,"type":"object"},"null_count":{"additionalProperties":true,"nullable":true,"type":"object"},"patterns":{"additionalProperties":true,"nullable":true,"type":"object"},"total_count":{"additionalProperties":true,"nullable":true,"type":"object"},"unique_count":{"additionalProperties":true,"nullable":true,"type":"object"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"title":"ProfileValue","type":"object"},"ProfileCreateResponse":{"additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProfileResource"}},"required":["data"],"title":"ProfileCreateResponse","type":"object"},"ProfileResource":{"additionalProperties":false,"properties":{"data_structure_id":{"type":"integer"},"id":{"type":"integer"},"updated_at":{"nullable":true,"type":"string"},"value":{"$ref":"#/components/schemas/ProfileValue"}},"required":["id","data_structure_id","value"],"title":"ProfileResource","type":"object"},"TdDdUnauthorizedResponse":{"anyOf":[{"$ref":"#/components/schemas/TdDdUnauthorizedMessageResponse"},{"$ref":"#/components/schemas/TdDdUnauthorizedErrorResponse"}],"description":"Unauthorized response from auth plug or error view","title":"TdDdUnauthorizedResponse"},"TdDdUnauthorizedMessageResponse":{"additionalProperties":false,"properties":{"message":{"type":"string"}},"required":["message"],"title":"TdDdUnauthorizedMessageResponse","type":"object"},"TdDdUnauthorizedErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdUnauthorizedErrorResponse","type":"object"},"TdDdForbiddenResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdForbiddenResponse","type":"object"},"TdDdUnprocessableEntityChangesetResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"}},"required":["errors"],"title":"TdDdUnprocessableEntityChangesetResponse","type":"object"},"TdDdInternalServerErrorResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdInternalServerErrorResponse","type":"object"}}}}
```

## Show profile execution group

> Retrieves a profile execution group by its ID. The group's executions are filtered to include only those the caller is permitted to view.\
> \
> Requires the \*\*'View structure profiling'\*\* permission. Each execution within the group is additionally validated against the caller's \*\*'View structure profiling'\*\* permission.\
> \
> The response includes only executions visible to the caller. If a group contains no visible executions, an empty list is returned.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dd","version":"Truedat 8.12.2"},"paths":{"/api/profile_execution_groups/{id}":{"get":{"description":"Retrieves a profile execution group by its ID. The group's executions are filtered to include only those the caller is permitted to view.\n\nRequires the **'View structure profiling'** permission. Each execution within the group is additionally validated against the caller's **'View structure profiling'** permission.\n\nThe response includes only executions visible to the caller. If a group contains no visible executions, an empty list is returned.\n","operationId":"TdDdWeb.ProfileExecutionGroupController.show","parameters":[{"description":"Profile execution group ID","in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileExecutionGroupResponse"}}},"description":"Profile execution group details"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdForbiddenResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdNotFoundErrorResponse"}}},"description":"Not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Show profile execution group","tags":["Data Profiling"]}}},"components":{"schemas":{"ProfileExecutionGroupResponse":{"additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProfileExecutionGroupResource"}},"required":["data"],"title":"ProfileExecutionGroupResponse","type":"object"},"ProfileExecutionGroupResource":{"additionalProperties":false,"properties":{"_embedded":{"additionalProperties":false,"properties":{"executions":{"description":"List of profile executions in this group","items":{"$ref":"#/components/schemas/ProfileExecutionResource"},"type":"array"}},"type":"object"},"created_by_id":{"description":"User ID who created the group","nullable":true,"type":"integer"},"id":{"description":"Profile execution group ID","type":"integer"},"inserted_at":{"description":"Creation timestamp","type":"string"}},"required":["id"],"title":"ProfileExecutionGroupResource","type":"object"},"ProfileExecutionResource":{"additionalProperties":false,"properties":{"_embedded":{"$ref":"#/components/schemas/ProfileExecutionEmbedded"},"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"}},"required":["id"],"title":"ProfileExecutionResource","type":"object"},"ProfileExecutionEmbedded":{"additionalProperties":false,"properties":{"data_structure":{"$ref":"#/components/schemas/ProfileDataStructureEmbedded"},"latest":{"$ref":"#/components/schemas/ProfileLatestEmbedded"},"profile":{"$ref":"#/components/schemas/ProfileEmbedded"},"profile_events":{"items":{"$ref":"#/components/schemas/ProfileEventResource"},"type":"array"}},"title":"ProfileExecutionEmbedded","type":"object"},"ProfileDataStructureEmbedded":{"additionalProperties":false,"properties":{"external_id":{"type":"string"},"id":{"type":"integer"},"source_id":{"nullable":true,"type":"integer"}},"required":["id","external_id"],"title":"ProfileDataStructureEmbedded","type":"object"},"ProfileLatestEmbedded":{"additionalProperties":false,"properties":{"ancestry":{"items":{"additionalProperties":false,"properties":{"data_structure_id":{"type":"integer"},"name":{"type":"string"}},"required":["data_structure_id","name"],"type":"object"},"type":"array"},"name":{"type":"string"}},"required":["name"],"title":"ProfileLatestEmbedded","type":"object"},"ProfileEmbedded":{"additionalProperties":true,"properties":{"data_structure_id":{"nullable":true,"type":"integer"},"id":{"nullable":true,"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"max":{"nullable":true,"type":"string"},"min":{"nullable":true,"type":"string"},"most_frequent":{"additionalProperties":true,"nullable":true,"type":"object"},"null_count":{"additionalProperties":true,"nullable":true,"type":"object"},"patterns":{"additionalProperties":true,"nullable":true,"type":"object"},"total_count":{"additionalProperties":true,"nullable":true,"type":"object"},"unique_count":{"additionalProperties":true,"nullable":true,"type":"object"},"updated_at":{"nullable":true,"type":"string"}},"title":"ProfileEmbedded","type":"object"},"ProfileEventResource":{"additionalProperties":false,"properties":{"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"message":{"nullable":true,"type":"string"},"profile_execution_id":{"type":"integer"},"type":{"nullable":true,"type":"string"}},"required":["id","profile_execution_id"],"title":"ProfileEventResource","type":"object"},"TdDdUnauthorizedResponse":{"anyOf":[{"$ref":"#/components/schemas/TdDdUnauthorizedMessageResponse"},{"$ref":"#/components/schemas/TdDdUnauthorizedErrorResponse"}],"description":"Unauthorized response from auth plug or error view","title":"TdDdUnauthorizedResponse"},"TdDdUnauthorizedMessageResponse":{"additionalProperties":false,"properties":{"message":{"type":"string"}},"required":["message"],"title":"TdDdUnauthorizedMessageResponse","type":"object"},"TdDdUnauthorizedErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdUnauthorizedErrorResponse","type":"object"},"TdDdForbiddenResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdForbiddenResponse","type":"object"},"TdDdNotFoundErrorResponse":{"additionalProperties":false,"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdNotFoundErrorResponse","type":"object"},"TdDdInternalServerErrorResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdInternalServerErrorResponse","type":"object"}}}}
```

## List profile executions

> Returns a list of profile executions visible to the current user.\
> \
> Requires the \*\*'View structure profiling'\*\* permission. Each execution is additionally filtered by the caller's \*\*'View structure profiling'\*\* permission on the associated domains.  Administrators and service accounts bypass the domain‑based filtering and see all executions\
> \
> No pagination is applied; the full filtered list is returned.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dd","version":"Truedat 8.12.2"},"paths":{"/api/profile_executions":{"get":{"description":"Returns a list of profile executions visible to the current user.\n\nRequires the **'View structure profiling'** permission. Each execution is additionally filtered by the caller's **'View structure profiling'** permission on the associated domains.  Administrators and service accounts bypass the domain‑based filtering and see all executions\n\nNo pagination is applied; the full filtered list is returned.\n","operationId":"TdDdWeb.ProfileExecutionController.index","parameters":[{"description":"Filter by profile execution group ID","in":"query","name":"profile_group_id","required":false,"schema":{"type":"integer"}},{"description":"Alias for profile_group_id filter","in":"query","name":"execution_group_id","required":false,"schema":{"type":"integer"}},{"description":"Filter pending executions without profile or events","in":"query","name":"status","required":false,"schema":{"enum":["pending"],"type":"string"}},{"description":"Filter by data source external ID","in":"query","name":"source","required":false,"schema":{"type":"string"}},{"description":"Filter by multiple data source external IDs","in":"query","name":"sources","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileExecutionListResponse"}}},"description":"Profile executions"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdForbiddenResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"List profile executions","tags":["Data Profiling"]}}},"components":{"schemas":{"ProfileExecutionListResponse":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/ProfileExecutionResource"},"type":"array"}},"required":["data"],"title":"ProfileExecutionListResponse","type":"object"},"ProfileExecutionResource":{"additionalProperties":false,"properties":{"_embedded":{"$ref":"#/components/schemas/ProfileExecutionEmbedded"},"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"}},"required":["id"],"title":"ProfileExecutionResource","type":"object"},"ProfileExecutionEmbedded":{"additionalProperties":false,"properties":{"data_structure":{"$ref":"#/components/schemas/ProfileDataStructureEmbedded"},"latest":{"$ref":"#/components/schemas/ProfileLatestEmbedded"},"profile":{"$ref":"#/components/schemas/ProfileEmbedded"},"profile_events":{"items":{"$ref":"#/components/schemas/ProfileEventResource"},"type":"array"}},"title":"ProfileExecutionEmbedded","type":"object"},"ProfileDataStructureEmbedded":{"additionalProperties":false,"properties":{"external_id":{"type":"string"},"id":{"type":"integer"},"source_id":{"nullable":true,"type":"integer"}},"required":["id","external_id"],"title":"ProfileDataStructureEmbedded","type":"object"},"ProfileLatestEmbedded":{"additionalProperties":false,"properties":{"ancestry":{"items":{"additionalProperties":false,"properties":{"data_structure_id":{"type":"integer"},"name":{"type":"string"}},"required":["data_structure_id","name"],"type":"object"},"type":"array"},"name":{"type":"string"}},"required":["name"],"title":"ProfileLatestEmbedded","type":"object"},"ProfileEmbedded":{"additionalProperties":true,"properties":{"data_structure_id":{"nullable":true,"type":"integer"},"id":{"nullable":true,"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"max":{"nullable":true,"type":"string"},"min":{"nullable":true,"type":"string"},"most_frequent":{"additionalProperties":true,"nullable":true,"type":"object"},"null_count":{"additionalProperties":true,"nullable":true,"type":"object"},"patterns":{"additionalProperties":true,"nullable":true,"type":"object"},"total_count":{"additionalProperties":true,"nullable":true,"type":"object"},"unique_count":{"additionalProperties":true,"nullable":true,"type":"object"},"updated_at":{"nullable":true,"type":"string"}},"title":"ProfileEmbedded","type":"object"},"ProfileEventResource":{"additionalProperties":false,"properties":{"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"message":{"nullable":true,"type":"string"},"profile_execution_id":{"type":"integer"},"type":{"nullable":true,"type":"string"}},"required":["id","profile_execution_id"],"title":"ProfileEventResource","type":"object"},"TdDdUnauthorizedResponse":{"anyOf":[{"$ref":"#/components/schemas/TdDdUnauthorizedMessageResponse"},{"$ref":"#/components/schemas/TdDdUnauthorizedErrorResponse"}],"description":"Unauthorized response from auth plug or error view","title":"TdDdUnauthorizedResponse"},"TdDdUnauthorizedMessageResponse":{"additionalProperties":false,"properties":{"message":{"type":"string"}},"required":["message"],"title":"TdDdUnauthorizedMessageResponse","type":"object"},"TdDdUnauthorizedErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdUnauthorizedErrorResponse","type":"object"},"TdDdForbiddenResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdForbiddenResponse","type":"object"},"TdDdInternalServerErrorResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdInternalServerErrorResponse","type":"object"}}}}
```

## Upload profiling data

> Uploads profiling data as a CSV file. The file is parsed and the records are loaded asynchronously.\
> \
> Requires the \*\*'Execute structure profiling'\*\* permission.\
> \
> The CSV is parsed server‑side and the records are queued for background loading. The endpoint returns \`202 Accepted\` immediately. Large files are processed asynchronously.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dd","version":"Truedat 8.12.2"},"paths":{"/api/profiles/upload":{"post":{"description":"Uploads profiling data as a CSV file. The file is parsed and the records are loaded asynchronously.\n\nRequires the **'Execute structure profiling'** permission.\n\nThe CSV is parsed server‑side and the records are queued for background loading. The endpoint returns `202 Accepted` immediately. Large files are processed asynchronously.\n","operationId":"TdDdWeb.ProfileController.upload","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ProfileUploadRequest"}}},"description":"Profiling upload","required":false},"responses":{"202":{"description":"Profile upload accepted"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdForbiddenResponse"}}},"description":"Forbidden"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnprocessableEntityObjectResponse"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Upload profiling data","tags":["Data Profiling"]}}},"components":{"schemas":{"ProfileUploadRequest":{"additionalProperties":false,"properties":{"profiling":{"description":"CSV file with profiling data","format":"binary","type":"string"}},"required":["profiling"],"title":"ProfileUploadRequest","type":"object"},"TdDdUnauthorizedResponse":{"anyOf":[{"$ref":"#/components/schemas/TdDdUnauthorizedMessageResponse"},{"$ref":"#/components/schemas/TdDdUnauthorizedErrorResponse"}],"description":"Unauthorized response from auth plug or error view","title":"TdDdUnauthorizedResponse"},"TdDdUnauthorizedMessageResponse":{"additionalProperties":false,"properties":{"message":{"type":"string"}},"required":["message"],"title":"TdDdUnauthorizedMessageResponse","type":"object"},"TdDdUnauthorizedErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdUnauthorizedErrorResponse","type":"object"},"TdDdForbiddenResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdForbiddenResponse","type":"object"},"TdDdUnprocessableEntityObjectResponse":{"additionalProperties":false,"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdUnprocessableEntityObjectResponse","type":"object"},"TdDdInternalServerErrorResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdInternalServerErrorResponse","type":"object"}}}}
```

## Search profile executions

> Searches profile executions using a structured search payload. This endpoint behaves like a \`POST\` version of the list endpoint, allowing complex filters to be sent in the request body. This endpoint is provided as a convenience for clients that prefer sending search criteria in the request body rather than as query parameters.\
> \
> Requires the \*\*'View structure profiling'\*\* permission. Results are additionally filtered per execution based on the caller's \*\*'View structure profiling'\*\* permission on the associated data structure domains.\
> \
> \*\*Request body:\*\* Same fields as the list endpoint, but sent as JSON:\
> \- \`profile\_group\_id\` (optional, integer) – Filter by profile execution group.\
> \- \`execution\_group\_id\` (optional, integer) – Alias for \`profile\_group\_id\`.\
> \- \`status=pending\` (optional, string) – Return only pending executions.\
> \- \`source\` (optional, string) – Filter by source external ID.\
> \- \`sources\` (optional, array of strings) – Filter by multiple sources.\
> \
> Delegates to the standard profile execution listing logic. The response shape matches the list endpoint.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dd","version":"Truedat 8.12.2"},"paths":{"/api/profile_executions/search":{"post":{"description":"Searches profile executions using a structured search payload. This endpoint behaves like a `POST` version of the list endpoint, allowing complex filters to be sent in the request body. This endpoint is provided as a convenience for clients that prefer sending search criteria in the request body rather than as query parameters.\n\nRequires the **'View structure profiling'** permission. Results are additionally filtered per execution based on the caller's **'View structure profiling'** permission on the associated data structure domains.\n\n**Request body:** Same fields as the list endpoint, but sent as JSON:\n- `profile_group_id` (optional, integer) – Filter by profile execution group.\n- `execution_group_id` (optional, integer) – Alias for `profile_group_id`.\n- `status=pending` (optional, string) – Return only pending executions.\n- `source` (optional, string) – Filter by source external ID.\n- `sources` (optional, array of strings) – Filter by multiple sources.\n\nDelegates to the standard profile execution listing logic. The response shape matches the list endpoint.\n","operationId":"TdDdWeb.ProfileExecutionSearchController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileExecutionSearchRequest"}}},"description":"Search parameters","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileExecutionSearchResponse"}}},"description":"Profile executions search results"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdForbiddenResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Search profile executions","tags":["Data Profiling"]}}},"components":{"schemas":{"ProfileExecutionSearchRequest":{"additionalProperties":false,"properties":{"execution_group_id":{"description":"Alias for profile_group_id filter","nullable":true,"type":"integer"},"profile_group_id":{"description":"Filter by profile execution group ID","nullable":true,"type":"integer"},"source":{"description":"Filter by data source external ID","nullable":true,"type":"string"},"sources":{"description":"Filter by multiple data source external IDs","items":{"type":"string"},"nullable":true,"type":"array"},"status":{"description":"Filter executions without profile or events","enum":["pending"],"nullable":true,"type":"string"}},"title":"ProfileExecutionSearchRequest","type":"object"},"ProfileExecutionSearchResponse":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/ProfileExecutionResource"},"type":"array"}},"required":["data"],"title":"ProfileExecutionSearchResponse","type":"object"},"ProfileExecutionResource":{"additionalProperties":false,"properties":{"_embedded":{"$ref":"#/components/schemas/ProfileExecutionEmbedded"},"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"}},"required":["id"],"title":"ProfileExecutionResource","type":"object"},"ProfileExecutionEmbedded":{"additionalProperties":false,"properties":{"data_structure":{"$ref":"#/components/schemas/ProfileDataStructureEmbedded"},"latest":{"$ref":"#/components/schemas/ProfileLatestEmbedded"},"profile":{"$ref":"#/components/schemas/ProfileEmbedded"},"profile_events":{"items":{"$ref":"#/components/schemas/ProfileEventResource"},"type":"array"}},"title":"ProfileExecutionEmbedded","type":"object"},"ProfileDataStructureEmbedded":{"additionalProperties":false,"properties":{"external_id":{"type":"string"},"id":{"type":"integer"},"source_id":{"nullable":true,"type":"integer"}},"required":["id","external_id"],"title":"ProfileDataStructureEmbedded","type":"object"},"ProfileLatestEmbedded":{"additionalProperties":false,"properties":{"ancestry":{"items":{"additionalProperties":false,"properties":{"data_structure_id":{"type":"integer"},"name":{"type":"string"}},"required":["data_structure_id","name"],"type":"object"},"type":"array"},"name":{"type":"string"}},"required":["name"],"title":"ProfileLatestEmbedded","type":"object"},"ProfileEmbedded":{"additionalProperties":true,"properties":{"data_structure_id":{"nullable":true,"type":"integer"},"id":{"nullable":true,"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"max":{"nullable":true,"type":"string"},"min":{"nullable":true,"type":"string"},"most_frequent":{"additionalProperties":true,"nullable":true,"type":"object"},"null_count":{"additionalProperties":true,"nullable":true,"type":"object"},"patterns":{"additionalProperties":true,"nullable":true,"type":"object"},"total_count":{"additionalProperties":true,"nullable":true,"type":"object"},"unique_count":{"additionalProperties":true,"nullable":true,"type":"object"},"updated_at":{"nullable":true,"type":"string"}},"title":"ProfileEmbedded","type":"object"},"ProfileEventResource":{"additionalProperties":false,"properties":{"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"message":{"nullable":true,"type":"string"},"profile_execution_id":{"type":"integer"},"type":{"nullable":true,"type":"string"}},"required":["id","profile_execution_id"],"title":"ProfileEventResource","type":"object"},"TdDdUnauthorizedResponse":{"anyOf":[{"$ref":"#/components/schemas/TdDdUnauthorizedMessageResponse"},{"$ref":"#/components/schemas/TdDdUnauthorizedErrorResponse"}],"description":"Unauthorized response from auth plug or error view","title":"TdDdUnauthorizedResponse"},"TdDdUnauthorizedMessageResponse":{"additionalProperties":false,"properties":{"message":{"type":"string"}},"required":["message"],"title":"TdDdUnauthorizedMessageResponse","type":"object"},"TdDdUnauthorizedErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdUnauthorizedErrorResponse","type":"object"},"TdDdForbiddenResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdForbiddenResponse","type":"object"},"TdDdInternalServerErrorResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdInternalServerErrorResponse","type":"object"}}}}
```

## Search profiles

> Searches profiling records matching the supplied criteria.\
> \
> Requires the \*\*'View structure profiling'\*\* permission. Results are further filtered to include only profiles for structures the caller can view.\
> \
> \*\*Request body:\*\*\
> \- \`limit\` (optional, integer) – Maximum number of profiles to return.\
> \- \`offset\` (optional, integer) – Number of profiles to skip.\
> \- \`since\` (optional, ISO 8601 timestamp) – Return profiles updated at or after this time.\
> \
> No pagination metadata (total count) is returned; use \`limit\` and \`offset\` for manual pagination.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dd","version":"Truedat 8.12.2"},"paths":{"/api/profiles/search":{"post":{"description":"Searches profiling records matching the supplied criteria.\n\nRequires the **'View structure profiling'** permission. Results are further filtered to include only profiles for structures the caller can view.\n\n**Request body:**\n- `limit` (optional, integer) – Maximum number of profiles to return.\n- `offset` (optional, integer) – Number of profiles to skip.\n- `since` (optional, ISO 8601 timestamp) – Return profiles updated at or after this time.\n\nNo pagination metadata (total count) is returned; use `limit` and `offset` for manual pagination.\n","operationId":"TdDdWeb.ProfileController.search","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileSearchRequest"}}},"description":"Search profiles payload","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileSearchResponse"}}},"description":"Search results"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdForbiddenResponse"}}},"description":"Forbidden"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnprocessableEntityObjectResponse"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Search profiles","tags":["Data Profiling"]}}},"components":{"schemas":{"ProfileSearchRequest":{"additionalProperties":false,"properties":{"limit":{"description":"Maximum number of profiles to return","type":"integer"},"offset":{"description":"Number of profiles to skip","type":"integer"},"since":{"description":"Return profiles updated at or after this timestamp (ISO 8601)","type":"string"}},"title":"ProfileSearchRequest","type":"object"},"ProfileSearchResponse":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/ProfileResource"},"type":"array"}},"required":["data"],"title":"ProfileSearchResponse","type":"object"},"ProfileResource":{"additionalProperties":false,"properties":{"data_structure_id":{"type":"integer"},"id":{"type":"integer"},"updated_at":{"nullable":true,"type":"string"},"value":{"$ref":"#/components/schemas/ProfileValue"}},"required":["id","data_structure_id","value"],"title":"ProfileResource","type":"object"},"ProfileValue":{"additionalProperties":true,"properties":{"inserted_at":{"format":"date-time","nullable":true,"type":"string"},"max":{"nullable":true,"type":"string"},"min":{"nullable":true,"type":"string"},"most_frequent":{"additionalProperties":true,"nullable":true,"type":"object"},"null_count":{"additionalProperties":true,"nullable":true,"type":"object"},"patterns":{"additionalProperties":true,"nullable":true,"type":"object"},"total_count":{"additionalProperties":true,"nullable":true,"type":"object"},"unique_count":{"additionalProperties":true,"nullable":true,"type":"object"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"title":"ProfileValue","type":"object"},"TdDdUnauthorizedResponse":{"anyOf":[{"$ref":"#/components/schemas/TdDdUnauthorizedMessageResponse"},{"$ref":"#/components/schemas/TdDdUnauthorizedErrorResponse"}],"description":"Unauthorized response from auth plug or error view","title":"TdDdUnauthorizedResponse"},"TdDdUnauthorizedMessageResponse":{"additionalProperties":false,"properties":{"message":{"type":"string"}},"required":["message"],"title":"TdDdUnauthorizedMessageResponse","type":"object"},"TdDdUnauthorizedErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdUnauthorizedErrorResponse","type":"object"},"TdDdForbiddenResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdForbiddenResponse","type":"object"},"TdDdUnprocessableEntityObjectResponse":{"additionalProperties":false,"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdUnprocessableEntityObjectResponse","type":"object"},"TdDdInternalServerErrorResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdInternalServerErrorResponse","type":"object"}}}}
```

## Create profile event

> Creates a profile event associated with the specified profile execution. Profile events are used to track the progress and outcome of profiling operations.\
> \
> Requires the \*\*'Execute structure profiling'\*\* permission.\
> \
> \*\*Request body:\*\*\
> \- \`profile\_event\` (required) – Object containing:\
> &#x20; \- \`type\` (optional, string) – Event type (e.g., \`"SUCCEEDED"\`, \`"FAILED"\`).\
> &#x20; \- \`message\` (optional, string, max 1000 chars) – Descriptive message.\
> \
> The event is created with the execution ID automatically injected into the payload before persistence.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dd","version":"Truedat 8.12.2"},"paths":{"/api/profile_executions/{profile_execution_id}/profile_events":{"post":{"description":"Creates a profile event associated with the specified profile execution. Profile events are used to track the progress and outcome of profiling operations.\n\nRequires the **'Execute structure profiling'** permission.\n\n**Request body:**\n- `profile_event` (required) – Object containing:\n  - `type` (optional, string) – Event type (e.g., `\"SUCCEEDED\"`, `\"FAILED\"`).\n  - `message` (optional, string, max 1000 chars) – Descriptive message.\n\nThe event is created with the execution ID automatically injected into the payload before persistence.\n","operationId":"TdDdWeb.ProfileEventController.create","parameters":[{"description":"Profile execution ID","in":"path","name":"profile_execution_id","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileEventCreateRequest"}}},"description":"Profile event","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileEventCreateResponse"}}},"description":"Profile event"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdForbiddenResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdNotFoundErrorResponse"}}},"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnprocessableEntityChangesetResponse"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Create profile event","tags":["Data Profiling"]}}},"components":{"schemas":{"ProfileEventCreateRequest":{"additionalProperties":false,"properties":{"profile_event":{"additionalProperties":false,"properties":{"message":{"description":"Event message","maxLength":1000,"type":"string"},"type":{"description":"Event type","type":"string"}},"type":"object"}},"required":["profile_event"],"title":"ProfileEventCreateRequest","type":"object"},"ProfileEventCreateResponse":{"additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProfileEventResource"}},"required":["data"],"title":"ProfileEventCreateResponse","type":"object"},"ProfileEventResource":{"additionalProperties":false,"properties":{"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"message":{"nullable":true,"type":"string"},"profile_execution_id":{"type":"integer"},"type":{"nullable":true,"type":"string"}},"required":["id","profile_execution_id"],"title":"ProfileEventResource","type":"object"},"TdDdUnauthorizedResponse":{"anyOf":[{"$ref":"#/components/schemas/TdDdUnauthorizedMessageResponse"},{"$ref":"#/components/schemas/TdDdUnauthorizedErrorResponse"}],"description":"Unauthorized response from auth plug or error view","title":"TdDdUnauthorizedResponse"},"TdDdUnauthorizedMessageResponse":{"additionalProperties":false,"properties":{"message":{"type":"string"}},"required":["message"],"title":"TdDdUnauthorizedMessageResponse","type":"object"},"TdDdUnauthorizedErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdUnauthorizedErrorResponse","type":"object"},"TdDdForbiddenResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdForbiddenResponse","type":"object"},"TdDdNotFoundErrorResponse":{"additionalProperties":false,"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdNotFoundErrorResponse","type":"object"},"TdDdUnprocessableEntityChangesetResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"}},"required":["errors"],"title":"TdDdUnprocessableEntityChangesetResponse","type":"object"},"TdDdInternalServerErrorResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdInternalServerErrorResponse","type":"object"}}}}
```

## Show profile execution

> Retrieves a specific profile execution by its ID, including its profile data, associated data structure, and profile events.\
> \
> Requires the \*\*'View structure profiling'\*\* permission on the associated data structure's domains.\
> \
> Returns the execution with its profile, data structure metadata, and events. If available, the latest execution metadata is included.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dd","version":"Truedat 8.12.2"},"paths":{"/api/profile_executions/{id}":{"get":{"description":"Retrieves a specific profile execution by its ID, including its profile data, associated data structure, and profile events.\n\nRequires the **'View structure profiling'** permission on the associated data structure's domains.\n\nReturns the execution with its profile, data structure metadata, and events. If available, the latest execution metadata is included.\n","operationId":"TdDdWeb.ProfileExecutionController.show","parameters":[{"description":"Profile execution ID","in":"path","name":"id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileExecutionResponse"}}},"description":"Profile execution"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdForbiddenResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdNotFoundErrorResponse"}}},"description":"Not found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Show profile execution","tags":["Data Profiling"]}}},"components":{"schemas":{"ProfileExecutionResponse":{"additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProfileExecutionResource"}},"required":["data"],"title":"ProfileExecutionResponse","type":"object"},"ProfileExecutionResource":{"additionalProperties":false,"properties":{"_embedded":{"$ref":"#/components/schemas/ProfileExecutionEmbedded"},"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"}},"required":["id"],"title":"ProfileExecutionResource","type":"object"},"ProfileExecutionEmbedded":{"additionalProperties":false,"properties":{"data_structure":{"$ref":"#/components/schemas/ProfileDataStructureEmbedded"},"latest":{"$ref":"#/components/schemas/ProfileLatestEmbedded"},"profile":{"$ref":"#/components/schemas/ProfileEmbedded"},"profile_events":{"items":{"$ref":"#/components/schemas/ProfileEventResource"},"type":"array"}},"title":"ProfileExecutionEmbedded","type":"object"},"ProfileDataStructureEmbedded":{"additionalProperties":false,"properties":{"external_id":{"type":"string"},"id":{"type":"integer"},"source_id":{"nullable":true,"type":"integer"}},"required":["id","external_id"],"title":"ProfileDataStructureEmbedded","type":"object"},"ProfileLatestEmbedded":{"additionalProperties":false,"properties":{"ancestry":{"items":{"additionalProperties":false,"properties":{"data_structure_id":{"type":"integer"},"name":{"type":"string"}},"required":["data_structure_id","name"],"type":"object"},"type":"array"},"name":{"type":"string"}},"required":["name"],"title":"ProfileLatestEmbedded","type":"object"},"ProfileEmbedded":{"additionalProperties":true,"properties":{"data_structure_id":{"nullable":true,"type":"integer"},"id":{"nullable":true,"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"max":{"nullable":true,"type":"string"},"min":{"nullable":true,"type":"string"},"most_frequent":{"additionalProperties":true,"nullable":true,"type":"object"},"null_count":{"additionalProperties":true,"nullable":true,"type":"object"},"patterns":{"additionalProperties":true,"nullable":true,"type":"object"},"total_count":{"additionalProperties":true,"nullable":true,"type":"object"},"unique_count":{"additionalProperties":true,"nullable":true,"type":"object"},"updated_at":{"nullable":true,"type":"string"}},"title":"ProfileEmbedded","type":"object"},"ProfileEventResource":{"additionalProperties":false,"properties":{"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"message":{"nullable":true,"type":"string"},"profile_execution_id":{"type":"integer"},"type":{"nullable":true,"type":"string"}},"required":["id","profile_execution_id"],"title":"ProfileEventResource","type":"object"},"TdDdUnauthorizedResponse":{"anyOf":[{"$ref":"#/components/schemas/TdDdUnauthorizedMessageResponse"},{"$ref":"#/components/schemas/TdDdUnauthorizedErrorResponse"}],"description":"Unauthorized response from auth plug or error view","title":"TdDdUnauthorizedResponse"},"TdDdUnauthorizedMessageResponse":{"additionalProperties":false,"properties":{"message":{"type":"string"}},"required":["message"],"title":"TdDdUnauthorizedMessageResponse","type":"object"},"TdDdUnauthorizedErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdUnauthorizedErrorResponse","type":"object"},"TdDdForbiddenResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdForbiddenResponse","type":"object"},"TdDdNotFoundErrorResponse":{"additionalProperties":false,"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdNotFoundErrorResponse","type":"object"},"TdDdInternalServerErrorResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdInternalServerErrorResponse","type":"object"}}}}
```

## List profile execution groups

> Returns a list of all profile execution groups visible to the current user.\
> \
> Requires the \*\*'View structure profiling'\*\* permission. Administrators and service accounts see all groups. Regular users see only groups whose executions they can view.\
> \
> No pagination is applied; the full list of groups is returned.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dd","version":"Truedat 8.12.2"},"paths":{"/api/profile_execution_groups":{"get":{"description":"Returns a list of all profile execution groups visible to the current user.\n\nRequires the **'View structure profiling'** permission. Administrators and service accounts see all groups. Regular users see only groups whose executions they can view.\n\nNo pagination is applied; the full list of groups is returned.\n","operationId":"TdDdWeb.ProfileExecutionGroupController.index","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileExecutionGroupListResponse"}}},"description":"List profile execution groups"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdForbiddenResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"List profile execution groups","tags":["Data Profiling"]}}},"components":{"schemas":{"ProfileExecutionGroupListResponse":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/ProfileExecutionGroupResource"},"type":"array"}},"required":["data"],"title":"ProfileExecutionGroupListResponse","type":"object"},"ProfileExecutionGroupResource":{"additionalProperties":false,"properties":{"_embedded":{"additionalProperties":false,"properties":{"executions":{"description":"List of profile executions in this group","items":{"$ref":"#/components/schemas/ProfileExecutionResource"},"type":"array"}},"type":"object"},"created_by_id":{"description":"User ID who created the group","nullable":true,"type":"integer"},"id":{"description":"Profile execution group ID","type":"integer"},"inserted_at":{"description":"Creation timestamp","type":"string"}},"required":["id"],"title":"ProfileExecutionGroupResource","type":"object"},"ProfileExecutionResource":{"additionalProperties":false,"properties":{"_embedded":{"$ref":"#/components/schemas/ProfileExecutionEmbedded"},"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"}},"required":["id"],"title":"ProfileExecutionResource","type":"object"},"ProfileExecutionEmbedded":{"additionalProperties":false,"properties":{"data_structure":{"$ref":"#/components/schemas/ProfileDataStructureEmbedded"},"latest":{"$ref":"#/components/schemas/ProfileLatestEmbedded"},"profile":{"$ref":"#/components/schemas/ProfileEmbedded"},"profile_events":{"items":{"$ref":"#/components/schemas/ProfileEventResource"},"type":"array"}},"title":"ProfileExecutionEmbedded","type":"object"},"ProfileDataStructureEmbedded":{"additionalProperties":false,"properties":{"external_id":{"type":"string"},"id":{"type":"integer"},"source_id":{"nullable":true,"type":"integer"}},"required":["id","external_id"],"title":"ProfileDataStructureEmbedded","type":"object"},"ProfileLatestEmbedded":{"additionalProperties":false,"properties":{"ancestry":{"items":{"additionalProperties":false,"properties":{"data_structure_id":{"type":"integer"},"name":{"type":"string"}},"required":["data_structure_id","name"],"type":"object"},"type":"array"},"name":{"type":"string"}},"required":["name"],"title":"ProfileLatestEmbedded","type":"object"},"ProfileEmbedded":{"additionalProperties":true,"properties":{"data_structure_id":{"nullable":true,"type":"integer"},"id":{"nullable":true,"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"max":{"nullable":true,"type":"string"},"min":{"nullable":true,"type":"string"},"most_frequent":{"additionalProperties":true,"nullable":true,"type":"object"},"null_count":{"additionalProperties":true,"nullable":true,"type":"object"},"patterns":{"additionalProperties":true,"nullable":true,"type":"object"},"total_count":{"additionalProperties":true,"nullable":true,"type":"object"},"unique_count":{"additionalProperties":true,"nullable":true,"type":"object"},"updated_at":{"nullable":true,"type":"string"}},"title":"ProfileEmbedded","type":"object"},"ProfileEventResource":{"additionalProperties":false,"properties":{"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"message":{"nullable":true,"type":"string"},"profile_execution_id":{"type":"integer"},"type":{"nullable":true,"type":"string"}},"required":["id","profile_execution_id"],"title":"ProfileEventResource","type":"object"},"TdDdUnauthorizedResponse":{"anyOf":[{"$ref":"#/components/schemas/TdDdUnauthorizedMessageResponse"},{"$ref":"#/components/schemas/TdDdUnauthorizedErrorResponse"}],"description":"Unauthorized response from auth plug or error view","title":"TdDdUnauthorizedResponse"},"TdDdUnauthorizedMessageResponse":{"additionalProperties":false,"properties":{"message":{"type":"string"}},"required":["message"],"title":"TdDdUnauthorizedMessageResponse","type":"object"},"TdDdUnauthorizedErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdUnauthorizedErrorResponse","type":"object"},"TdDdForbiddenResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdForbiddenResponse","type":"object"},"TdDdInternalServerErrorResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdInternalServerErrorResponse","type":"object"}}}}
```

## Create profile execution group

> Creates a new profile execution group, which triggers profiling for the specified data structures.\
> \
> Requires the \*\*'Execute structure profiling'\*\* permission. Only structures the user can view will be profiled.\
> \
> \*\*Request body (mutually exclusive options):\*\*\
> \- \`data\_structure\_ids\` (optional, array of integers, min 1) – List of data structure IDs to profile. Mutually exclusive with \`parent\_structure\_id\`.\
> \- \`parent\_structure\_id\` (optional, integer) – Parent structure ID; creates executions for all visible child fields. Mutually exclusive with \`data\_structure\_ids\`.\
> At least one of \`data\_structure\_ids\` or \`parent\_structure\_id\` must be provided. When profiling a parent structure, only child fields the user can view are included.<br>

```json
{"openapi":"3.0.0","info":{"title":"td-dd","version":"Truedat 8.12.2"},"paths":{"/api/profile_execution_groups":{"post":{"description":"Creates a new profile execution group, which triggers profiling for the specified data structures.\n\nRequires the **'Execute structure profiling'** permission. Only structures the user can view will be profiled.\n\n**Request body (mutually exclusive options):**\n- `data_structure_ids` (optional, array of integers, min 1) – List of data structure IDs to profile. Mutually exclusive with `parent_structure_id`.\n- `parent_structure_id` (optional, integer) – Parent structure ID; creates executions for all visible child fields. Mutually exclusive with `data_structure_ids`.\nAt least one of `data_structure_ids` or `parent_structure_id` must be provided. When profiling a parent structure, only child fields the user can view are included.\n","operationId":"TdDdWeb.ProfileExecutionGroupController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileExecutionGroupCreateRequest"}}},"description":"Profile execution group payload","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileExecutionGroupResponse"}}},"description":"Profile execution group created"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnauthorizedResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdForbiddenResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdNotFoundErrorResponse"}}},"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdUnprocessableEntityChangesetResponse"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TdDdInternalServerErrorResponse"}}},"description":"Internal Server Error"}},"summary":"Create profile execution group","tags":["Data Profiling"]}}},"components":{"schemas":{"ProfileExecutionGroupCreateRequest":{"additionalProperties":false,"properties":{"data_structure_ids":{"description":"Data structure IDs to profile. At least one of this or parent_structure_id must be provided.","items":{"type":"integer"},"minItems":1,"type":"array"},"parent_structure_id":{"description":"Parent data structure ID. Creates executions for all visible child fields. At least one of this or data_structure_ids must be provided.","type":"integer"}},"title":"ProfileExecutionGroupCreateRequest","type":"object"},"ProfileExecutionGroupResponse":{"additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProfileExecutionGroupResource"}},"required":["data"],"title":"ProfileExecutionGroupResponse","type":"object"},"ProfileExecutionGroupResource":{"additionalProperties":false,"properties":{"_embedded":{"additionalProperties":false,"properties":{"executions":{"description":"List of profile executions in this group","items":{"$ref":"#/components/schemas/ProfileExecutionResource"},"type":"array"}},"type":"object"},"created_by_id":{"description":"User ID who created the group","nullable":true,"type":"integer"},"id":{"description":"Profile execution group ID","type":"integer"},"inserted_at":{"description":"Creation timestamp","type":"string"}},"required":["id"],"title":"ProfileExecutionGroupResource","type":"object"},"ProfileExecutionResource":{"additionalProperties":false,"properties":{"_embedded":{"$ref":"#/components/schemas/ProfileExecutionEmbedded"},"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"}},"required":["id"],"title":"ProfileExecutionResource","type":"object"},"ProfileExecutionEmbedded":{"additionalProperties":false,"properties":{"data_structure":{"$ref":"#/components/schemas/ProfileDataStructureEmbedded"},"latest":{"$ref":"#/components/schemas/ProfileLatestEmbedded"},"profile":{"$ref":"#/components/schemas/ProfileEmbedded"},"profile_events":{"items":{"$ref":"#/components/schemas/ProfileEventResource"},"type":"array"}},"title":"ProfileExecutionEmbedded","type":"object"},"ProfileDataStructureEmbedded":{"additionalProperties":false,"properties":{"external_id":{"type":"string"},"id":{"type":"integer"},"source_id":{"nullable":true,"type":"integer"}},"required":["id","external_id"],"title":"ProfileDataStructureEmbedded","type":"object"},"ProfileLatestEmbedded":{"additionalProperties":false,"properties":{"ancestry":{"items":{"additionalProperties":false,"properties":{"data_structure_id":{"type":"integer"},"name":{"type":"string"}},"required":["data_structure_id","name"],"type":"object"},"type":"array"},"name":{"type":"string"}},"required":["name"],"title":"ProfileLatestEmbedded","type":"object"},"ProfileEmbedded":{"additionalProperties":true,"properties":{"data_structure_id":{"nullable":true,"type":"integer"},"id":{"nullable":true,"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"max":{"nullable":true,"type":"string"},"min":{"nullable":true,"type":"string"},"most_frequent":{"additionalProperties":true,"nullable":true,"type":"object"},"null_count":{"additionalProperties":true,"nullable":true,"type":"object"},"patterns":{"additionalProperties":true,"nullable":true,"type":"object"},"total_count":{"additionalProperties":true,"nullable":true,"type":"object"},"unique_count":{"additionalProperties":true,"nullable":true,"type":"object"},"updated_at":{"nullable":true,"type":"string"}},"title":"ProfileEmbedded","type":"object"},"ProfileEventResource":{"additionalProperties":false,"properties":{"id":{"type":"integer"},"inserted_at":{"nullable":true,"type":"string"},"message":{"nullable":true,"type":"string"},"profile_execution_id":{"type":"integer"},"type":{"nullable":true,"type":"string"}},"required":["id","profile_execution_id"],"title":"ProfileEventResource","type":"object"},"TdDdUnauthorizedResponse":{"anyOf":[{"$ref":"#/components/schemas/TdDdUnauthorizedMessageResponse"},{"$ref":"#/components/schemas/TdDdUnauthorizedErrorResponse"}],"description":"Unauthorized response from auth plug or error view","title":"TdDdUnauthorizedResponse"},"TdDdUnauthorizedMessageResponse":{"additionalProperties":false,"properties":{"message":{"type":"string"}},"required":["message"],"title":"TdDdUnauthorizedMessageResponse","type":"object"},"TdDdUnauthorizedErrorResponse":{"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdUnauthorizedErrorResponse","type":"object"},"TdDdForbiddenResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdForbiddenResponse","type":"object"},"TdDdNotFoundErrorResponse":{"additionalProperties":false,"properties":{"errors":{"properties":{"detail":{"type":"string"}},"type":"object"}},"required":["errors"],"title":"TdDdNotFoundErrorResponse","type":"object"},"TdDdUnprocessableEntityChangesetResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"}},"required":["errors"],"title":"TdDdUnprocessableEntityChangesetResponse","type":"object"},"TdDdInternalServerErrorResponse":{"additionalProperties":false,"properties":{"errors":{"additionalProperties":false,"properties":{"detail":{"type":"string"}},"required":["detail"],"type":"object"}},"required":["errors"],"title":"TdDdInternalServerErrorResponse","type":"object"}}}}
```
