---
updatedAt: 2026-08-06T14:06:46.000Z
agentTools:
  projectIndex: https://docs.noves.fi/llms.txt
---

# Create a transaction export

Creates an export for up to 50 parties the caller can read. Use the returned job URL to check progress.

# OpenAPI definition

```json
{
  "openapi": "3.0.4",
  "info": {
    "title": "Noves App API",
    "description": "Access Canton updates, party data, rewards, accounting data, and other Noves App features.",
    "version": "v1"
  },
  "paths": {
    "/api/v2/transactionExports/jobs": {
      "post": {
        "tags": [
          "Transaction Exports"
        ],
        "summary": "Create a transaction export",
        "description": "Creates an export for up to 50 parties the caller can read. Use the returned job URL to check progress.",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Required UUID used to replay this exact submission safely.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jwt",
            "in": "header",
            "description": "JWT used to authenticate the export owner.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jwt",
            "in": "query",
            "description": "Same JWT as the jwt header; use the header for normal clients.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodeId",
            "in": "query",
            "description": "Configured validator-node identifier. Defaults to the deployment's default node.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodeId",
            "in": "header",
            "description": "Configured validator-node identifier; the query value takes precedence.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CantonDataApp.Api.TransactionExportEndpoints.CreateExportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CantonDataApp.Api.TransactionExportEndpoints.TransactionExportJobResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CantonDataApp.Api.TransactionExportEndpoints.CodedErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/CantonDataApp.Api.ApiErrorResponse"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CantonDataApp.Api.ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CantonDataApp.Api.ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CantonDataApp.Api.ApiErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CantonDataApp.Api.TransactionExportEndpoints.CodedErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CantonDataApp.Api.TransactionExportEndpoints.CodedErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CantonDataApp.Api.ApiErrorResponse"
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CantonDataApp.Api.TransactionExportEndpoints.CodedErrorResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "oneOf": [
                        {
                          "$ref": "#/components/schemas/CantonDataApp.Api.TransactionExportEndpoints.CodedErrorResponse"
                        },
                        {
                          "$ref": "#/components/schemas/CantonDataApp.Database.StartupStatusResponse"
                        }
                      ]
                    },
                    {
                      "$ref": "#/components/schemas/CantonDataApp.Api.QuarantinedNodeResponse"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "CantonDataApp.Api.ApiErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CantonDataApp.Api.QuarantinedNodeResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "nullable": true
          },
          "nodeId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "network": {
            "type": "string",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CantonDataApp.Api.TransactionExportEndpoints.CodedErrorResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "error": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CantonDataApp.Api.TransactionExportEndpoints.CreateExportRequest": {
        "type": "object",
        "properties": {
          "exportType": {
            "type": "string",
            "nullable": true
          },
          "sourceParties": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "fromDate": {
            "type": "string",
            "nullable": true
          },
          "toDate": {
            "type": "string",
            "nullable": true
          },
          "filters": {
            "$ref": "#/components/schemas/CantonDataApp.Api.TransactionExportEndpoints.ExportFiltersDto"
          },
          "dataSource": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CantonDataApp.Api.TransactionExportEndpoints.ExportFiltersDto": {
        "type": "object",
        "properties": {
          "types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "excludeTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "counterparties": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "sortBy": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "string",
            "nullable": true
          },
          "actorOnly": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CantonDataApp.Api.TransactionExportEndpoints.PersistedExportFiltersResponse": {
        "type": "object",
        "properties": {
          "types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "excludeTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "counterparties": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "sortBy": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "string",
            "nullable": true
          },
          "actorOnly": {
            "type": "boolean"
          },
          "projectionsByParty": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CantonDataApp.Api.TransactionExportEndpoints.TransactionExportJobResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "exportType": {
            "type": "string",
            "nullable": true
          },
          "dataSource": {
            "type": "string",
            "nullable": true
          },
          "sourceParties": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "fromDate": {
            "type": "string",
            "nullable": true
          },
          "toDate": {
            "type": "string",
            "nullable": true
          },
          "filters": {
            "$ref": "#/components/schemas/CantonDataApp.Api.TransactionExportEndpoints.PersistedExportFiltersResponse"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "rowCount": {
            "type": "integer",
            "format": "int64"
          },
          "fileSizeBytes": {
            "type": "integer",
            "format": "int64"
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "error": {
            "type": "string",
            "nullable": true
          },
          "errorCode": {
            "type": "string",
            "nullable": true
          },
          "stage": {
            "type": "string",
            "nullable": true
          },
          "attemptCount": {
            "type": "integer",
            "format": "int32"
          },
          "processedRows": {
            "type": "integer",
            "format": "int64"
          },
          "totalRows": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "progressUpdatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "retryable": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CantonDataApp.Database.LifecycleIndexStatusResponse": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string",
            "nullable": true
          },
          "definitionFingerprint": {
            "type": "string",
            "nullable": true
          },
          "ready": {
            "type": "boolean"
          },
          "cursor": {
            "type": "integer",
            "format": "int64"
          },
          "remainingSourceRows": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "CantonDataApp.Database.ReplayNodeStatus": {
        "type": "object",
        "properties": {
          "nodeId": {
            "type": "string",
            "nullable": true
          },
          "currentOffset": {
            "type": "integer",
            "format": "int64"
          },
          "targetOffset": {
            "type": "integer",
            "format": "int64"
          },
          "status": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CantonDataApp.Database.StartupReplayResponse": {
        "type": "object",
        "properties": {
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CantonDataApp.Database.ReplayNodeStatus"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CantonDataApp.Database.StartupStatusResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "phase": {
            "type": "string",
            "nullable": true
          },
          "phaseNumber": {
            "type": "integer",
            "format": "int32"
          },
          "totalPhases": {
            "type": "integer",
            "format": "int32"
          },
          "startedAt": {
            "type": "string",
            "nullable": true
          },
          "elapsedSeconds": {
            "type": "integer",
            "format": "int32"
          },
          "error": {
            "type": "string",
            "nullable": true
          },
          "schemaVersion": {
            "type": "string",
            "nullable": true
          },
          "targetSchemaVersion": {
            "type": "string",
            "nullable": true
          },
          "bootstrapSource": {
            "type": "string",
            "nullable": true
          },
          "bootstrapVersion": {
            "type": "string",
            "nullable": true
          },
          "pendingMigrations": {
            "type": "integer",
            "format": "int32"
          },
          "lastMigrationDurationMs": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "dataMigrations": {
            "type": "array",
            "items": {},
            "nullable": true
          },
          "replay": {
            "$ref": "#/components/schemas/CantonDataApp.Database.StartupReplayResponse"
          },
          "lifecycleIndexes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CantonDataApp.Database.LifecycleIndexStatusResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Mvc.ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": {}
      }
    }
  },
  "tags": [
    {
      "name": "Transaction Exports",
      "description": "Create and download transaction export jobs."
    }
  ]
}
```