Skip to content

Get a task's input

The tasks.inputs.get operation: GET /api/v1/tasks/{id}/inputs/{kind} in the REST API and the tasks_inputs_get tool in the MCP server.

GET/api/v1/tasks/{id}/inputs/{kind}

Returns what Ownrecord prepared for a task, generated from current data:

  • registration_packet (registration tasks): the regime's registration form fields filled from the entity's data (fields, with missing for required ones Ownrecord doesn't have), the entity, representatives (authorizations valid now), start date, expected turnover, bank details, activity, websites and prerequisites. format: "pdf" returns a PDF summary of it (base64 in content).
  • filing_package (filing tasks, once the period is prepared): the report files (download them with filing_periods.report), a summary per country and rate with corrections and balances, payment instructions in the filing currency, and the reconciliation proof against the ledger.
  • playbook: the regime's platform-maintained steps, official portal URLs and field notes (format: "markdown" returns the text in content).

Inputs are data. Only the playbook is guidance, maintained by Ownrecord; fixture or unreviewed knowledge is marked as such. Payment details the tax knowledge doesn't have yet are null, never guessed.

At a glance

  • REST: GET /api/v1/tasks/{id}/inputs/{kind}
  • MCP tool: tasks_inputs_get
  • Operation ID: tasks.inputs.get
  • Scope: Organization, or one of its legal entities or brands
  • Permission: tasks:read
  • Risk tier: read
  • Dry run: Not supported
  • Idempotency: Not needed (read only)
  • Modes: Test and live
  • Authentication: API key with the tasks:read scope
  • Since: M10

Request

Path parameters

FieldTypeDescription
idtask_… ID
kindone of registration_packet, filing_package, playbook

Query parameters

FieldTypeRequiredDescription
formatone of json, pdf, markdownNojson (default); pdf for the registration packet; markdown for the playbook.

Response

200 OK with a JSON object:

FieldTypeDescription
object"task_input"
taskIdtask_… ID
kindone of registration_packet, filing_package, playbook
formatone of json, pdf, markdown
filenamestring
contentTypestring
dataobject or null
contentstring or null
sizeinteger (at least 0)
sha256string

Examples

The filing package of the Q3 return

HTTP
GET /api/v1/tasks/task_01m4ttwd3veh9apbewxheq5xa9/inputs/filing_package
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "task_input",
  "taskId": "task_01m4ttwd3veh9apbewxheq5xa9",
  "kind": "filing_package",
  "format": "json",
  "filename": "filing-package-EU_OSS_UNION-2026-Q3.json",
  "contentType": "application/json",
  "data": {
    "object": "filing_package",
    "filingPeriodId": "fp_01m4ttwd3veh9apbewxheq5xa7",
    "regimeId": "EU_OSS_UNION",
    "periodKey": "2026-Q3",
    "firstDay": "2026-07-01",
    "lastDay": "2026-09-30",
    "dueDate": "2026-10-31",
    "dueAt": "2026-10-31T22:59:59.000Z",
    "status": "prepared",
    "reportKind": "eu_oss",
    "reportFiles": [
      {
        "format": "csv",
        "fileId": "file_01m4ttwd3veh9apbewxheq5xa5",
        "filename": "EU_OSS_UNION-2026-Q3.csv",
        "contentType": "text/csv; charset=utf-8",
        "size": 1824,
        "sha256": "9b2c7e1d0a5f4e3c2b1a0f9e8d7c6b5a4f3e2d1c0b9a8f7e6d5c4b3a2f1e0d9c"
      }
    ],
    "summary": {
      "currency": "EUR",
      "rows": [
        {
          "country": "DE",
          "rate": 190000,
          "taxable": "100000000",
          "tax": "19000000",
          "lines": 1
        },
        {
          "country": "FR",
          "rate": 200000,
          "taxable": "100000000",
          "tax": "20000000",
          "lines": 1
        }
      ],
      "corrections": [],
      "balances": [
        {
          "country": "DE",
          "supplies": "19000000",
          "corrections": "0",
          "balance": "19000000"
        },
        {
          "country": "FR",
          "supplies": "20000000",
          "corrections": "0",
          "balance": "20000000"
        }
      ],
      "totals": {
        "taxable": "200000000",
        "tax": "39000000",
        "corrections": "0",
        "due": "39000000",
        "refundable": "0"
      },
      "reportTotals": {
        "taxable": "200000000",
        "tax": "39000000",
        "corrections": "0",
        "due": "39000000",
        "refundable": "0"
      },
      "consistent": true
    },
    "payment": {
      "amount": {
        "amount": "39000000",
        "currency": "EUR",
        "decimal": "39.00"
      },
      "refundable": {
        "amount": "0",
        "currency": "EUR",
        "decimal": "0.00"
      },
      "dueDate": "2026-10-31",
      "dueAt": "2026-10-31T22:59:59.000Z",
      "method": null,
      "accountDetails": null,
      "referenceFormat": null,
      "reference": null,
      "notes": [
        "Pay 39.00 EUR by 2026-10-31.",
        "Ownrecord's tax knowledge has no payment details for this return yet: use the authority's own payment instructions (see the playbook). Never pay to an account you can't verify with the authority.",
        "Quote the reference the authority gives when the return is filed."
      ]
    },
    "reconciliation": {
      "matches": true,
      "rows": [
        {
          "jurisdictionId": "DE",
          "currency": "EUR",
          "reportTax": "19000000",
          "ledgerTax": "19000000",
          "difference": "0"
        },
        {
          "jurisdictionId": "FR",
          "currency": "EUR",
          "reportTax": "20000000",
          "ledgerTax": "20000000",
          "difference": "0"
        }
      ],
      "differences": []
    },
    "fx": [],
    "generatedAt": "2026-10-03T09:00:00.000Z"
  },
  "content": null,
  "size": 2410,
  "sha256": "3c1f0e9d8c7b6a5f4e3d2c1b0a9f8e7d6c5b4a3f2e1d0c9b8a7f6e5d4c3b2a1f"
}

