Repair tickets

Get a repair ticket

Returns the detail of a repair ticket with its lines: which element is repaired, its diagnosis and its price for the customer.

GET
/api/v1/repair-tickets/{ticketId}

Request examples

curl https://app.filmo.io/api/v1/repair-tickets/tick_8f2a1c \
  --header "Authorization: Bearer $FILMO_API_KEY"
{
  "data": {
    "id": "repair_ticket_9f3a2b",
    "number": "2026-0001",
    "date": "2026-09-01T08:00:00.000Z",
    "status": "draft",
    "orderId": "order_9f3a2b",
    "orderNumber": "2026-0001",
    "contactId": "contact_9f3a2b",
    "contactName": "Example contact name",
    "subTotal": "120.00",
    "taxTotal": "120.00",
    "total": "120.00",
    "totalLines": 1,
    "notes": "Example text.",
    "createdAt": "2026-09-01T08:00:00.000Z",
    "updatedAt": "2026-09-01T08:00:00.000Z",
    "projectId": "project_9f3a2b",
    "lines": [
      {
        "id": "line_9f3a2b",
        "entityType": "item",
        "entityId": "entity_9f3a2b",
        "entityName": "Example entity name",
        "description": "Example text.",
        "diagnosis": "Example diagnosis",
        "quantity": 1,
        "unitPrice": "120.00",
        "incidentId": "incident_9f3a2b",
        "notes": "Example text."
      }
    ],
    "sourceIncidentIds": [
      "source_incident_9f3a2b"
    ],
    "customFields": {
      "example": "example"
    }
  }
}

Generated from the schema

Authorizations

Bearer API key with the scope below. repair-tickets:read

Headers

If-None-Matchstring

Conditional read: the ETag of the copy you already have. If the resource has not changed, the response is 304 with no body.

Example:"\"3sT3d9pBvZq4h2N0w8x1YkLmQ7c\""

Path parameters

ticketIdstringRequired

Repair ticket identifier.

Limits: min length 1

Response

application/json

Successful response.

Response schema: RepairTicketDetailDto

Envelope: RepairTicketDetailResponse. meta.warnings is present only when the operation is deprecated.

Headers: X-Request-Id · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset · ETag

dataobject

Detail of a repair ticket, with its lines.

Show child attributes
data.idstring

Unique ticket identifier.

data.numberstring

Ticket number, for example "RT-2026-0001".

data.datestring<date-time>

Issue date in ISO 8601 UTC.

data.statusstring

Status of the ticket in its lifecycle.

Available options: draft, sent, partially_converted, fully_invoiced, closed

data.orderIdstring | null

Identifier of the order it comes from; null if it was created standalone.

data.orderNumberstring | null

Number of the order it comes from; null if it was created standalone.

data.contactIdstring | null

Identifier of the responsible client; null if none has been assigned.

data.contactNamestring | null

Name of the responsible client; null if not resolved.

data.subTotalstring

Sum of the lines before taxes, as a decimal string "1234.50".

Limits: pattern ^-?\d+\.\d{2}$

data.taxTotalstring

Tax total, as a decimal string "1234.50".

Limits: pattern ^-?\d+\.\d{2}$

data.totalstring

Total including taxes, as a decimal string "1234.50".

Limits: pattern ^-?\d+\.\d{2}$

data.totalLinesinteger

Number of lines in the ticket.

data.notesstring | null

General remarks; null if it has none.

data.createdAtstring<date-time>

Creation date in ISO 8601 UTC.

data.updatedAtstring<date-time>

Last modification date in ISO 8601 UTC.

data.projectIdstring | null

Identifier of the associated project; null if it has none.

data.linesobject[]

Ticket lines.

Show child attributes
data.lines.idstring

Unique line identifier.

data.lines.entityTypestring | null

Type of element being repaired: item, serializedItem (a specific unit), space or kit; null for a free line (a service, a charge).

Available options: item, serializedItem, space, kit

data.lines.entityIdstring | null

Identifier of the element being repaired; null if it is a free line.

data.lines.entityNamestring | null

Name of the element being repaired; null if not resolved.

data.lines.descriptionstring

What needs to be repaired.

data.lines.diagnosisstring | null

Technical diagnosis; null if none has been recorded.

data.lines.quantitynumber | null

Affected units; null if not applicable.

data.lines.unitPricestring | null

NET unit price quoted to the client, as a decimal string "1234.50". It is not the repair cost: that one is not published. null if the line has no price.

Limits: pattern ^-?\d+\.\d{2}$

data.lines.incidentIdstring | null

Identifier of the incident that originated this line; null if it does not come from one.

data.lines.notesstring | null

Line notes; null if it has none.

data.sourceIncidentIdsstring[]

Identifiers of the incidents that originated the ticket.

data.customFieldsobject<string, any>

Custom field values by custom field identifier; the definitions are in /api/v1/custom-fields.

metaobject

Additional information about the response.

Show child attributes
meta.warningsobject[]

Lifecycle warnings; present only when the operation is deprecated.

Show child attributes
meta.warnings.codestring

Stable warning code.

Available options: deprecated

meta.warnings.messagestring

For people: what is deprecated, until when, and what to use.

meta.warnings.sunsetstring

Day (YYYY-MM-DD) the operation stops being served.

meta.warnings.replacementstring | null

operationId of the operation to use instead, or null if there is none.

Errors

StatusCodesMeaning
402addon_requiredThe account plan does not include the add-on this operation needs; requiredAddon names it.
404not_foundIt does not exist or is outside the scope of the API key.

401, 403, 429, 500 can be returned by any operation. Errors

Deprecation

This operation is not deprecated. Deprecations are announced with a Deprecation header and a sunset date. Versioning policy

  • Operations

    Repair ticket

    Repair ticket: what broke and what is quoted to fix it.