Services

Create a service

Registers a sellable line that does not come out of the inventory: a technician, a transport, a working day.

Tool
filmo_services_create
Access: Write

Result

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_services_create",
    "arguments": {
      "name": "Example"
    }
  }
}

generated from the schema

The rate is NOT set here — that is what the patch is for, which has its own block. Returns the created service.

Arguments

namestringRequired

Service name as the customer will see it.

Limits: min length 2, max length 200

serviceTypestring

Service type.

Available options: crew, fleet, general

descriptionstring

Service description.

Limits: max length 2000

collectionIdstring

Collection it belongs to.

Limits: min length 1

tagsstring[]

Tags by name; one that does not exist is created.

Limits: max 50 items, each max length 100

defaultQtyinteger

Quantity added to an order by default.

Limits: min 1

showInPlannerboolean

Whether it appears as a plannable service.

requirementsobject[]

Resources needed to provide it.

Limits: max 20 items

Show child attributes
requirements.requiredResourceTypestringRequired

What is needed to provide it: personnel or vehicle.

Available options: personnel, vehicle

requirements.qtyintegerRequired

How many are needed.

Limits: min 1

requirements.requiredTagsstring[]

Tags the assigned resource must have. E.g.: "Carné C".

Limits: max 20 items, each max length 100

idempotencyKeystring

Idempotency key chosen by the client (a UUID is recommended). Repeating the same key with the same arguments within 24 h returns the stored response without executing again; with different arguments it responds 422. It is the safe way to retry after a network failure.

Limits: min length 1, max length 255

ifMatchstring

Optimistic locking: the meta.etag you got from the detail read of this resource (or "*"). If the resource changed since, the call fails with 412 precondition_failed before writing anything; read it again and retry. Omit it to write unconditionally.

Limits: min length 1

Result

On success the result carries structuredContent with data and meta. These are the attributes of data.

Show the attributes of data
idstring

Unique service identifier.

namestring

Service name as the customer sees it.

serviceTypestring

Type: crew (personnel), fleet (vehicles) or general.

descriptionstring | null

Description; null if it has none.

defaultQtyinteger

Quantity added to an order by default.

showInPlannerboolean

Whether it appears as a plannable service.

includeInPriceboolean

Whether its amount counts towards the document total.

collectionNamestring | null

Path of the collection it belongs to; null if it is in none.

tagsobject[]

Service tags, with their identifier and name.

Show child attributes
tags.idstring

Unique identifier of the tag.

tags.namestring

Tag name.

requirementsobject[]

Resources needed to provide it.

Show child attributes
requirements.requiredResourceTypestring

What is needed to provide it: personnel or vehicle.

Available options: personnel, vehicle

requirements.qtyinteger

How many are needed.

Limits: min 1

requirements.requiredTagsstring[]

Tags the assigned resource must have. E.g.: "Carné C".

Limits: max 20 items, each max length 100

createdAtstring<date-time> | null

Creation date in ISO 8601 UTC; null if not recorded.

updatedAtstring<date-time> | null

Last modification date in ISO 8601 UTC; null if not recorded.

An error is a result with isError: true and the problem in content[0].text; there is no structuredContent. See Errors.

The same operation by REST

This tool runs POST /api/v1/services.

  • Services

    Create a service

    Registers a sellable line that does not come out of the inventory: a technician, a transport, a working day.

  • Guides

    Safe writes

    An assistant that can write can also write the wrong thing. Decide which tools need a person, retry without duplicating, and know what a write sets in motion.

  • Guides

    Errors

    A tool error is a result with isError: true and the problem in the first text block. Branch on its code.