Skip to main content
POST
Attest an approval from your interface
Preview. A contract we are building with design partners. It is not callable yet, and fields can still change. See Availability.
You attest that the company’s authorized person reviewed the boxes of exactly expected_version in your interface and approved it, and you send the evidence. Melso records the attestation with the evidence and treats it as that person’s approval. Requires a signed partner agreement that defines who may approve and how evidence is kept.

Authorizations

Authorization
string
header
required

Your partner secret key, mk_live_… for real companies or mk_test_… for test companies. Keep it on your servers. See Authentication.

Headers

Idempotency-Key
string

A unique key, such as a UUID, that makes a retried create safe. Reusing a key with a different body is refused.

Maximum string length: 255

Path Parameters

company_id
string<uuid>
required

The company's ID. Every company-scoped call works in exactly this company.

tax_return_id
string<uuid>
required

Body

application/json
expected_version
integer
required
Required range: x >= 1
approver
object
required
evidence
object
required

Response

The return, approved, with the attestation recorded.

id
string
required

The return's UUID, or estimate:<model>:<period> for an estimate.

model
string
required

The form. Melso calculates 303, 130, 111, 115, 190, 180, 347, 349 and 390 today; a reminder form marked filed has its own model.

period
string
required

A year (2026), a quarter (2026-Q3), a month (2026-09) or an instalment (2026-1P).

Pattern: ^[0-9]{4}(-Q[1-4]|-(0[1-9]|1[0-2])|-[1-3]P)?$
Example:

"2026-Q3"

status
enum<string>
required

draft: calculated, still recalculated from the records. approved: the owner authorized this exact version. filed: filed, with the administration's reference and receipt when Melso filed it.

Available options:
draft,
approved,
filed
is_estimate
boolean
required

An estimate has an amount only. It has no boxes, no version and no approval.

amount
string
required

The result. Negative to offset or refund (303); 0.00 for an informative return.

Pattern: ^-?[0-9]+\.[0-9]{2}$
Example:

"121.00"

version
integer | null

Raised on every recalculation that changes the draft. Approval needs the exact version.

approved_version
integer | null
approved_at
string<date-time> | null
deadline
string<date>
direct_debit_deadline
string<date> | null
boxes
object[]
records
object[]
review
enum<string>[]

What to check before approving.

Available options:
missing_tax_id,
cadastral_reference,
eu_key_assumed,
rates_assumed,
volume_split
unconfirmed_expenses
integer

Expenses in the return that are not yet confirmed as deductible.

filed_at
string<date-time> | null
filing
object | null

Preview. The administration's evidence, when Melso filed the return.

recalculated
object | null

For a filed return whose records changed afterwards, what it would be today. A difference may need a complementary or corrective return.

created_at
string<date-time>
updated_at
string<date-time>