Oneprofile Table Enrichment Audit Logs API
The durable audit trail of a table's enrichment actions: configured, edited, run, cancelled, and settled cost.
The durable audit trail of a table's enrichment actions: configured, edited, run, cancelled, and settled cost.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/getoneprofile-ai:getoneprofile-ai-table-enrichment-audit-logs-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
contact:
email: support@getoneprofile.ai
name: Oneprofile Support
description: REST API reference for Oneprofile, the GTM data layer for your CRM. Manage tables, enrichments, and integrations. Authenticate with an API key to get started.
termsOfService: https://www.getoneprofile.ai/terms
title: Reference | Oneprofile Table Enrichment Audit Logs API
version: 1.0.42765316646
tags:
- description: 'The durable audit trail of a table''s enrichment actions: configured, edited, run, cancelled, and settled cost.'
name: table-enrichment-audit-logs
paths:
/tables/{table_id}/enrichment-audit-logs/:
get:
description: 'List the durable audit trail of the table''s enrichment actions (configured, edited, run at a scope, cancelled, and the settled per-column cost), newest first. Optionally scoped to one column. Kept indefinitely: the retention policy that strips verbose run records never touches this trail.
A change the AI Assistant made through a granted workspace action lands as `assistant_applied`, naming the proposal it came from, so the change and the card that asked for it read together.'
operationId: list_enrichment_audit_logs
parameters:
- in: path
name: table_id
required: true
schema:
format: uuid
title: Table Id
type: string
- description: Restrict to one column's entries.
in: query
name: column_id
required: false
schema:
anyOf:
- format: uuid
type: string
- type: 'null'
description: Restrict to one column's entries.
title: Column Id
- description: The number of items to return.
in: query
name: limit
required: false
schema:
default: 10
description: The number of items to return.
maximum: 100
minimum: 1
title: Limit
type: integer
- in: query
name: order_by
required: false
schema:
$ref: '#/components/schemas/OrderingParametersForCreatedAt'
default: created_at
enum:
- created_at
type: string
- in: query
name: order_direction
required: false
schema:
default: desc
enum:
- asc
- desc
title: Order Direction
type: string
- description: Set the cursor to the next or previous page. You can get the cursor from the previous page's response.
in: query
name: cursor
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Set the cursor to the next or previous page. You can get the cursor from the previous page's response.
title: Cursor for pagination.
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedResponse_EnrichmentAuditLogReadSchema_'
description: Successful Response
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Table not found
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityResponse'
description: Invalid request made to the API.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ServerErrorResponse'
description: Internal server error.
'502':
content:
application/json:
schema:
$ref: '#/components/schemas/ServerErrorResponse'
description: Bad gateway error.
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/ServerErrorResponse'
description: Service unavailable.
security:
- APIKeyHeader: []
- HTTPBearer: []
summary: List a table's enrichment audit trail
tags:
- table-enrichment-audit-logs
components:
schemas:
EnrichmentCostIncurredContextSchema:
description: Context for a run's settled per-column cost.
properties:
cells_failed:
title: Cells Failed
type: integer
cells_no_data:
title: Cells No Data
type: integer
cells_skipped:
title: Cells Skipped
type: integer
cells_succeeded:
title: Cells Succeeded
type: integer
credits_charged:
title: Credits Charged
type: number
run_id:
format: uuid
title: Run Id
type: string
run_status:
title: Run Status
type: string
type:
const: cost_incurred
default: cost_incurred
title: Type
type: string
required:
- run_id
- run_status
- credits_charged
- cells_succeeded
- cells_failed
- cells_skipped
- cells_no_data
title: EnrichmentCostIncurredContextSchema
type: object
EnrichmentAuditLogReadSchema:
description: Read schema for one enrichment audit log entry.
properties:
action:
$ref: '#/components/schemas/TableEnrichmentAuditAction'
actor:
title: Actor
type: string
actor_display_name:
anyOf:
- type: string
- type: 'null'
title: Actor Display Name
actor_type:
$ref: '#/components/schemas/ActorKind'
column_id:
anyOf:
- format: uuid
type: string
- type: 'null'
title: Column Id
context:
discriminator:
mapping:
assistant_applied: '#/components/schemas/AssistantAppliedContextSchema'
assistant_undone: '#/components/schemas/AssistantUndoneContextSchema'
configured: '#/components/schemas/EnrichmentConfiguredContextSchema'
cost_incurred: '#/components/schemas/EnrichmentCostIncurredContextSchema'
edited: '#/components/schemas/EnrichmentEditedContextSchema'
export_configured: '#/components/schemas/ExportConfiguredContextSchema'
export_run_requested: '#/components/schemas/ExportRunRequestedContextSchema'
file_exported: '#/components/schemas/ExportFileDownloadedContextSchema'
run_cancelled: '#/components/schemas/EnrichmentRunCancelledContextSchema'
run_requested: '#/components/schemas/EnrichmentRunRequestedContextSchema'
unrecognised: '#/components/schemas/UnrecognisedEnrichmentContextSchema'
propertyName: type
oneOf:
- $ref: '#/components/schemas/EnrichmentConfiguredContextSchema'
- $ref: '#/components/schemas/EnrichmentEditedContextSchema'
- $ref: '#/components/schemas/EnrichmentRunRequestedContextSchema'
- $ref: '#/components/schemas/EnrichmentRunCancelledContextSchema'
- $ref: '#/components/schemas/EnrichmentCostIncurredContextSchema'
- $ref: '#/components/schemas/ExportConfiguredContextSchema'
- $ref: '#/components/schemas/ExportRunRequestedContextSchema'
- $ref: '#/components/schemas/ExportFileDownloadedContextSchema'
- $ref: '#/components/schemas/AssistantAppliedContextSchema'
- $ref: '#/components/schemas/AssistantUndoneContextSchema'
- $ref: '#/components/schemas/UnrecognisedEnrichmentContextSchema'
title: Context
created_at:
format: date-time
title: Created At
type: string
id:
format: uuid
title: Id
type: string
proposal_id:
anyOf:
- format: uuid
type: string
- type: 'null'
title: Proposal Id
table_id:
format: uuid
title: Table Id
type: string
required:
- id
- table_id
- column_id
- action
- actor_type
- actor
- context
- created_at
title: EnrichmentAuditLogReadSchema
type: object
UnprocessableEntityIssue:
properties:
input:
anyOf:
- type: string
- type: integer
- type: number
- type: boolean
- items: {}
type: array
- additionalProperties: true
type: object
description: The user's input that caused the error.
title: Input
loc:
description: The location of the error. Always contains 1 or 2 elements. The first element is the type of location (e.g. 'body', 'query', 'path', 'header'). The second element is the name of the field that caused the error. If the error is not related to a specific field, the second element is not present.
items:
type: string
title: Loc
type: array
msg:
description: The message of the error. The error message to show to the user.
title: Msg
type: string
type:
description: The type of the error. Useful for frontend code to handle different types of errors.
title: Type
type: string
required:
- loc
- msg
- type
- input
title: UnprocessableEntityIssue
type: object
EnrichmentRunCancelledContextSchema:
description: Context for a run cancellation.
properties:
run_ids:
items:
format: uuid
type: string
title: Run Ids
type: array
type:
const: run_cancelled
default: run_cancelled
title: Type
type: string
withdrawn_request_ids:
description: Runs asked for and not started yet, which the table-wide stop withdrew.
items:
format: uuid
type: string
title: Withdrawn Request Ids
type: array
required:
- run_ids
title: EnrichmentRunCancelledContextSchema
type: object
UnprocessableEntityResponse:
properties:
detail:
description: The detail of the error. This is the error message to show to the user. You should also use the issues field to show more detailed error messages per field. Use this field for a single liner error message.
title: Detail
type: string
issues:
description: The issues that caused the error. There can be multiple issues. Each issue is a user-facing error message.
items:
$ref: '#/components/schemas/UnprocessableEntityIssue'
title: Issues
type: array
required:
- detail
- issues
title: UnprocessableEntityResponse
type: object
AssistantUndoneContextSchema:
description: 'Context for the reversal of an assistant''s change to the table.
History only: undo was taken out of the assistant and nothing writes
this any more. It stays so trails written before that still read back.'
properties:
proposal_id:
anyOf:
- format: uuid
type: string
- type: 'null'
title: Proposal Id
summary:
default: ''
title: Summary
type: string
type:
const: assistant_undone
default: assistant_undone
title: Type
type: string
verb:
default: ''
title: Verb
type: string
title: AssistantUndoneContextSchema
type: object
NotFoundResponse:
properties:
detail:
description: The detail of why the resource was not found.
title: Detail
type: string
required:
- detail
title: NotFoundResponse
type: object
PaginatedResponse_EnrichmentAuditLogReadSchema_:
properties:
data:
description: The list of ResponseItems.
items:
$ref: '#/components/schemas/EnrichmentAuditLogReadSchema'
title: Data
type: array
next_page_cursor:
anyOf:
- type: string
- type: 'null'
description: The cursor to the next page. If there are no more pages, this is None.
previous_page_cursor:
anyOf:
- type: string
- type: 'null'
description: The cursor to the previous page. If there are no previous pages, this is None.
title: PaginatedResponse[EnrichmentAuditLogReadSchema]
type: object
ServerErrorResponse:
properties:
detail:
description: The detail of why the server returned an error.
title: Detail
type: string
required:
- detail
title: ServerErrorResponse
type: object
TableEnrichmentAuditAction:
description: 'Action types for enrichment audit logs.
Beyond the usual created/updated pair, enrichment actions spend
organisational money, so run requests, cancellations and the settled
cost each get their own entry.'
enum:
- configured
- edited
- run_requested
- run_cancelled
- cost_incurred
- assistant_applied
- assistant_undone
title: TableEnrichmentAuditAction
type: string
AssistantAppliedContextSchema:
description: Context for a change the AI Assistant made through a granted workspace action.
properties:
column_display_name:
default: ''
title: Column Display Name
type: string
proposal_id:
anyOf:
- format: uuid
type: string
- type: 'null'
title: Proposal Id
summary:
default: ''
title: Summary
type: string
type:
const: assistant_applied
default: assistant_applied
title: Type
type: string
verb:
default: ''
title: Verb
type: string
title: AssistantAppliedContextSchema
type: object
EnrichmentRunRequestedContextSchema:
description: Context for a run requested at a given scope.
properties:
column_display_name:
title: Column Display Name
type: string
credits_estimated:
anyOf:
- type: number
- type: 'null'
title: Credits Estimated
run_id:
anyOf:
- format: uuid
type: string
- type: 'null'
title: Run Id
scope:
title: Scope
type: string
type:
const: run_requested
default: run_requested
title: Type
type: string
required:
- column_display_name
- scope
title: EnrichmentRunRequestedContextSchema
type: object
ExportConfiguredContextSchema:
description: Context for an export column's creation or reconfiguration.
properties:
batched:
default: false
title: Batched
type: boolean
column_display_name:
default: ''
title: Column Display Name
type: string
export_action:
default: ''
title: Export Action
type: string
integration_id:
anyOf:
- format: uuid
type: string
- type: 'null'
title: Integration Id
integration_type:
default: ''
title: Integration Type
type: string
record_type:
default: ''
title: Record Type
type: string
type:
const: export_configured
default: export_configured
title: Type
type: string
title: ExportConfiguredContextSchema
type: object
UnrecognisedEnrichmentContextSchema:
description: 'A context this build cannot parse.
Read-side only: nothing ever writes it. The trail is append-only and
kept forever, so it will always outlive the code that wrote it: a row
from a newer deploy during a rollout, or one whose model later grew a
field without a default, would otherwise raise and take the whole page
with it. A feed that says "something happened here" beats a feed that
500s.'
properties:
recorded_type:
default: ''
title: Recorded Type
type: string
type:
const: unrecognised
default: unrecognised
title: Type
type: string
title: UnrecognisedEnrichmentContextSchema
type: object
ForbiddenResponse:
properties:
detail:
description: The detail of why the request is forbidden.
title: Detail
type: string
required:
- detail
title: ForbiddenResponse
type: object
EnrichmentAuditFieldChangeSchema:
description: A single field change in an edit.
properties:
field:
title: Field
type: string
new_value:
title: New Value
old_value:
title: Old Value
required:
- field
- old_value
- new_value
title: EnrichmentAuditFieldChangeSchema
type: object
OrderingParametersForCreatedAt:
enum:
- created_at
title: OrderingParametersForCreatedAt
type: string
EnrichmentEditedContextSchema:
description: Context for an enrichment column's edit.
properties:
changes:
items:
$ref: '#/components/schemas/EnrichmentAuditFieldChangeSchema'
title: Changes
type: array
column_display_name:
title: Column Display Name
type: string
type:
const: edited
default: edited
title: Type
type: string
required:
- column_display_name
- changes
title: EnrichmentEditedContextSchema
type: object
UnauthorizedResponse:
properties:
detail:
description: The detail of why the request is unauthorized.
title: Detail
type: string
required:
- detail
title: UnauthorizedResponse
type: object
ExportRunRequestedContextSchema:
description: Context for an export run requested at a given scope.
properties:
column_display_name:
default: ''
title: Column Display Name
type: string
integration_type:
default: ''
title: Integration Type
type: string
record_type:
default: ''
title: Record Type
type: string
run_id:
anyOf:
- format: uuid
type: string
- type: 'null'
title: Run Id
scope:
default: ''
title: Scope
type: string
type:
const: export_run_requested
default: export_run_requested
title: Type
type: string
title: ExportRunRequestedContextSchema
type: object
ExportFileDownloadedContextSchema:
description: Context for a table's file download.
properties:
filename:
default: ''
title: Filename
type: string
format:
default: csv
title: Format
type: string
scope:
default: ''
title: Scope
type: string
table_display_name:
default: ''
title: Table Display Name
type: string
type:
const: file_exported
default: file_exported
title: Type
type: string
title: ExportFileDownloadedContextSchema
type: object
ActorKind:
description: Who authorised an action.
enum:
- user
- api
- system
title: ActorKind
type: string
EnrichmentConfiguredContextSchema:
description: Context for an enrichment column's creation.
properties:
action_key:
title: Action Key
type: string
column_display_name:
title: Column Display Name
type: string
model_key:
anyOf:
- type: string
- type: 'null'
title: Model Key
output_mode:
title: Output Mode
type: string
type:
const: configured
default: configured
title: Type
type: string
required:
- column_display_name
- action_key
- output_mode
title: EnrichmentConfiguredContextSchema
type: object
securitySchemes:
APIKeyHeader:
in: header
name: X-API-Key
type: apiKey
HTTPBearer:
scheme: bearer
type: http