Skip to main content

Todoist Migration Guide

Upgrading to 0.4.0​

Todoist retired its REST API v2 (https://api.todoist.com/rest/v2). Every request to it now returns HTTP 410 Gone with the body "This endpoint is deprecated", so all versions of this connector before 0.4.0 fail on every sync and on every connection test.

Version 0.4.0 reads the tasks and projects streams from the Todoist API v1 (https://api.todoist.com/api/v1) instead, using its cursor-based pagination. Your existing API token keeps working; no configuration change is needed.

This is a breaking change because Todoist API v1 returns the records in a different shape:

  • New ID format. id, project_id, section_id, parent_id and user IDs are the new Todoist v1 identifiers, which are different values from the numeric-string IDs returned by REST API v2. Rows synced before the upgrade cannot be joined to rows synced after it. Todoist offers an ID mappings endpoint to translate old IDs to new ones if you need to reconcile historical data.
  • Renamed and removed fields (listed below).

Field changes in tasks​

REST API v2 fieldAPI v1 field
is_completedchecked
comment_countnote_count
created_atadded_at
creator_idadded_by_uid
assignee_idresponsible_uid
assigner_idassigned_by_uid
orderchild_order
duration (string)duration (object with amount and unit)
urlremoved

New fields: user_id, deadline, is_deleted, is_collapsed, completed_at, completed_by_uid, updated_at, order_key, day_order, completed_count, postponed_count.

Field changes in projects​

REST API v2 fieldAPI v1 field
is_inbox_projectinbox_project
orderchild_order
comment_countremoved
is_team_inboxremoved
urlremoved

New fields: description, order_key, is_collapsed, is_archived, is_deleted, is_frozen, can_assign_tasks, can_comment, creator_uid, created_at, updated_at, default_order, default_order_key, public_key, access, role, and, for workspace projects, workspace_id, folder_id, status, collaborator_role_default, is_invite_only, is_link_sharing_enabled, is_pending_default_collaborator_invites, is_project_insights_enabled.

Who is affected​

All users of this connector. Both streams are affected, and syncs on versions before 0.4.0 are already failing because the upstream API no longer exists.

Migration steps​

  1. Upgrade the connector to 0.4.0.
  2. Open each Todoist connection, go to Schema and click Refresh source schema, then save the connection.
  3. Clear the tasks and projects streams so the destination tables are rebuilt with the new schema and IDs.
  4. Run a sync.
  5. Update downstream queries that reference renamed or removed columns (see the tables above) or that join on Todoist IDs.

Connector upgrade guide​

Review the following information to prepare for and execute your upgrade.

Review the changelog​

Before updating a connector, review the changelog to understand the changes and their potential impact on your existing connections. Find the changelog for any connector by navigating to the bottom of the documentation for that connector. Major version releases also include a migration guide.

Plan for major updates​

Major updates may require you to adjust connection settings or even make changes to your data pipelines. Allocate enough time and resources for this. Use the migration guide to ensure your transition process goes smoothly.

Airbyte provides tooling that guarantees safe connector version bumps and enforces automated version bumps for minor and patch updates. You always need to manually update for major version bumps.

Self-managed plans: pin a specific version if you can't update​

If you're unable to upgrade to the new version of a connector, you can pin that connector to a specific version.

  1. In the navigation bar:

    • If you're on the Self-Managed Enterprise plan, click Organization settings > Sources/Destinations.

    • If you're on any other plan, click Workspace settings > Sources/Destinations.

  2. Edit the entry for the connector you want to pin.

  3. Set the Default Version to the version you want to use.

Self-managed plans: update the local connector image​

If you self-manage Airbyte, you must manually update the connector image in your local registry before proceeding with the migration. Follow the steps below.

  1. In the navigation bar:

    • If you're on the Self-Managed Enterprise plan, click Organization settings > Sources/Destinations.

    • If you're on any other plan, click Workspace settings > Sources/Destinations.

  2. Find the connector you want to update in the list of connectors.

    note

    Airbyte lists two versions, the current in-use version and the latest version available.

  3. Click Change to update your OSS version to the latest available version.

Update the connector version​

Update each instance of the connector separately. If you have multiple instances of a connector, updating one doesn't affect the others.

  1. In the navigation bar:

    • If you're on the Self-Managed Enterprise plan, click Organization settings > Sources/Destinations.

    • If you're on any other plan, click Workspace settings > Sources/Destinations.

  2. Select the instance of the connector you wish to upgrade.

  3. Select Upgrade.

  4. Follow the prompt to confirm you are ready to upgrade to the new version.

Clear data from affected streams​

After upgrading a connector with a breaking change, you must refresh affected schemas and clear your data.

  1. In the nav bar, click Connections.

  2. Find the connection affected by the upgrade.

  3. Click the Schema tab.

  4. Click Refresh source schema (looks like ). When Airbyte finishes, it shows you any detected schema changes.

  5. Click OK.

  6. Click Save changes

  7. Clear the data for the streams affected by this upgrade.

Once the clear is complete, you can begin syncing your data again as usual.