Projects

Export project tasks

Export a project's tasks as a factuarea.tasks.v1 JSON document with its labels, custom fields and comments.

  • The document can be re-imported with POST /v1/companies/{company}/projects/{project}/tasks/import.
  • Needs only projects:read, yet includes every task description and comment.
get/companies/{company}/projects/{project}/tasks/export

Request

  • Base URL: https://api.factuarea.com/v1
  • URL: https://api.factuarea.com/v1/companies/{company}/projects/{project}/tasks/export
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Path parameters

companystring uuid required

Public identifier (UUID v7) of the company. Get it from GET /v1/me (data.scope[].id).

projectstring uuid required

Public identifier (UUID v7) of the project.

Headers

Factuarea-Versionstring date
Example:2026-06-01

Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.

Response

Example response

{
  "data": {
    "object": "project_tasks_export",
    "project_id": "0193a4f2-7c20-7a11-8b52-4d6e8f0a2c01",
    "format": "factuarea.tasks.v1",
    "exported_at": "2026-09-28T10:12:03+02:00",
    "project": {
      "key": "DEV",
      "name": "Desarrollo web",
      "description": "Evolutivos y correcciones de la tienda online.",
      "columns": [
        {
          "name": "Por hacer",
          "slug": "to-do",
          "color": null,
          "icon": null,
          "is_final": false,
          "position": 0
        },
        {
          "name": "En curso",
          "slug": "in-progress",
          "color": "blue",
          "icon": null,
          "is_final": false,
          "position": 1
        },
        {
          "name": "En revisión",
          "slug": "in-review",
          "color": "amber",
          "icon": null,
          "is_final": false,
          "position": 2
        },
        {
          "name": "Hecho",
          "slug": "done",
          "color": "green",
          "icon": "check",
          "is_final": true,
          "position": 3
        }
      ]
    },
    "labels": [
      {
        "name": "Error",
        "color": "red"
      },
      {
        "name": "Frontend",
        "color": "blue"
      }
    ],
    "custom_fields": [
      {
        "name": "Estimación (h)",
        "type": "number",
        "required": false,
        "default_value": null,
        "options": [],
        "position": 0
      },
      {
        "name": "Entorno",
        "type": "dropdown",
        "required": true,
        "default_value": "Producción",
        "options": [
          "Producción",
          "Preproducción",
          "Local"
        ],
        "position": 1
      }
    ],
    "tasks": [
      {
        "number": 12,
        "title": "Integrar la pasarela de pago en el checkout",
        "description": "Sustituir el formulario actual por el widget de pago y guardar la referencia del cobro en el pedido.",
        "status": "active",
        "column_slug": "in-progress",
        "priority": "high",
        "start_on": "2026-09-21",
        "due_on": "2026-10-06",
        "assignee_email": "ana.perez@example.com",
        "labels": [
          "Frontend"
        ],
        "custom_fields": {
          "Estimación (h)": "8",
          "Entorno": "Preproducción"
        },
        "comments": [
          {
            "author": "Ana Pérez",
            "email": "ana.perez@example.com",
            "provider": null,
            "body": "He dejado la integración en preproducción. Falta probar el pago con **3D Secure**.",
            "created_at": "2026-09-24T12:31:08+02:00"
          },
          {
            "author": "tienda-web-ci",
            "email": null,
            "provider": "github",
            "body": "La PR #48 ya pasa los tests del checkout.",
            "created_at": "2026-09-25T09:02:17+02:00"
          }
        ],
        "relations": [
          {
            "type": "blocks",
            "target_number": 13
          },
          {
            "type": "subtask",
            "target_number": 14
          }
        ]
      },
      {
        "number": 13,
        "title": "Revisar los textos legales del pie de página",
        "description": null,
        "status": "active",
        "column_slug": "to-do",
        "priority": "medium",
        "start_on": null,
        "due_on": "2026-10-09",
        "assignee_email": "javier.gomez@example.com",
        "labels": [],
        "custom_fields": {
          "Entorno": "Producción"
        },
        "comments": [],
        "relations": []
      }
    ]
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.