Planner

Assign a resource to a service

Puts a person or a vehicle on a service.

POST
/api/v1/planner/assignments

Request examples

curl https://app.filmo.io/api/v1/planner/assignments \
  --request POST \
  --header "Authorization: Bearer $FILMO_API_KEY" \
  --header "Idempotency-Key: $(uuidgen 2>/dev/null || cat /proc/sys/kernel/random/uuid)" \
  --header 'Content-Type: application/json' \
  --data '{
  "orderId": "ord_0000421",
  "orderServiceId": "osv_0000912",
  "staffId": "stf_luis_perez",
  "role": "Conductor"
}'
{
  "data": {
    "status": "Example status",
    "conflictCount": 1
  }
}

Generated from the schema

The target is EXACTLY one: the pair orderId + orderServiceId, or a task, or an internal service. The resource, also exactly one. conflictCount says how many commitments of the resource overlap with this assignment: the assignment is made anyway, and you decide what to do with the number. It responds 400 validation_error, with errors[].path on the field, when staffId, vehicleId or the target (orderServiceId, taskId, internalServiceId) does not exist or belongs to another account, when the target does not accept that type of resource (a task only accepts staff; a service, the resource types its requirements declare) and when the task does not block availability; 409 conflict when the resource is already assigned to that target or is unavailable in that period. Nothing is written in any of those cases.

Authorizations

Bearer API key with the scope below. planner:write

Headers

Idempotency-Keystring

Unique identifier of the request, chosen by the client (a UUID works). Between 1 and 255 characters: an empty header is rejected with 400 validation_error, because the client would believe itself protected. Repeating the same key with the SAME body within 24 h returns the stored response without executing again, with the Idempotent-Replay: true header. With a DIFFERENT body it returns 422. It is the safe way to retry after a network timeout.

Limits: min length 1, max length 255

Example:"9f1c2f4e-3a5b-4f6d-8e7a-0b1c2d3e4f5a"

Body

application/json

Body schema: PlannerAssignmentCreateBody

orderIdstring

Order the service is attached to.

orderServiceIdstring

Service line within that order. Goes with orderId.

taskIdstring

Schedule task to assign the resource to.

internalServiceIdstring

Internal assignment to cover.

staffIdstring

Staff member being assigned.

vehicleIdstring

Vehicle being assigned.

rolestring

Role they are assigned with. E.g.: "Conductor".

Response

application/json

Successful response.

Response schema: PlannerAssignResultDto

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

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

dataobject

Result of assigning a resource.

Show child attributes
data.statusstring

Operation result.

data.conflictCountnumber

Commitments of the resource that overlap with this assignment.

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
400validation_errorMalformed query or body. errors[] lists every offending field with its stable code.
404not_foundIt does not exist or is outside the scope of the API key.
409conflictThe current state of the resource prevents the operation, a request with that Idempotency-Key is already in progress, or another conditional write (If-Match) held the resource for more than five seconds. errors[0].code says which: in_progress and lock_timeout are solved by retrying; invalid_state is not, because the state of the resource forbids the operation.
422idempotency_key_reusedThe same key was used before with a different body. Change the 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