Oneprofile Table Enrichment Audit Logs API

The durable audit trail of a table's enrichment actions: configured, edited, run, cancelled, and settled cost.

GitHub OpenAPI

Operations 1

GET /tables/{table_id}/enrichment-audit-logs/ List a table's enrichment audit trail #

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/getoneprofile-ai:getoneprofile-ai-table-enrichment-audit-logs-api"
All apis
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.

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

getoneprofile-ai-table-enrichment-audit-logs-api-openapi.yml Raw ↑
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