Board Export Other Types

Input objects, result types, and enums used by create_board_export and export_job_status

ExportAsyncJob

🚧

Only available in API versions 2026-10 and later

Returned by create_board_export. Poll export_job_status with the job's job_id until the status is COMPLETED, FAILED, or CANCELLED.

FieldTypeDescription
job_idIDOpaque identifier for the export job. Pass it to export_job_status to poll for the result.

ExportFile

🚧

Only available in API versions 2026-10 and later

A completed board export, ready to download. Returned as one branch of ExportResult when the export finished within the synchronous window.

FieldTypeDescription
download_urlStringPresigned URL to download the exported file. Treat it as a secret — anyone holding it can download the file until it expires.
expires_atStringWhen download_url stops working, as an ISO 8601 timestamp. The URL cannot be refreshed; call the mutation again for a new one.

CreateBoardExportOptionsInput

🚧

Only available in API versions 2026-10 and later

Optional export configuration, passed to create_board_export. Every field is optional; omitting the whole object exports the board with the defaults below.

FieldTypeDefaultDescription
include_subitemsBooleanfalseInclude subitems in the export.
include_item_identifiersBooleanfalseAppend item_id — and parent_item_id when include_subitems is true — as the last columns. Needed to match exported rows back to items.
header_rowHeaderFormatCOLUMN_IDWhether the header row uses column titles or column IDs. Defaults to COLUMN_ID when omitted.
people_column_formatPeopleColumnFormat—Output format for people column values. Omit to keep the raw ID form.
connected_item_column_formatConnectedItemColumnFormatNAMEWhether connected items (Connect boards) render as names or IDs.
columns_order[String!]—Column IDs in the order you want them in the file. This also filters — see the note below. Omit it to export every column in the board's own order.
include_project_board_linkBoolean—Add a trailing Project Board column with the board ID of the project board connected to each row through its portfolio project-link column (portfolio_project_link). Resolves to the first linked project's board ID; blank when the row has no linked project. Ignored for non-CSV formats and where not available to the account. Only available in versions 2027-01 and later.
⚠️

columns_order selects columns as well as ordering them. Any column you do not list is left out of the export entirely — it is not appended at the end. To reorder a board without losing columns, list every column ID you want.

The item name and subitems columns are the exception: they are always placed first, whether or not you list them.


ExportResult

🚧

Only available in API versions 2026-10 and later

A union returned by create_board_export. It is either a finished export you can download immediately, or a reference to a job that is still running.

union ExportResult = ExportAsyncJob | ExportFile

The server decides which member to return based on board size and current load. Which branch you get is not part of the contract and can change without notice, so your query must handle both. Select both members with inline fragments:

mutation {
  create_board_export(board_id: 1234567890) {
    ... on ExportFile {
      download_url
      expires_at
    }
    ... on ExportAsyncJob {
      job_id
    }
  }
}
MemberMeaning
ExportFileThe export already finished. Use download_url right away.
ExportAsyncJobThe export is still running. Poll export_job_status with job_id until it is terminal.

There is no error member. Problems surface either as a GraphQL error (if the request is rejected before the export starts) or as a FAILED status on export_job_status (if it fails after starting).


HeaderFormat

🚧

Only available in API versions 2026-10 and later

Format of the header row in an exported file. Used by CreateBoardExportOptionsInput.header_row.

ValueDescription
TITLEUse column titles as headers. Human-readable, but titles are not unique and can be renamed at any time.
COLUMN_IDUse column IDs as headers. Stable identifiers — use this when the file will be re-imported or processed by a script.

ConnectedItemColumnFormat

🚧

Only available in API versions 2026-10 and later

Output format for connected items (Connect boards) column values. Used by CreateBoardExportOptionsInput.connected_item_column_format.

ValueDescription
NAMEUse the linked items' display names (e.g. Task A, Task B). This is the default.
IDUse the linked items' IDs (e.g. 111, 222). Use this when the export needs to be joined back to items.

PeopleColumnFormat

🚧

Only available in API versions 2026-10 and later

Output format for people column values. Used by CreateBoardExportOptionsInput.people_column_format.

ValueDescription
NAMEUse display names (e.g. Jordan Lee, Marketing Team) instead of the raw ID form (e.g. user:123).

Omit the option entirely to keep the raw ID form, which is what you want if the values need to be resolved back to specific users or teams.


ExportJobStatusInfo

🚧

Only available in API versions 2026-10 and later

The current state of an async board export job. Returned by export_job_status.

FieldTypeDescription
statusExportJobStatusCurrent status of the job. COMPLETED, FAILED, and CANCELLED are terminal — stop polling when you see one.
download_urlStringPresigned download URL. Populated only while status is COMPLETED and the URL has not expired; it becomes null afterwards. Run the export again to get a fresh one.
failure_reasonExportFailureReasonStructured reason the job failed. Populated only when status is FAILED. Branch on this rather than on failure_message.
failure_messageStringHuman-readable error detail, when the failure exposes text that is safe to show. Populated only when status is FAILED, and may be null even then.

Note that a COMPLETED job can still return a null download_url if you poll after the URL has expired, so check for null before using it.


ExportJobStatus

🚧

Only available in API versions 2026-10 and later

Lifecycle status of an async board export job. Used by ExportJobStatusInfo.status.

ValueTerminalDescription
RUNNINGNoThe export is still in progress. Keep polling.
COMPLETEDYesThe export finished successfully. Read download_url.
FAILEDYesThe export failed. Read failure_reason, and failure_message when present.
CANCELLEDYesThe export was cancelled.

Treat any unrecognized value as terminal so a future addition cannot leave your client polling forever.


ExportFailureReason

🚧

Only available in API versions 2026-10 and later

Structured reason an async board export job failed. Used by ExportJobStatusInfo.failure_reason.

ValueRetryableDescription
BOARD_UNAVAILABLENoThe board was deleted or archived.
BOARD_INACCESSIBLENoThe caller lost permission to read the board.
ITEM_LIMIT_EXCEEDEDNoThe board has more items than the export limit allows.
INVALID_REQUESTNoThe request was rejected during validation — for example, an unsupported combination of export options. Fix the request before retrying.
NOT_FOUNDNoThe board, or something it referenced, could not be found.
INTERNAL_ERRORYesAn unexpected internal error occurred. Retrying the mutation is reasonable.

See also