Projects

Import tasks into a project

Import tasks into a project from a JSON document (factuarea.tasks.v1 or a supported format).

  • Synchronous, max 200 tasks per call (more returns 422); the report lists id/key or error.
  • Idempotency-Key required (422 idempotency_key_required); a new key creates a new copy.
post/companies/{company}/projects/{project}/tasks/import

Request

  • Base URL: https://api.factuarea.com/v1
  • URL: https://api.factuarea.com/v1/companies/{company}/projects/{project}/tasks/import
  • 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

Idempotency-Keystring required
Example:01928f10-7c0e-7c4a-9b7d-2f8a6e3c1d4b

Client-generated opaque key (up to 255 characters; UUID v7 recommended) that makes retries safe: the first response is cached and replayed for repeats without re-executing the mutation. Reusing a key with a different body returns 422 idempotency_key_reused; the values of secret fields (password, secret…) count as part of the body, so retrying with a corrected secret under the same key is a different request, never the replay of the earlier answer. See the Idempotency guide. Required on this operation: repeating it delivers an effect that cannot be taken back (an email sent, a file generated, a third-party call, a charge), so a request without this header is rejected with 422 idempotency_key_required before any business logic runs.

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.

Request body

formatstring

Format of the document: factuarea.tasks.v1, the format produced by GET /v1/companies/{company}/projects/{project}/tasks/export. It may be omitted when the document is a {project, tasks} JSON file exported from another task manager, which is also accepted.

projectobject

Data of the source project (key, name, description and columns), as they appear in the exported document.

tasksobject[] required

Tasks to import: between 1 and 200 per request. Each element is an object describing one task. Problems inside a task never reject the request: they are reported per task, as warnings or as a failed entry, in the response.

Response

Example response

{
  "data": {
    "object": "project_tasks_import",
    "project_id": "0193a4f2-7c20-7a11-8b52-4d6e8f0a2c01",
    "total": 3,
    "created": 2,
    "failed": 1,
    "warnings": [
      {
        "index": null,
        "message": "El color de la columna «QA» no es válido: se crea sin color."
      },
      {
        "index": 1,
        "message": "La prioridad «critical» no existe: se usa «none»."
      }
    ],
    "warnings_total": 2,
    "tasks": [
      {
        "index": 0,
        "id": "0193a4f2-8f53-7d44-8e85-7a9b1c3d5f17",
        "key": "DEV-17",
        "error": null
      },
      {
        "index": 1,
        "id": "0193a4f2-8f53-7d44-8e85-7a9b1c3d5f18",
        "key": "DEV-18",
        "error": null
      },
      {
        "index": 2,
        "id": null,
        "key": null,
        "error": "El título de la tarea no puede estar vacío."
      }
    ]
  }
}

Changes

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