openapi: 3.2.0 info: version: v2.222.1 title: Corva Audits API description: 'The Corva API is a powerful interface providing great flexibility and extensibility with Corva. Whether your needs are simple UI visualizations, data entry, replication/sync tasks, real-time stream processing, or complex machine learning CPU-intensive apps, the Corva API is the way to make it happen. Our concepts are split into three distinct silos: data apps, visualization apps, and a REST API' termsOfService: https://www.corva.ai/terms-and-conditions/ contact: name: Corva API Team email: support@corva.ai security: - api_key: [] tags: - name: Audits paths: /v2/dataset_audits: get: summary: List Dataset Audits tags: - Audits responses: '401': description: Authentication error content: application/json: schema: $ref: '#/components/schemas/AuthenticationError' '403': description: Authorization error content: application/json: schema: $ref: '#/components/schemas/AuthorizationError' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '200': type: object description: Successful response content: application/json: schema: $ref: '#/components/schemas/DatasetAuditList' parameters: - in: query name: action_name description: Search by action schema: type: string - in: query name: user_email description: Searches by user email schema: type: string - in: query name: start description: Filter by event time (Unix timestamp) schema: type: integer format: timestamp - in: query name: end description: Filter by event time (Unix timestamp) schema: type: integer format: timestamp - in: query name: permission_workflow description: Filter by Permission column schema: type: string enum: - read - write - read_and_write - delete - in: query name: name description: Searches by dataset name schema: type: string - in: query name: company_id description: Filter by company schema: type: integer - in: query name: data_type description: Filter by data_type schema: type: string - in: query name: sort description: 'One or more fields to sort by. Prefix with a - for descending order. Ex: action, -created_at' schema: type: string enum: - action - created_at - in: query name: order description: A sorting direction schema: type: string enum: - asc - desc default: asc operationId: getV2DatasetAudits x-operation-id-source: derived /v2/permission_audits: get: summary: List Permission Audits tags: - Audits responses: '401': description: Authentication error content: application/json: schema: $ref: '#/components/schemas/AuthenticationError' '403': description: Authorization error content: application/json: schema: $ref: '#/components/schemas/AuthorizationError' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '200': type: object description: Successful response content: application/json: schema: $ref: '#/components/schemas/PermissionAuditList' parameters: - in: query name: action_name description: Search by action schema: type: string - in: query name: user_email description: Searches by user email schema: type: string - in: query name: ability description: Search by ability schema: type: string - in: query name: owner_name description: Search by owner name schema: type: string - in: query name: company_id description: Filter by company schema: type: integer - in: query name: start description: Search by start time as a Unix timestamp schema: type: integer format: timestamp - in: query name: end description: Search by end time as a Unix timestamp schema: type: integer format: timestamp - in: query name: page description: Number of page schema: type: integer - in: query name: per_page description: Number of items to list per page schema: type: integer - in: query name: sort description: 'One or more fields to sort by. Prefix with a - for descending order. Ex: action, -created_at' schema: type: string enum: - action - created_at - in: query name: order description: A sorting direction schema: type: string enum: - asc - desc default: asc operationId: getV2PermissionAudits x-operation-id-source: derived /v2/group_membership_audits: get: summary: List Group Membership Audits tags: - Audits responses: '401': description: Authentication error content: application/json: schema: $ref: '#/components/schemas/AuthenticationError' '403': description: Authorization error content: application/json: schema: $ref: '#/components/schemas/AuthorizationError' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '200': type: object description: Successful response content: application/json: schema: $ref: '#/components/schemas/GroupMembershipAuditList' parameters: - in: query name: action_name description: Search by action (add, remove) schema: type: string - in: query name: user_email description: Searches by performer email schema: type: string - in: query name: target_user_email description: Search by target user email schema: type: string - in: query name: group_name description: Search by group name schema: type: string - in: query name: company_id description: Filter by company schema: type: integer - in: query name: start description: Search by start time as a Unix timestamp schema: type: integer format: timestamp - in: query name: end description: Search by end time as a Unix timestamp schema: type: integer format: timestamp - in: query name: page description: Number of page schema: type: integer - in: query name: per_page description: Number of items to list per page schema: type: integer - in: query name: sort description: 'One or more fields to sort by. Prefix with a - for descending order. Ex: action, -created_at' schema: type: string enum: - action - created_at - in: query name: order description: A sorting direction schema: type: string enum: - asc - desc default: asc operationId: getV2GroupMembershipAudits x-operation-id-source: derived /v2/provisioning_subscription_audits: get: summary: List ProvisioningSubscription Audits tags: - Audits responses: '401': description: Authentication error content: application/json: schema: $ref: '#/components/schemas/AuthenticationError' '403': description: Authorization error content: application/json: schema: $ref: '#/components/schemas/AuthorizationError' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '200': type: object description: Successful response content: application/json: schema: $ref: '#/components/schemas/ProvisioningSubscriptionAuditList' parameters: - in: query name: action_name description: Search by action schema: type: string - in: query name: user_email description: Searches by user email schema: type: string - in: query name: status description: Filter by status schema: type: string - in: query name: segment description: Filter by segment schema: type: string - in: query name: company_id description: Filter by company schema: type: integer - in: query name: start description: Search by start time as a Unix timestamp schema: type: integer format: timestamp - in: query name: end description: Search by end time as a Unix timestamp schema: type: integer format: timestamp - in: query name: page description: Number of page schema: type: integer - in: query name: per_page description: Number of items to list per page schema: type: integer - in: query name: sort description: 'One or more fields to sort by. Prefix with a - for descending order. Ex: action, -created_at' schema: type: string enum: - action - created_at - in: query name: order description: A sorting direction schema: type: string enum: - asc - desc default: asc operationId: getV2ProvisioningSubscriptionAudits x-operation-id-source: derived /v2/platform_subscription_audits: get: summary: List PlatformSubscription Audits tags: - Audits responses: '401': description: Authentication error content: application/json: schema: $ref: '#/components/schemas/AuthenticationError' '403': description: Authorization error content: application/json: schema: $ref: '#/components/schemas/AuthorizationError' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '200': type: object description: Successful response content: application/json: schema: $ref: '#/components/schemas/PlatformSubscriptionAuditList' parameters: - in: query name: action_name description: Search by action schema: type: string - in: query name: user_email description: Searches by user email schema: type: string - in: query name: status description: Filter by status schema: type: string - in: query name: segment description: Filter by segment schema: type: string - in: query name: company_id description: Filter by company schema: type: integer - in: query name: start description: Search by start time as a Unix timestamp schema: type: integer format: timestamp - in: query name: end description: Search by end time as a Unix timestamp schema: type: integer format: timestamp - in: query name: page description: Number of page schema: type: integer - in: query name: per_page description: Number of items to list per page schema: type: integer - in: query name: sort description: 'One or more fields to sort by. Prefix with a - for descending order. Ex: action, -created_at' schema: type: string enum: - action - created_at - in: query name: order description: A sorting direction schema: type: string enum: - asc - desc default: asc operationId: getV2PlatformSubscriptionAudits x-operation-id-source: derived /v2/purchase_subscription_audits: get: summary: List PurchaseSubscription Audits tags: - Audits responses: '401': description: Authentication error content: application/json: schema: $ref: '#/components/schemas/AuthenticationError' '403': description: Authorization error content: application/json: schema: $ref: '#/components/schemas/AuthorizationError' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '200': type: object description: Successful response content: application/json: schema: $ref: '#/components/schemas/PurchaseSubscriptionAuditList' parameters: - in: query name: action_name description: Search by action schema: type: string - in: query name: user_email description: Searches by user email schema: type: string - in: query name: status description: Filter by status schema: type: string - in: query name: segment description: Filter by segment schema: type: string - in: query name: company_id description: Filter by company schema: type: integer - in: query name: start description: Search by start time as a Unix timestamp schema: type: integer format: timestamp - in: query name: end description: Search by end time as a Unix timestamp schema: type: integer format: timestamp - in: query name: page description: Number of page schema: type: integer - in: query name: per_page description: Number of items to list per page schema: type: integer - in: query name: sort description: 'One or more fields to sort by. Prefix with a - for descending order. Ex: action, -created_at' schema: type: string enum: - action - created_at - in: query name: order description: A sorting direction schema: type: string enum: - asc - desc default: asc operationId: getV2PurchaseSubscriptionAudits x-operation-id-source: derived /v2/package_audits: get: summary: List Package Audits tags: - Audits responses: '401': description: Authentication error content: application/json: schema: $ref: '#/components/schemas/AuthenticationError' '403': description: Authorization error content: application/json: schema: $ref: '#/components/schemas/AuthorizationError' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '200': type: object description: Successful response content: application/json: schema: $ref: '#/components/schemas/PackageAuditList' parameters: - in: query name: action_name description: Filter by action schema: type: string - in: query name: user_email description: Searches by user email schema: type: string - in: query name: status description: Filter by status schema: type: string - in: query name: company_id description: Filter by company schema: type: integer - in: query name: app_name description: Filter by app name schema: type: string - in: query name: start description: Search by start time as a Unix timestamp schema: type: integer format: timestamp - in: query name: end description: Search by end time as a Unix timestamp schema: type: integer format: timestamp - in: query name: page description: Number of page schema: type: integer - in: query name: per_page description: Number of items to list per page schema: type: integer - in: query name: sort description: 'One or more fields to sort by. Prefix with a - for descending order. Ex: action, -created_at' schema: type: string enum: - action - created_at - in: query name: order description: A sorting direction schema: type: string enum: - asc - desc default: asc operationId: getV2PackageAudits x-operation-id-source: derived /v2/api_key_audits: get: summary: List ApiKey Audits tags: - Audits responses: '401': description: Authentication error content: application/json: schema: $ref: '#/components/schemas/AuthenticationError' '403': description: Authorization error content: application/json: schema: $ref: '#/components/schemas/AuthorizationError' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '200': type: object description: Successful response content: application/json: schema: $ref: '#/components/schemas/ApiKeyAuditList' parameters: - in: query name: action_name description: Filter by action schema: type: string - in: query name: user_email description: Searches by user email schema: type: string - in: query name: status description: Filter by status schema: type: string - in: query name: company_id description: Filter by company schema: type: integer - in: query name: start description: Search by start time as a Unix timestamp schema: type: integer format: timestamp - in: query name: end description: Search by end time as a Unix timestamp schema: type: integer format: timestamp - in: query name: page description: Number of page schema: type: integer - in: query name: per_page description: Number of items to list per page schema: type: integer - in: query name: sort description: 'One or more fields to sort by. Prefix with a - for descending order. Ex: action, -created_at' schema: type: string enum: - action - created_at - in: query name: order description: A sorting direction schema: type: string enum: - asc - desc default: asc operationId: getV2ApiKeyAudits x-operation-id-source: derived components: schemas: DatasetAudit: properties: data: type: object properties: id: type: integer format: int64 type: type: string attributes: type: object properties: id: type: integer format: int64 action: type: string user_email: type: string comment: type: string name: type: string description: type: string data_type: type: string plottable: type: boolean schema: type: object permission_workflow: type: array created_at: type: string format: date-time relationships: type: object properties: company: type: object properties: data: type: object properties: id: type: integer type: type: string example: data: id: 12345 type: dataset_audit attributes: id: 12345 action: create user_email: example@corva.com comment: Dataset is created name: provider#dataset-name description: Description of the dataset data_type: time plottable: false schema: {} permission_workflow: - read - write - delete created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company ProvisioningSubscriptionAuditIndex: properties: id: type: integer format: int64 type: type: string attributes: type: object properties: id: type: integer format: int64 action: type: string user_email: type: string comment: type: string name: type: string uuid: type: string status: type: string segment: type: string features: type: object price: type: string asset_type: type: string new_subscription_version_id: type: integer format: int64 provider_company_id: type: integer format: int64 activated_at: type: string format: date-time cancelled_at: type: string format: date-time created_at: type: string format: date-time relationships: type: object properties: company: type: object properties: data: type: object properties: id: type: integer type: type: string example: id: 12345 type: subscription_audit attributes: id: 12345 action: create user_email: example@corva.com comment: ProvisioningSubscription is created name: Subscription Name uuid: bb80a91f-3363-4a7d-88c1-382c48d1260b status: active segment: drilling features: {} price: '9.99' asset_type: company new_subscription_version_id: 12346 provider_company_id: 12346 activated_at: '2022-11-11T09:11:52.326Z' cancelled_at: '2022-11-11T09:11:52.326Z' created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company ApiKeyAuditList: properties: data: type: array items: $ref: '#/components/schemas/ApiKeyAuditIndex' included: type: array items: properties: id: type: integer type: type: string attributes: type: object example: data: - id: 12345 type: api_key_audit attributes: id: 12345 action: create user_email: example@corva.com status: active name: ApiKey name created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company included: - id: 12345 type: company attributes: id: 12345 name: Corva DatasetAuditList: properties: data: type: array items: $ref: '#/components/schemas/DatasetAudit' example: data: - id: 12345 type: dataset_audit attributes: id: 12345 action: create user_email: example@corva.com name: provider#dataset-name description: Description of the dataset data_type: time plottable: false schema: {} permission_workflow: - read - write - delete created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company PlatformSubscriptionAuditIndex: properties: id: type: integer format: int64 type: type: string attributes: type: object properties: id: type: integer format: int64 action: type: string user_email: type: string comment: type: string name: type: string uuid: type: string status: type: string segment: type: string features: type: object price: type: string asset_type: type: string new_subscription_version_id: type: integer format: int64 provider_company_id: type: integer format: int64 activated_at: type: string format: date-time cancelled_at: type: string format: date-time created_at: type: string format: date-time relationships: type: object properties: company: type: object properties: data: type: object properties: id: type: integer type: type: string example: id: 12345 type: subscription_audit attributes: id: 12345 action: create user_email: example@corva.com comment: PlatformSubscription is created name: Subscription Name uuid: bb80a91f-3363-4a7d-88c1-382c48d1260b status: active segment: drilling features: {} price: '9.99' asset_type: company new_subscription_version_id: 12346 provider_company_id: 12346 activated_at: '2022-11-11T09:11:52.326Z' cancelled_at: '2022-11-11T09:11:52.326Z' created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company AuthenticationError: required: - code - message properties: code: type: integer format: int32 message: type: string example: code: 401 message: Missing authentication. Please try again. PlatformSubscriptionAuditList: properties: data: type: array items: $ref: '#/components/schemas/PlatformSubscriptionAuditIndex' included: type: array items: properties: id: type: integer type: type: string attributes: type: object example: data: - id: 12345 type: subscription_audit attributes: id: 12345 action: create user_email: example@corva.com comment: PlatformSubscription is created name: Subscription Name uuid: bb80a91f-3363-4a7d-88c1-382c48d1260b status: active segment: drilling features: {} price: '9.99' asset_type: company new_subscription_version_id: 12346 provider_company_id: 12346 activated_at: '2022-11-11T09:11:52.326Z' cancelled_at: '2022-11-11T09:11:52.326Z' created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company included: - id: 12345 type: company attributes: id: 12345 name: Corva GroupMembershipAuditList: properties: data: type: array items: $ref: '#/components/schemas/GroupMembershipAuditIndex' included: type: array items: properties: id: type: integer type: type: string attributes: type: object example: data: - id: 12345 type: group_membership_audit attributes: id: 12345 action: add user_email: admin@corva.com comment: null target_user_email: user@corva.com target_user_name: John Doe group_name: admin group_id: 678 created_at: '2026-03-12T09:11:52.326Z' relationships: company: data: id: 12345 type: company included: - id: 12345 type: company attributes: id: 12345 name: Corva PackageAuditIndex: properties: id: type: integer format: int64 type: type: string attributes: type: object properties: id: type: integer format: int64 action: type: string user_email: type: string comment: type: string app_name: type: string app_version: type: string status: type: string api_key_id: type: string created_at: type: string format: date-time relationships: type: object properties: company: type: object properties: data: type: object properties: id: type: integer type: type: string example: id: 12345 type: package_audit attributes: id: 12345 action: create user_email: example@corva.com comment: Package is uploaded app_name: App name app_version: 0.0.1 status: published api_key_id: '123' created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company ProvisioningSubscriptionAuditList: properties: data: type: array items: $ref: '#/components/schemas/ProvisioningSubscriptionAuditIndex' included: type: array items: properties: id: type: integer type: type: string attributes: type: object example: data: - id: 12345 type: subscription_audit attributes: id: 12345 action: create user_email: example@corva.com comment: ProvisioningSubscription is created name: Subscription Name uuid: bb80a91f-3363-4a7d-88c1-382c48d1260b status: active segment: drilling features: {} price: '9.99' asset_type: company new_subscription_version_id: 12346 provider_company_id: 12346 activated_at: '2022-11-11T09:11:52.326Z' cancelled_at: '2022-11-11T09:11:52.326Z' created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company included: - id: 12345 type: company attributes: id: 12345 name: Corva PurchaseSubscriptionAuditList: properties: data: type: array items: $ref: '#/components/schemas/PurchaseSubscriptionAuditIndex' included: type: array items: properties: id: type: integer type: type: string attributes: type: object example: data: - id: 12345 type: subscription_audit attributes: id: 12345 action: create user_email: example@corva.com comment: PurchaseSubscription is created name: Subscription Name uuid: bb80a91f-3363-4a7d-88c1-382c48d1260b status: active segment: drilling features: {} price: '9.99' asset_type: company new_subscription_version_id: 12346 provider_company_id: 12346 activated_at: '2022-11-11T09:11:52.326Z' cancelled_at: '2022-11-11T09:11:52.326Z' created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company included: - id: 12345 type: company attributes: id: 12345 name: Corva ApiKeyAuditIndex: properties: id: type: integer format: int64 type: type: string attributes: type: object properties: id: type: integer format: int64 action: type: string user_email: type: string status: type: string name: type: string created_at: type: string format: date-time relationships: type: object properties: company: type: object properties: data: type: object properties: id: type: integer type: type: string PurchaseSubscriptionAuditIndex: properties: id: type: integer format: int64 type: type: string attributes: type: object properties: id: type: integer format: int64 action: type: string user_email: type: string comment: type: string name: type: string uuid: type: string status: type: string segment: type: string features: type: object price: type: string asset_type: type: string new_subscription_version_id: type: integer format: int64 provider_company_id: type: integer format: int64 activated_at: type: string format: date-time cancelled_at: type: string format: date-time created_at: type: string format: date-time relationships: type: object properties: company: type: object properties: data: type: object properties: id: type: integer type: type: string example: id: 12345 type: subscription_audit attributes: id: 12345 action: create user_email: example@corva.com comment: PurchaseSubscription is created name: Subscription Name uuid: bb80a91f-3363-4a7d-88c1-382c48d1260b status: active segment: drilling features: {} price: '9.99' asset_type: company new_subscription_version_id: 12346 provider_company_id: 12346 activated_at: '2022-11-11T09:11:52.326Z' cancelled_at: '2022-11-11T09:11:52.326Z' created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company AuthorizationError: required: - code - message properties: code: type: integer format: int32 message: type: string example: code: 403 message: Access denied GroupMembershipAuditIndex: properties: id: type: integer format: int64 type: type: string attributes: type: object properties: id: type: integer format: int64 action: type: string user_email: type: string comment: type: string target_user_email: type: string target_user_name: type: string group_name: type: string group_id: type: integer format: int64 created_at: type: string format: date-time relationships: type: object properties: company: type: object properties: data: type: object properties: id: type: integer type: type: string example: id: 12345 type: group_membership_audit attributes: id: 12345 action: add user_email: admin@corva.com comment: null target_user_email: user@corva.com target_user_name: John Doe group_name: admin group_id: 678 created_at: '2026-03-12T09:11:52.326Z' relationships: company: data: id: 12345 type: company PermissionAuditIndex: properties: id: type: integer format: int64 type: type: string attributes: type: object properties: id: type: integer format: int64 action: type: string user_email: type: string comment: type: string ability: type: string resource_class: type: string friendly_name: type: string owner_type: type: string owner_id: type: integer format: int64 owner_name: type: string owner_email: type: string created_at: type: string format: date-time relationships: type: object properties: company: type: object properties: data: type: object properties: id: type: integer type: type: string example: id: 12345 type: permission_audit attributes: id: 12345 action: create user_email: example@corva.com comment: Permission has been created ability: read resource_class: User friendly_name: Read one user owner_type: User owner_id: 12345 owner_name: John Doe owner_email: user@corva.ai created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company PermissionAuditList: properties: data: type: array items: $ref: '#/components/schemas/PermissionAuditIndex' included: type: array items: properties: id: type: integer type: type: string attributes: type: object example: data: - id: 12345 type: permission_audit attributes: id: 12345 action: create user_email: example@corva.com comment: Permission has been created ability: read resource_class: User friendly_name: Read one user owner_type: User owner_id: 12345 owner_name: John Doe owner_email: user@corva.ai created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company included: - id: 12345 type: company attributes: id: 12345 name: Corva NotFoundError: required: - code - message properties: code: type: integer format: int32 message: type: string example: code: 404 message: Not found PackageAuditList: properties: data: type: array items: $ref: '#/components/schemas/PackageAuditIndex' included: type: array items: properties: id: type: integer type: type: string attributes: type: object example: data: - id: 12345 type: package_audit attributes: id: 12345 action: create user_email: example@corva.com comment: Package is uploaded app_name: App name app_version: 0.0.1 status: published api_key_id: 123 created_at: '2022-11-11T09:11:52.326Z' relationships: company: data: id: 12345 type: company included: - id: 12345 type: company attributes: id: 12345 name: Corva securitySchemes: api_key: type: apiKey name: authorization in: header