*API REST › Referencia de endpoints*

# Especificación OpenAPI

> El contrato de la API como documento OpenAPI 3.1, con el índice de cada esquema por su nombre de origen.

| Versión | Copia del | Suma de comprobación (SHA-256) |
| --- | --- | --- |
| `1.0.0` | 2026-10-25 | `893a69c7b04211fa8b937884400c97fac2707b0251724300cf7be4bb2c44952a` |

Descargar: [`https://docs.filmo.io/openapi.json`](https://docs.filmo.io/openapi.json).

Documento vivo: `https://app.filmo.io/api/v1/openapi.json`

## Índice de esquemas

Cada esquema del documento con la página que lo documenta. Los generadores de clientes nombran los tipos con estos nombres.

| Esquema | Tipo | Documentado en |
| --- | --- | --- |
| `AccountDto` | Objeto | `cuenta` |
| `AccountResponse` | Sobre de la respuesta | — |
| `AiAskBody` | Cuerpo de la petición | `POST /api/v1/ai/ask` |
| `AiAskDto` | Resultado de una acción | `POST /api/v1/ai/ask` |
| `AiAskResponse` | Sobre de la respuesta | — |
| `ApiWarning` | Compartido | — |
| `AvailabilityCheckBody` | Cuerpo de la petición | `POST /api/v1/availability/check` |
| `AvailabilityCheckEntryDto` | Resultado de una acción | `POST /api/v1/availability/check` |
| `AvailabilityCheckEntryItems` | Sobre de la respuesta | — |
| `AvailabilityCommitment` | Compartido | — |
| `AvailabilityItemError` | Compartido | — |
| `AvailabilityItemErrorEntry` | Compartido | — |
| `AvailabilityResult` | Compartido | — |
| `CancelOrderResponse` | Sobre de la respuesta | — |
| `CollectionCreateBody` | Cuerpo de la petición | `POST /api/v1/collections` |
| `CollectionCreatedDto` | Resultado de una acción | `POST /api/v1/collections` |
| `CollectionCreatedResponse` | Sobre de la respuesta | — |
| `CollectionDto` | Objeto | `colección` |
| `CollectionList` | Sobre de la respuesta | — |
| `CollectionUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/collections/{collectionId}` |
| `CollectionUpdateResultDto` | Resultado de una acción | `PATCH /api/v1/collections/{collectionId}` |
| `CollectionUpdateResultResponse` | Sobre de la respuesta | — |
| `ContactAddressCreateBody` | Cuerpo de la petición | `POST /api/v1/contacts/{contactId}/addresses` |
| `ContactAddressUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/contacts/{contactId}/addresses/{addressId}` |
| `ContactCreateBody` | Cuerpo de la petición | `POST /api/v1/contacts` |
| `ContactDetailDto` | Objeto (detalle) | `contacto` |
| `ContactDetailResponse` | Sobre de la respuesta | — |
| `ContactDto` | Objeto | `contacto` |
| `ContactList` | Sobre de la respuesta | — |
| `ContactPreferencesBody` | Cuerpo de la petición | `PATCH /api/v1/contacts/{contactId}/preferences` |
| `ContactUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/contacts/{contactId}` |
| `ContactsLookupBody` | Cuerpo de la petición | `POST /api/v1/contacts/lookup` |
| `ContactsLookupResultDto` | Resultado de una acción | `POST /api/v1/contacts/lookup` |
| `ContactsLookupResultResponse` | Sobre de la respuesta | — |
| `ContractCancelBody` | Cuerpo de la petición | `POST /api/v1/contracts/{contractId}/cancel` |
| `ContractDto` | Objeto | `contrato` |
| `ContractList` | Sobre de la respuesta | — |
| `ContractResponse` | Sobre de la respuesta | — |
| `ContractSignBody` | Cuerpo de la petición | `POST /api/v1/contracts/{contractId}/sign` |
| `ContractVoidBody` | Cuerpo de la petición | `POST /api/v1/contracts/{contractId}/void` |
| `CreditNoteDto` | Objeto | `abono` |
| `CreditNoteList` | Sobre de la respuesta | — |
| `CreditNoteResponse` | Sobre de la respuesta | — |
| `CreditNoteVoidBody` | Cuerpo de la petición | `POST /api/v1/credit-notes/{creditNoteId}/void` |
| `CustomFieldDefinitionDto` | Objeto | `campo personalizado` |
| `CustomFieldDefinitionItems` | Sobre de la respuesta | — |
| `DocumentLineDto` | Objeto | `línea de documento` |
| `DocumentLineList` | Sobre de la respuesta | — |
| `IncidentCommentBody` | Cuerpo de la petición | `POST /api/v1/incidents/{incidentId}/comments` |
| `IncidentCreateBody` | Cuerpo de la petición | `POST /api/v1/incidents` |
| `IncidentDto` | Objeto | `incidencia` |
| `IncidentList` | Sobre de la respuesta | — |
| `IncidentResponse` | Sobre de la respuesta | — |
| `IncidentStatusCountsDto` | Resultado de una acción | `GET /api/v1/incidents/status-counts` |
| `IncidentStatusCountsResponse` | Sobre de la respuesta | — |
| `IncidentUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/incidents/{incidentId}` |
| `InternalServiceCreateBody` | Cuerpo de la petición | `POST /api/v1/internal-services` |
| `InternalServiceDto` | Objeto | `servicio interno` |
| `InternalServiceList` | Sobre de la respuesta | — |
| `InternalServiceResponse` | Sobre de la respuesta | — |
| `InternalServiceUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/internal-services/{internalServiceId}` |
| `InvoiceDetailDto` | Objeto (detalle) | `factura` |
| `InvoiceDetailResponse` | Sobre de la respuesta | — |
| `InvoiceDto` | Objeto | `factura` |
| `InvoiceExternalUpsertBody` | Cuerpo de la petición | `PUT /api/v1/invoices/external/{originSystem}/{originExternalId}` |
| `InvoiceList` | Sobre de la respuesta | — |
| `InvoiceVoidBody` | Cuerpo de la petición | `POST /api/v1/invoices/{invoiceId}/void` |
| `ItemAccessoriesBody` | Cuerpo de la petición | `PUT /api/v1/items/{itemId}/accessories` |
| `ItemAlternativesBody` | Cuerpo de la petición | `PUT /api/v1/items/{itemId}/alternatives` |
| `ItemCreateBody` | Cuerpo de la petición | `POST /api/v1/items` |
| `ItemDetailDto` | Objeto (detalle) | `artículo` |
| `ItemDetailResponse` | Sobre de la respuesta | — |
| `ItemDto` | Objeto | `artículo` |
| `ItemList` | Sobre de la respuesta | — |
| `ItemPhysicalPropertiesBody` | Cuerpo de la petición | `PATCH /api/v1/items/{itemId}/physical-properties` |
| `ItemPricingBody` | Cuerpo de la petición | `PATCH /api/v1/items/{itemId}/pricing` |
| `ItemUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/items/{itemId}` |
| `ItemVariantUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/items/{itemId}/variants/{variantId}` |
| `KitCreateBody` | Cuerpo de la petición | `POST /api/v1/kits` |
| `KitDto` | Objeto | `kit` |
| `KitList` | Sobre de la respuesta | — |
| `KitResponse` | Sobre de la respuesta | — |
| `KitUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/kits/{kitId}` |
| `LinkOpportunityRecordResponse` | Sobre de la respuesta | — |
| `NoteCreateBody` | Cuerpo de la petición | `POST /api/v1/notes` |
| `NoteDto` | Objeto | `nota` |
| `NoteList` | Sobre de la respuesta | — |
| `NoteResponse` | Sobre de la respuesta | — |
| `OpportunityCloseBody` | Cuerpo de la petición | `POST /api/v1/crm/opportunities/{opportunityId}/close` |
| `OpportunityCreateBody` | Cuerpo de la petición | `POST /api/v1/crm/opportunities` |
| `OpportunityDetailDto` | Objeto (detalle) | `oportunidad` |
| `OpportunityDetailResponse` | Sobre de la respuesta | — |
| `OpportunityDto` | Objeto | `oportunidad` |
| `OpportunityLinkBody` | Cuerpo de la petición | `POST /api/v1/crm/opportunities/{opportunityId}/links` |
| `OpportunityLinkMeta` | Metadatos de la respuesta | `POST /api/v1/crm/opportunities/{opportunityId}/links` |
| `OpportunityList` | Sobre de la respuesta | — |
| `OpportunityMoveStageBody` | Cuerpo de la petición | `PATCH /api/v1/crm/opportunities/{opportunityId}/stage` |
| `OpportunityUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/crm/opportunities/{opportunityId}` |
| `OrderArchiveBody` | Cuerpo de la petición | `PUT /api/v1/orders/{orderId}/archive` |
| `OrderCancelMeta` | Metadatos de la respuesta | `POST /api/v1/orders/{orderId}/cancel` |
| `OrderCreateBody` | Cuerpo de la petición | `POST /api/v1/orders` |
| `OrderDetailDto` | Objeto (detalle) | `pedido` |
| `OrderDetailResponse` | Sobre de la respuesta | — |
| `OrderDto` | Objeto | `pedido` |
| `OrderLineDto` | Objeto | `línea de pedido` |
| `OrderLineItemsReturnBody` | Cuerpo de la petición | `POST /api/v1/orders/line-items/returns` |
| `OrderLineList` | Sobre de la respuesta | — |
| `OrderLineReturnResultDto` | Resultado de una acción | `POST /api/v1/orders/line-items/returns` |
| `OrderLineReturnResultItems` | Sobre de la respuesta | — |
| `OrderList` | Sobre de la respuesta | — |
| `OrderReserveMeta` | Metadatos de la respuesta | `POST /api/v1/orders/{orderId}/reserve` |
| `OrderUnreserveMeta` | Metadatos de la respuesta | `POST /api/v1/orders/{orderId}/unreserve` |
| `OrderUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/orders/{orderId}` |
| `Pagination` | Compartido | `GET /api/v1/contacts` |
| `PaymentCreateBody` | Cuerpo de la petición | `POST /api/v1/treasury/payments` |
| `PaymentDto` | Objeto | `pago` |
| `PaymentLinkBody` | Cuerpo de la petición | `POST /api/v1/treasury/payments/{paymentId}/links` |
| `PaymentList` | Sobre de la respuesta | — |
| `PaymentMethodDto` | Objeto | `método de pago` |
| `PaymentMethodList` | Sobre de la respuesta | — |
| `PaymentResponse` | Sobre de la respuesta | — |
| `PaymentUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/treasury/payments/{paymentId}` |
| `PipelineDto` | Objeto | `embudo` |
| `PipelineItems` | Sobre de la respuesta | — |
| `PipelineResponse` | Sobre de la respuesta | — |
| `PlannerAssignResultDto` | Resultado de una acción | `POST /api/v1/planner/assignments` |
| `PlannerAssignResultResponse` | Sobre de la respuesta | — |
| `PlannerAssignmentCreateBody` | Cuerpo de la petición | `POST /api/v1/planner/assignments` |
| `PlannerAssignmentRemoveBody` | Cuerpo de la petición | `POST /api/v1/planner/assignments/remove` |
| `PlannerResourceDto` | Objeto | `recurso del planificador` |
| `PlannerResourceItems` | Sobre de la respuesta | — |
| `PlannerServiceDto` | Objeto | `servicio del planificador` |
| `PlannerServiceItems` | Sobre de la respuesta | — |
| `PlannerUnassignResultDto` | Resultado de una acción | `POST /api/v1/planner/assignments/remove` |
| `PlannerUnassignResultResponse` | Sobre de la respuesta | — |
| `ProblemDetails` | Compartido | `GET /api/v1/contacts` |
| `ProformaDto` | Objeto | `proforma` |
| `ProformaList` | Sobre de la respuesta | — |
| `ProformaResponse` | Sobre de la respuesta | — |
| `ProformaStatusBody` | Cuerpo de la petición | `PATCH /api/v1/proformas/{proformaId}/status` |
| `ProjectArchiveBody` | Cuerpo de la petición | `PUT /api/v1/projects/{projectId}/archive` |
| `ProjectCreateBody` | Cuerpo de la petición | `POST /api/v1/projects` |
| `ProjectDetailDto` | Objeto (detalle) | `proyecto` |
| `ProjectDetailResponse` | Sobre de la respuesta | — |
| `ProjectDto` | Objeto | `proyecto` |
| `ProjectList` | Sobre de la respuesta | — |
| `ProjectTypeDto` | Objeto | `tipo de proyecto` |
| `ProjectTypeItems` | Sobre de la respuesta | — |
| `ProjectUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/projects/{projectId}` |
| `PurchaseOrderDto` | Objeto | `orden de compra` |
| `PurchaseOrderList` | Sobre de la respuesta | — |
| `PurchaseOrderReceiveBody` | Cuerpo de la petición | `POST /api/v1/purchase-orders/{purchaseOrderId}/receive` |
| `PurchaseOrderReceiveMeta` | Metadatos de la respuesta | `POST /api/v1/purchase-orders/{purchaseOrderId}/receive` |
| `PurchaseOrderResponse` | Sobre de la respuesta | — |
| `PurchaseOrderUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/purchase-orders/{purchaseOrderId}` |
| `QuoteDetailDto` | Objeto (detalle) | `presupuesto` |
| `QuoteDetailResponse` | Sobre de la respuesta | — |
| `QuoteDto` | Objeto | `presupuesto` |
| `QuoteList` | Sobre de la respuesta | — |
| `QuoteStatusBody` | Cuerpo de la petición | `PATCH /api/v1/quotes/{quoteId}/status` |
| `ReceivePurchaseOrderResponse` | Sobre de la respuesta | — |
| `RelatedContactCreateBody` | Cuerpo de la petición | `POST /api/v1/contacts/{contactId}/related-contacts` |
| `RelatedContactDto` | Objeto | `contacto relacionado` |
| `RelatedContactItems` | Sobre de la respuesta | — |
| `RelatedContactUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/contacts/{contactId}/related-contacts/{relatedContactId}` |
| `RepairTicketCreateBody` | Cuerpo de la petición | `POST /api/v1/repair-tickets` |
| `RepairTicketDetailDto` | Objeto (detalle) | `parte de reparación` |
| `RepairTicketDetailResponse` | Sobre de la respuesta | — |
| `RepairTicketDto` | Objeto | `parte de reparación` |
| `RepairTicketList` | Sobre de la respuesta | — |
| `RepairTicketUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/repair-tickets/{ticketId}` |
| `ReserveOrderResponse` | Sobre de la respuesta | — |
| `ResourceAvailability` | Compartido | — |
| `ResourceAvailabilityEntryDto` | Resultado de una acción | `POST /api/v1/staff/availability` |
| `ResourceAvailabilityEntryItems` | Sobre de la respuesta | — |
| `ResourceAvailabilityErrorEntry` | Compartido | — |
| `ResponseMeta` | Metadatos de la respuesta | `GET /api/v1/contacts` |
| `ScheduleDto` | Objeto | `calendario` |
| `ScheduleResponse` | Sobre de la respuesta | — |
| `SerializedItemDetailDto` | Objeto (detalle) | `unidad serializada` |
| `SerializedItemDetailResponse` | Sobre de la respuesta | — |
| `SerializedItemDto` | Objeto | `unidad serializada` |
| `SerializedItemList` | Sobre de la respuesta | — |
| `SerializedItemUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/serialized-items/{serializedItemId}` |
| `ServiceCreateBody` | Cuerpo de la petición | `POST /api/v1/services` |
| `ServiceDto` | Objeto | `servicio` |
| `ServiceList` | Sobre de la respuesta | — |
| `ServiceResponse` | Sobre de la respuesta | — |
| `ServiceUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/services/{serviceId}` |
| `SpaceAmenitiesBody` | Cuerpo de la petición | `PUT /api/v1/spaces/{spaceId}/amenities` |
| `SpaceDetailDto` | Objeto (detalle) | `espacio` |
| `SpaceDetailResponse` | Sobre de la respuesta | — |
| `SpaceDto` | Objeto | `espacio` |
| `SpaceList` | Sobre de la respuesta | — |
| `SpacePricingBody` | Cuerpo de la petición | `PATCH /api/v1/spaces/{spaceId}/pricing` |
| `SpaceUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/spaces/{spaceId}` |
| `StaffAvailabilityBody` | Cuerpo de la petición | `POST /api/v1/staff/availability` |
| `StaffMemberCreateBody` | Cuerpo de la petición | `POST /api/v1/staff` |
| `StaffMemberDto` | Objeto | `miembro del personal` |
| `StaffMemberList` | Sobre de la respuesta | — |
| `StaffMemberResponse` | Sobre de la respuesta | — |
| `StaffUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/staff/{staffId}` |
| `SubrentDto` | Objeto | `subalquiler` |
| `SubrentList` | Sobre de la respuesta | — |
| `SubrentResponse` | Sobre de la respuesta | — |
| `SubrentUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/subrents/{subrentId}` |
| `SupplierInvoiceDto` | Objeto | `factura de proveedor` |
| `SupplierInvoiceList` | Sobre de la respuesta | — |
| `SupplierInvoiceResponse` | Sobre de la respuesta | — |
| `SupplierInvoiceVoidBody` | Cuerpo de la petición | `POST /api/v1/supplier-invoices/{supplierInvoiceId}/void` |
| `TagAssignmentBody` | Cuerpo de la petición | `POST /api/v1/tags/{tagId}/assignments` |
| `TagAssignmentResultDto` | Resultado de una acción | `POST /api/v1/tags/{tagId}/assignments` |
| `TagAssignmentResultResponse` | Sobre de la respuesta | — |
| `TagCreateBody` | Cuerpo de la petición | `POST /api/v1/tags` |
| `TagCreateResultDto` | Resultado de una acción | `POST /api/v1/tags` |
| `TagCreateResultResponse` | Sobre de la respuesta | — |
| `TagDto` | Objeto | `etiqueta` |
| `TagItems` | Sobre de la respuesta | — |
| `TaskCreateBody` | Cuerpo de la petición | `POST /api/v1/tasks` |
| `TaskDto` | Objeto | `tarea` |
| `TaskList` | Sobre de la respuesta | — |
| `TaskResponse` | Sobre de la respuesta | — |
| `TaskTypeDto` | Objeto | `tipo de tarea` |
| `TaskTypeItems` | Sobre de la respuesta | — |
| `TaskUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/tasks/{taskId}` |
| `TreasuryAccountDto` | Objeto | `cuenta de tesorería` |
| `TreasuryAccountList` | Sobre de la respuesta | — |
| `TreasuryAccountResponse` | Sobre de la respuesta | — |
| `UnavailabilityCreateBody` | Cuerpo de la petición | `POST /api/v1/availability/unavailabilities` |
| `UnavailabilityDto` | Objeto | `indisponibilidad` |
| `UnavailabilityList` | Sobre de la respuesta | — |
| `UnavailabilityResultDto` | Resultado de una acción | `POST /api/v1/availability/unavailabilities` |
| `UnavailabilityResultResponse` | Sobre de la respuesta | — |
| `UnavailabilityUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/availability/unavailabilities/{unavailabilityId}` |
| `UnreserveOrderResponse` | Sobre de la respuesta | — |
| `UserDto` | Objeto | `usuario` |
| `UserList` | Sobre de la respuesta | — |
| `VehicleAvailabilityBody` | Cuerpo de la petición | `POST /api/v1/vehicles/availability` |
| `VehicleCreateBody` | Cuerpo de la petición | `POST /api/v1/vehicles` |
| `VehicleDto` | Objeto | `vehículo` |
| `VehicleList` | Sobre de la respuesta | — |
| `VehicleResponse` | Sobre de la respuesta | — |
| `VehicleUpdateBody` | Cuerpo de la petición | `PATCH /api/v1/vehicles/{vehicleId}` |
| `WorkflowDto` | Objeto | `workflow` |
| `WorkflowList` | Sobre de la respuesta | — |
| `WorkflowRunCreateBody` | Cuerpo de la petición | `POST /api/v1/workflows/{workflowId}/runs` |
| `WorkflowRunCreatedDto` | Resultado de una acción | `POST /api/v1/workflows/{workflowId}/runs` |
| `WorkflowRunCreatedResponse` | Sobre de la respuesta | — |

---

URL canónica: https://docs.filmo.io/es/rest-api/openapi  
Última actualización: 2026-10-25