openapi: 3.0.3 info: title: Axiom Annotations Virtual Fields API description: 'Axiom is a log management, event data, and observability platform. This OpenAPI document describes Axiom''s public REST API, which ingests logs, traces, and events into datasets and queries them with the Axiom Processing Language (APL). Axiom exposes two endpoint families: the v1 family (datasets, ingest, APL query, fields, current user) and the v2 family (annotations, monitors, notifiers, dashboards, virtual fields, starred queries, tokens, users). The default base domain is https://api.axiom.co for the US region; EU organizations use https://api.eu.axiom.co. All requests authenticate with a Bearer token (an API token or a Personal Access Token). Personal Access Tokens additionally require an x-axiom-org-id header. Endpoints marked x-endpoint-status "confirmed" were verified against Axiom''s published API reference; those marked "modeled" are represented from the documentation index and reference conventions and should be reconciled against the live reference.' version: '1.0' contact: name: Axiom url: https://axiom.co license: name: Proprietary url: https://axiom.co/terms servers: - url: https://api.axiom.co description: US region (default) - url: https://api.eu.axiom.co description: EU region security: - bearerAuth: [] tags: - name: Virtual Fields description: Derived fields computed from an APL expression at query time. paths: /v2/vfields: get: operationId: getVirtualFields tags: - Virtual Fields summary: List virtual fields description: List all virtual fields for the specified dataset. x-endpoint-status: confirmed parameters: - name: dataset in: query required: true schema: type: string description: The dataset to list virtual fields for. responses: '200': description: A list of virtual fields. content: application/json: schema: type: array items: $ref: '#/components/schemas/VirtualField' '403': $ref: '#/components/responses/Forbidden' post: operationId: createVirtualField tags: - Virtual Fields summary: Create a virtual field x-endpoint-status: modeled requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VirtualField' responses: '200': description: The created virtual field. content: application/json: schema: $ref: '#/components/schemas/VirtualField' '403': $ref: '#/components/responses/Forbidden' /v2/vfields/{id}: parameters: - $ref: '#/components/parameters/ResourceId' get: operationId: getVirtualField tags: - Virtual Fields summary: Get a virtual field x-endpoint-status: modeled responses: '200': description: The requested virtual field. content: application/json: schema: $ref: '#/components/schemas/VirtualField' '403': $ref: '#/components/responses/Forbidden' put: operationId: updateVirtualField tags: - Virtual Fields summary: Update a virtual field x-endpoint-status: modeled requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VirtualField' responses: '200': description: The updated virtual field. content: application/json: schema: $ref: '#/components/schemas/VirtualField' '403': $ref: '#/components/responses/Forbidden' delete: operationId: deleteVirtualField tags: - Virtual Fields summary: Delete a virtual field x-endpoint-status: modeled responses: '204': description: The virtual field was deleted. '403': $ref: '#/components/responses/Forbidden' components: schemas: VirtualField: type: object properties: id: type: string dataset: type: string name: type: string expression: type: string description: The APL expression evaluated at query time. description: type: string type: type: string Error: type: object properties: message: type: string example: rate limit exceeded parameters: ResourceId: name: id in: path required: true schema: type: string description: The resource ID. responses: Forbidden: description: Authentication failed or the token lacks the required scope. content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: bearerAuth: type: http scheme: bearer description: Bearer token authentication using an Axiom API token or Personal Access Token (PAT). PAT-authenticated requests must also send the x-axiom-org-id header.