The registration packet

HTTP
GET /api/v1/tasks/task_01m4ttwd3veh9apbewxheq5xae/inputs/registration_packet
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "task_input",
  "taskId": "task_01m4ttwd3veh9apbewxheq5xae",
  "kind": "registration_packet",
  "format": "json",
  "filename": "registration-packet-EU_OSS_NON_UNION.json",
  "contentType": "application/json",
  "data": {
    "object": "registration_packet",
    "regimeId": "EU_OSS_NON_UNION",
    "regimeName": "One-Stop Shop, non-Union scheme",
    "registrationId": "regn_01m4ttwd3veh9apbewxheq5xag",
    "state": "grace",
    "method": "online_portal",
    "portalUrl": "https://ownrecord.io/fixtures/EU/oss-non-union-portal",
    "identityRequirements": "Online registration with the chosen member state of identification",
    "typicalProcessingDays": 14,
    "fields": [
      {
        "label": "Legal name",
        "value": "Helvetia Apps AG",
        "source": "legal_entities.legalName",
        "required": true,
        "missing": false,
        "notes": null
      },
      {
        "label": "Date of the first supply",
        "value": "2026-10-14",
        "source": "registrations.triggeredAt",
        "required": true,
        "missing": false,
        "notes": null
      },
      {
        "label": "Contact person and email",
        "value": null,
        "source": null,
        "required": true,
        "missing": true,
        "notes": "The entity's tax manager"
      }
    ],
    "entity": {
      "legalName": "Helvetia Apps AG",
      "tradingName": null,
      "address": "Bahnhofstrasse 1, 8001 Zürich, CH",
      "country": "CH",
      "companyRegistryId": "CHE-000.000.042",
      "taxId": {
        "type": "ch_vat",
        "value": "CHE-000.000.042 MWST"
      },
      "currency": "CHF",
      "timeZone": "Europe/Zurich"
    },
    "representatives": [
      {
        "name": "Ana Horvat",
        "kind": "employee_eid",
        "contact": "ana.horvat@example.com",
        "validFrom": "2026-01-01",
        "validTo": null,
        "portals": ["OSS portal"]
      }
    ],
    "startDate": "2026-10-14",
    "expectedTurnover": {
      "amount": {
        "amount": "1200000000",
        "currency": "EUR",
        "decimal": "1200.00"
      },
      "basis": "Sales counted toward the EU_OSS_NON_UNION threshold in 2026, all brands (a guide, not a forecast)."
    },
    "bankDetails": null,
    "activity": "Software as a service",
    "websites": ["pay.helvetia.example"],
    "prerequisites": [
      {
        "code": "portal_access",
        "description": "Open a portal account",
        "leadTimeDays": 14,
        "status": "done"
      }
    ],
    "missing": ["Contact person and email"]
  },
  "content": null,
  "size": 1630,
  "sha256": "3c1f0e9d8c7b6a5f4e3d2c1b0a9f8e7d6c5b4a3f2e1d0c9b8a7f6e5d4c3b2a1f"
}

Errors

CodeHTTP statusWhenWhat to do
validation_failed400kind or format is invalid, or the format doesn't fit the kind.Fix the fields listed in details.issues and send the request again.
resource_not_found404No task with this ID in this organization, entity and mode.Check the ID and that your credentials are scoped to the right organization, entity, brand and mode.
task_input_not_available409The task has no such input, or the filing period isn't prepared yet (details.reason).Read details.reason: a registration packet belongs to registration tasks, a filing package to filing tasks once the period is prepared (filing_periods.prepare), and a playbook exists only where the tax knowledge has one.
permission_denied403You can't see compliance tasks here.Ask an organization owner or admin for a role or scope that allows this action.

It can also return these common errors: api_version_unsupported, authentication_required, api_key_invalid, dry_run_not_supported, rate_limited, internal_error.