{"openapi":"3.1.0","info":{"title":"StudioPro360 API","version":"1.0.0","summary":"API REST da produtora no StudioPro360.","description":"Leia e atualize dados da sua produtora a partir de outros sistemas.\n\n**Autenticação**: crie uma chave em *Integrações e API* (só dono e administração) e envie `Authorization: Bearer sp_live_…`. A chave acessa só a produtora em que foi criada.\n\n**Paginação**: listas devolvem `{ data, pagination: { limit, hasMore, nextCursor } }`. Envie `cursor=<nextCursor>` para a próxima página. `limit` vai de 1 a 100 (padrão 25).\n\n**Formatos**: datas e horas em ISO 8601 (UTC); datas sem hora em `AAAA-MM-DD`; valores em reais como string decimal (`\"1234.50\"`).\n\n**Erros**: `{ \"error\": { \"code\": \"…\", \"message\": \"…\" } }` com mensagem em português. Escopo insuficiente → 403 `insufficient_scope` com `requiredScope`.\n\n**Limite**: por chave, por minuto (60, 120, 300, 600). Cabeçalhos `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset`; acima do limite, 429 com `Retry-After`.\n\n**Dados protegidos**: CPF, RG, endereço, dados bancários e demais dados cadastrais cifrados nunca saem pela API.\n\n**Escopos**:\n- `projects:read` — Projetos: ler projetos\n- `projects:write` — Projetos: criar projetos e mudar a etapa\n- `clients:read` — Clientes: ler clientes (sem dados cadastrais)\n- `clients:write` — Clientes: cadastrar clientes\n- `budgets:read` — Orçamentos: ler totais e status dos orçamentos\n- `finance:read` — Financeiro: ler caixa, lançamentos e valores\n- `inventory:read` — Inventário: ler itens, códigos e disponibilidade\n- `inventory:write` — Inventário: cadastrar e editar itens\n- `deliveries:read` — Entregas: ler entregáveis e status\n- `set:read` — Set e filmagem: ler diárias de filmagem"},"servers":[{"url":"https://studiopro360.com.br/api/v1","description":"StudioPro360"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"Chave","description":"Sobre a chave usada"},{"name":"Projetos"},{"name":"Clientes"},{"name":"Orçamentos"},{"name":"Financeiro"},{"name":"Inventário"},{"name":"Entregas"},{"name":"Set e filmagem"}],"paths":{"/me":{"get":{"summary":"Produtora, escopos e limite da chave","description":"Produtora, escopos e limite da chave","tags":["Chave"],"security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Chave válida","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Me"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/projects":{"get":{"summary":"Lista projetos ou mostra um projeto (?id=)","description":"Lista projetos ou mostra um projeto (?id=)\n\nEscopo necessário: `projects:read`.","tags":["Projetos"],"x-required-scope":"projects:read","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"Com id, devolve só esse projeto em { data }.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"name":"status","in":"query","required":false,"description":"Filtra pela etapa.","schema":{"type":"string","enum":["draft","briefing","budgeting","approved","pre_production","production","post_production","delivered","cancelled"],"description":"Etapa"}},{"name":"clientId","in":"query","required":false,"description":"Filtra pelo cliente.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"name":"q","in":"query","required":false,"description":"Busca no título e no código.","schema":{"type":"string","maxLength":100}},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/cursor"}],"responses":{"200":{"description":"Projetos (lista paginada) ou o projeto pedido","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Project"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Project"}}}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"post":{"summary":"Cria um projeto","description":"Cria um projeto\n\nEscopo necessário: `projects:write`.","tags":["Projetos"],"x-required-scope":"projects:write","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCreate"}}}},"responses":{"201":{"description":"Projeto criado","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Project"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"patch":{"summary":"Muda a etapa do projeto","description":"Muda só a etapa (status). Webhooks inscritos em `project.updated` são avisados.\n\nEscopo necessário: `projects:write`.","tags":["Projetos"],"x-required-scope":"projects:write","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"Projeto a atualizar (ou envie id no corpo).","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectStage"}}}},"responses":{"200":{"description":"Projeto atualizado","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Project"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/clients":{"get":{"summary":"Lista clientes ou mostra um cliente (?id=)","description":"Sem dados cadastrais protegidos: só nome, tipo, contato e se o cadastro está completo.\n\nEscopo necessário: `clients:read`.","tags":["Clientes"],"x-required-scope":"clients:read","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"Com id, devolve só esse cliente em { data }.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"name":"status","in":"query","required":false,"description":"Filtra pela situação.","schema":{"type":"string","enum":["active","archived"],"description":"Situação"}},{"name":"q","in":"query","required":false,"description":"Busca no nome, razão social e e-mail.","schema":{"type":"string","maxLength":100}},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/cursor"}],"responses":{"200":{"description":"Clientes","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Client"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Client"}}}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"post":{"summary":"Cadastra um cliente (sem dados cadastrais protegidos)","description":"CPF, CNPJ, RG, endereço e dados bancários não são aceitos (400 `sensitive_data_not_accepted`); complete o cadastro no app.\n\nEscopo necessário: `clients:write`.","tags":["Clientes"],"x-required-scope":"clients:write","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientCreate"}}}},"responses":{"201":{"description":"Cliente cadastrado","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Client"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/budgets":{"get":{"summary":"Lista orçamentos ou mostra um orçamento (?id=) com as versões","description":"Lista orçamentos ou mostra um orçamento (?id=) com as versões\n\nEscopo necessário: `budgets:read`.","tags":["Orçamentos"],"x-required-scope":"budgets:read","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"Com id, devolve o orçamento com todas as versões e seus totais.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"name":"status","in":"query","required":false,"description":"Filtra pela situação.","schema":{"type":"string","enum":["draft","sent","approved","rejected","archived"],"description":"Situação"}},{"name":"projectId","in":"query","required":false,"description":"Filtra pelo projeto.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"name":"clientId","in":"query","required":false,"description":"Filtra pelo cliente.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/cursor"}],"responses":{"200":{"description":"Orçamentos","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Budget"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/BudgetDetail"}}}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/finance/summary":{"get":{"summary":"Resumo de caixa","description":"Resumo de caixa\n\nEscopo necessário: `finance:read`.","tags":["Financeiro"],"x-required-scope":"finance:read","security":[{"bearerAuth":[]}],"parameters":[{"name":"from","in":"query","required":false,"description":"Início do período (AAAA-MM-DD), pela data de vencimento.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Fim do período (AAAA-MM-DD).","schema":{"type":"string","format":"date"}},{"name":"projectId","in":"query","required":false,"description":"Só os lançamentos do projeto.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}}],"responses":{"200":{"description":"Resumo de caixa","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/CashSummary"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/finance/entries":{"get":{"summary":"Lançamentos a pagar e a receber","description":"Lançamentos a pagar e a receber\n\nEscopo necessário: `finance:read`.","tags":["Financeiro"],"x-required-scope":"finance:read","security":[{"bearerAuth":[]}],"parameters":[{"name":"type","in":"query","required":false,"description":"A pagar ou a receber.","schema":{"type":"string","enum":["payable","receivable"],"description":"Tipo"}},{"name":"status","in":"query","required":false,"description":"overdue = em aberto e vencido.","schema":{"type":"string","enum":["draft","pending","approved","scheduled","partially_paid","paid","cancelled","overdue"],"description":"Situação"}},{"name":"projectId","in":"query","required":false,"description":"Filtra pelo projeto.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"name":"dueFrom","in":"query","required":false,"description":"Vencimento a partir de.","schema":{"type":"string","format":"date"}},{"name":"dueTo","in":"query","required":false,"description":"Vencimento até.","schema":{"type":"string","format":"date"}},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/cursor"}],"responses":{"200":{"description":"Lançamentos","content":{"application/json":{"schema":{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/FinancialEntry"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/inventory/items":{"get":{"summary":"Lista itens ou mostra um item (?id=)","description":"Valores (diária, compra, reposição) só aparecem para chaves que também têm `finance:read`; sem ele vêm como null.\n\nEscopo necessário: `inventory:read`.","tags":["Inventário"],"x-required-scope":"inventory:read","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"Com id, devolve só esse item em { data }.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"name":"q","in":"query","required":false,"description":"Busca no nome, SKU, etiqueta, série, marca e modelo.","schema":{"type":"string","maxLength":100}},{"name":"status","in":"query","required":false,"description":"Filtra pela situação.","schema":{"type":"string","enum":["available","in_use","maintenance","retired"],"description":"Situação"}},{"name":"categoryId","in":"query","required":false,"description":"Filtra pela categoria (exata).","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/cursor"}],"responses":{"200":{"description":"Itens","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/InventoryItem"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/InventoryItem"}}}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}},"post":{"summary":"Cadastra um item","description":"Mesmas regras do cadastro no app: `name` e `categoryId` obrigatórios (veja /inventory/categories). O SKU é gerado.\n\nEscopo necessário: `inventory:write`.","tags":["Inventário"],"x-required-scope":"inventory:write","security":[{"bearerAuth":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryItemInput"}}}},"responses":{"201":{"description":"Item cadastrado","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/InventoryItem"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}},"patch":{"summary":"Edita um item","description":"Edita um item\n\nEscopo necessário: `inventory:write`.","tags":["Inventário"],"x-required-scope":"inventory:write","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"Item a editar (ou envie id no corpo).","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryItemInput"}}}},"responses":{"200":{"description":"Item atualizado","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/InventoryItem"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/inventory/lookup":{"get":{"summary":"Busca por código (etiqueta, SKU, kit ou número de série)","description":"Busca por código (etiqueta, SKU, kit ou número de série)\n\nEscopo necessário: `inventory:read`.","tags":["Inventário"],"x-required-scope":"inventory:read","security":[{"bearerAuth":[]}],"parameters":[{"name":"code","in":"query","required":true,"description":"Código lido ou digitado.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"Item ou kit encontrado","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/LookupResult"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/inventory/availability":{"get":{"summary":"Disponibilidade","description":"Sem itemId: contagem por situação. Com itemId (e from/to): se o item está livre e as reservas de produção no período.\n\nEscopo necessário: `inventory:read`.","tags":["Inventário"],"x-required-scope":"inventory:read","security":[{"bearerAuth":[]}],"parameters":[{"name":"itemId","in":"query","required":false,"description":"Item a conferir.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"name":"from","in":"query","required":false,"description":"Início do período (AAAA-MM-DD).","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Fim do período (AAAA-MM-DD).","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Disponibilidade","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"oneOf":[{"$ref":"#/components/schemas/AvailabilitySummary"},{"$ref":"#/components/schemas/ItemAvailability"}]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/inventory/categories":{"get":{"summary":"Categorias do inventário","description":"Categorias do inventário\n\nEscopo necessário: `inventory:read`.","tags":["Inventário"],"x-required-scope":"inventory:read","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Categorias","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Category"}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/deliveries":{"get":{"summary":"Lista entregáveis ou mostra um entregável (?id=) com as versões","description":"Lista entregáveis ou mostra um entregável (?id=) com as versões\n\nEscopo necessário: `deliveries:read`.","tags":["Entregas"],"x-required-scope":"deliveries:read","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"query","required":false,"description":"Com id, devolve o entregável com as versões.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"name":"projectId","in":"query","required":false,"description":"Filtra pelo projeto.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"name":"status","in":"query","required":false,"description":"Filtra pela situação.","schema":{"type":"string","enum":["in_production","in_review","changes_requested","approved","delivered"],"description":"Situação"}},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/cursor"}],"responses":{"200":{"description":"Entregáveis","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Deliverable"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DeliverableDetail"}}}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/shoot-days":{"get":{"summary":"Diárias de filmagem","description":"Diárias de filmagem\n\nEscopo necessário: `set:read`.","tags":["Set e filmagem"],"x-required-scope":"set:read","security":[{"bearerAuth":[]}],"parameters":[{"name":"projectId","in":"query","required":false,"description":"Filtra pelo projeto.","schema":{"type":"string","format":"uuid","description":"Identificador (UUID)"}},{"name":"from","in":"query","required":false,"description":"A partir da data (AAAA-MM-DD).","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Até a data (AAAA-MM-DD).","schema":{"type":"string","format":"date"}},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/cursor"}],"responses":{"200":{"description":"Diárias, da mais próxima para a mais distante","content":{"application/json":{"schema":{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ShootDay"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"sp_live_…","description":"Chave de API da produtora (Integrações e API)."}},"parameters":{"limit":{"name":"limit","in":"query","description":"Itens por página (1 a 100).","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},"cursor":{"name":"cursor","in":"query","description":"Valor de pagination.nextCursor da página anterior.","schema":{"type":"string"}}},"responses":{"BadRequest":{"description":"Dados inválidos","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Chave ausente, inválida, revogada ou expirada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"Escopo insuficiente (insufficient_scope) ou produtora suspensa","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Registro não encontrado nesta produtora","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"RateLimited":{"description":"Limite de requisições por minuto atingido","headers":{"Retry-After":{"description":"Segundos até a próxima janela","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Código estável do erro","examples":["insufficient_scope","not_found","rate_limited","invalid_api_key"]},"message":{"type":"string","description":"Mensagem em português"},"requiredScope":{"type":"string","description":"Escopo que falta (só em insufficient_scope)"}}}}},"Pagination":{"type":"object","required":["limit","hasMore","nextCursor"],"properties":{"limit":{"type":"integer"},"hasMore":{"type":"boolean"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}}},"Me":{"type":"object","properties":{"studio":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"name":{"type":"string","description":"Nome da produtora"}}},"key":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"name":{"type":"string","description":"Nome da chave"},"prefix":{"type":"string","description":"Prefixo visível","examples":["sp_live_Ab12Cd34"]},"scopes":{"type":"array","items":{"type":"string","enum":["projects:read","projects:write","clients:read","clients:write","budgets:read","finance:read","inventory:read","inventory:write","deliveries:read","set:read"],"description":"Escopo"}},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","description":"Expiração (null = sem expiração)"},{"type":"null"}]}}},"rateLimit":{"type":"object","properties":{"limit":{"type":"integer"},"remaining":{"type":"integer"},"resetSeconds":{"type":"integer"}}},"apiVersion":{"type":"string","description":"Versão da API"}}},"Project":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"code":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"type":{"type":"string"},"status":{"type":"string","enum":["draft","briefing","budgeting","approved","pre_production","production","post_production","delivered","cancelled"],"description":"Etapa"},"statusLabel":{"type":"string","description":"Etapa em português"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"client":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}]},"startsAt":{"anyOf":[{"type":"string","format":"date-time","description":"Início"},{"type":"null"}]},"endsAt":{"anyOf":[{"type":"string","format":"date-time","description":"Encerramento"},{"type":"null"}]},"budgetAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Orçamento previsto (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","format":"date-time","description":"Criação"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"string","format":"date-time","description":"Última alteração"},{"type":"null"}]}}},"ProjectCreate":{"type":"object","required":["title"],"properties":{"title":{"type":"string","minLength":2,"maxLength":180},"code":{"type":"string","maxLength":48},"clientId":{"type":"string","format":"uuid","description":"Cliente da produtora"},"projectType":{"type":"string","maxLength":80,"default":"audiovisual"},"status":{"type":"string","enum":["draft","briefing","budgeting","approved","pre_production","production","post_production","delivered","cancelled"],"description":"Etapa inicial","default":"draft"},"description":{"type":"string","maxLength":6000},"startsAt":{"type":"string","format":"date-time"},"endsAt":{"type":"string","format":"date-time"},"budgetAmount":{"type":"string","description":"Valor em reais, ex.: \"25000.00\""}}},"ProjectStage":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["draft","briefing","budgeting","approved","pre_production","production","post_production","delivered","cancelled"],"description":"Nova etapa"}}},"Client":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"type":{"type":"string","enum":["company","individual","other"],"description":"Tipo"},"name":{"type":"string"},"legalName":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"phone":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string","enum":["active","archived"],"description":"Situação"},"registrationComplete":{"type":"boolean","description":"Dados cadastrais completos no app (os dados em si não saem pela API)"},"contactsCount":{"type":"integer"},"createdAt":{"anyOf":[{"type":"string","format":"date-time","description":"Criação"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"string","format":"date-time","description":"Última alteração"},{"type":"null"}]}}},"ClientCreate":{"type":"object","required":["name"],"properties":{"name":{"type":"string","minLength":2,"maxLength":180},"type":{"type":"string","enum":["company","individual","other"],"description":"Tipo","default":"company"},"legalName":{"type":"string","maxLength":220},"email":{"type":"string","format":"email"},"phone":{"type":"string","maxLength":40},"status":{"type":"string","enum":["active","archived"],"description":"Situação","default":"active"}}},"Totals":{"type":"object","properties":{"total":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Total (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"directCost":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Custo direto (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"contingency":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Contingência (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"administrative":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Administrativo (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"tax":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Impostos (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"commission":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Comissão (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"markup":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Margem (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"revenue":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Receita (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]}}},"Budget":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"code":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"status":{"type":"string"},"currency":{"type":"string","const":"BRL"},"validUntil":{"anyOf":[{"type":"string","format":"date","description":"Validade"},{"type":"null"}]},"approvedAt":{"anyOf":[{"type":"string","format":"date-time","description":"Aprovação"},{"type":"null"}]},"project":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"title":{"type":"string"}},"required":["id","title"]},{"type":"null"}]},"client":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}]},"latestVersion":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"number":{"type":"integer"},"status":{"type":"string"},"itemCount":{"type":"integer"},"totals":{"$ref":"#/components/schemas/Totals"}}},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","format":"date-time","description":"Criação"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"string","format":"date-time","description":"Última alteração"},{"type":"null"}]}}},"BudgetDetail":{"allOf":[{"$ref":"#/components/schemas/Budget"},{"type":"object","properties":{"versions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"number":{"type":"integer"},"status":{"type":"string"},"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"validUntil":{"anyOf":[{"type":"string","format":"date","description":"Validade"},{"type":"null"}]},"sentAt":{"anyOf":[{"type":"string","format":"date-time","description":"Envio"},{"type":"null"}]},"approvedAt":{"anyOf":[{"type":"string","format":"date-time","description":"Aprovação"},{"type":"null"}]},"itemCount":{"type":"integer"},"totals":{"$ref":"#/components/schemas/Totals"},"createdAt":{"anyOf":[{"type":"string","format":"date-time","description":"Criação"},{"type":"null"}]}}}}}}]},"CashSummary":{"type":"object","properties":{"currency":{"type":"string","const":"BRL"},"period":{"type":"object","properties":{"from":{"anyOf":[{"type":"string","format":"date","description":"Início"},{"type":"null"}]},"to":{"anyOf":[{"type":"string","format":"date","description":"Fim"},{"type":"null"}]}}},"projectId":{"anyOf":[{"type":"string","format":"uuid","description":"Identificador (UUID)"},{"type":"null"}]},"summary":{"type":"object","properties":{"openingBalance":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Saldo inicial das contas ativas (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"currentBalance":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Saldo atual (inicial + recebido − pago) (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"projectedBalance":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Saldo projetado (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"plannedReceivable":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"A receber previsto (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"plannedPayable":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"A pagar previsto (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"actualReceivable":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Recebido (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"actualPayable":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Pago (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"outstandingReceivable":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"A receber em aberto (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"outstandingPayable":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"A pagar em aberto (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"plannedNet":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Resultado previsto (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"actualNet":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Resultado realizado (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]}}},"months":{"type":"array","items":{"type":"object","properties":{"month":{"type":"string","description":"Mês (AAAA-MM)"},"plannedReceivable":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"A receber previsto (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"plannedPayable":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"A pagar previsto (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"actualReceivable":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Recebido (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"actualPayable":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Pago (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]}}}}}},"FinancialEntry":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"type":{"type":"string","enum":["payable","receivable"],"description":"Tipo"},"status":{"type":"string"},"effectiveStatus":{"type":"string","description":"overdue quando vencido em aberto"},"category":{"type":"string"},"description":{"type":"string"},"amount":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Valor (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"settledAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Baixado (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"remainingAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Em aberto (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"currency":{"type":"string","const":"BRL"},"issueDate":{"anyOf":[{"type":"string","format":"date","description":"Emissão"},{"type":"null"}]},"dueDate":{"anyOf":[{"type":"string","format":"date","description":"Vencimento"},{"type":"null"}]},"competenceDate":{"anyOf":[{"type":"string","format":"date","description":"Competência"},{"type":"null"}]},"documentNumber":{"anyOf":[{"type":"string"},{"type":"null"}]},"projectId":{"anyOf":[{"type":"string","format":"uuid","description":"Identificador (UUID)"},{"type":"null"}]},"clientId":{"anyOf":[{"type":"string","format":"uuid","description":"Identificador (UUID)"},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","format":"date-time","description":"Criação"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"string","format":"date-time","description":"Última alteração"},{"type":"null"}]}}},"InventoryItem":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"sku":{"type":"string","description":"Código gerado (EQ-0001)"},"tagCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"categoryId":{"anyOf":[{"type":"string","format":"uuid","description":"Identificador (UUID)"},{"type":"null"}]},"category":{"type":"string","description":"Caminho da categoria"},"brand":{"anyOf":[{"type":"string"},{"type":"null"}]},"model":{"anyOf":[{"type":"string"},{"type":"null"}]},"serialNumber":{"anyOf":[{"type":"string"},{"type":"null"}]},"quantity":{"type":"integer"},"status":{"type":"string","enum":["available","in_use","maintenance","retired"],"description":"Situação"},"availabilityStatus":{"type":"string"},"storageLocation":{"anyOf":[{"type":"string"},{"type":"null"}]},"condition":{"anyOf":[{"type":"string"},{"type":"null"}]},"ownershipType":{"type":"string"},"currentProject":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"title":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","title"]},{"type":"null"}]},"expectedReturnOn":{"anyOf":[{"type":"string","format":"date","description":"Devolução prevista"},{"type":"null"}]},"nextMaintenanceOn":{"anyOf":[{"type":"string","format":"date","description":"Próxima manutenção"},{"type":"null"}]},"dailyRate":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Diária (só com finance:read) (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"purchaseValue":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Valor de compra (só com finance:read) (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"replacementValue":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Valor de reposição (só com finance:read) (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","format":"date-time","description":"Criação"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"string","format":"date-time","description":"Última alteração"},{"type":"null"}]}}},"InventoryItemInput":{"type":"object","description":"Campos do cadastro de item, os mesmos do app. Na edição, só os campos enviados mudam.","properties":{"name":{"type":"string"},"categoryId":{"type":"string","format":"uuid","description":"Categoria (GET /inventory/categories)"},"brand":{"type":"string"},"model":{"type":"string"},"serialNumber":{"type":"string"},"tagCode":{"type":"string","description":"Etiqueta física (não pode imitar EQ-0000/KIT-0000)"},"quantity":{"type":"integer","minimum":1},"storageLocation":{"type":"string"},"condition":{"type":"string","enum":["new","excellent","used","worn"]},"ownershipType":{"type":"string","enum":["owned","rented","partner","other"]},"dailyRate":{"type":"string"},"purchaseValue":{"type":"string"},"replacementValue":{"type":"string"},"acquiredOn":{"type":"string","format":"date"},"notes":{"type":"string"},"customFields":{"type":"object","additionalProperties":true}},"additionalProperties":true},"LookupResult":{"type":"object","properties":{"type":{"type":"string","enum":["item","kit"],"description":"O que foi encontrado"},"matchedBy":{"type":"string","enum":["tag","sku","serial","kit"],"description":"Por qual código"},"item":{"$ref":"#/components/schemas/InventoryItem"},"kit":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"code":{"type":"string"},"name":{"type":"string"},"tagCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"storageLocation":{"anyOf":[{"type":"string"},{"type":"null"}]},"dailyRate":{"anyOf":[{"type":"string","pattern":"^-?\\d+\\.\\d{2}$","description":"Diária somada (só com finance:read) (string decimal, ex.: \"1234.50\")","examples":["1234.50"]},{"type":"null"}]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"name":{"type":"string"},"sku":{"type":"string"},"tagCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"quantity":{"type":"integer"},"status":{"type":"string"}}}}}}}},"AvailabilitySummary":{"type":"object","properties":{"byStatus":{"type":"object","additionalProperties":{"type":"object","properties":{"items":{"type":"integer"},"units":{"type":"integer"}}}}}},"ItemAvailability":{"type":"object","properties":{"item":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"name":{"type":"string"},"sku":{"type":"string"},"status":{"type":"string"},"expectedReturnOn":{"anyOf":[{"type":"string","format":"date","description":"Devolução prevista"},{"type":"null"}]}}},"period":{"type":"object","properties":{"from":{"anyOf":[{"type":"string","format":"date","description":"Início"},{"type":"null"}]},"to":{"anyOf":[{"type":"string","format":"date","description":"Fim"},{"type":"null"}]}}},"available":{"type":"boolean"},"reasons":{"type":"array","items":{"type":"string"}},"reservations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"status":{"type":"string"},"startsAt":{"anyOf":[{"type":"string","format":"date-time","description":"Início"},{"type":"null"}]},"endsAt":{"anyOf":[{"type":"string","format":"date-time","description":"Fim"},{"type":"null"}]},"project":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"title":{"type":"string"}}}}}}}},"Category":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"parentId":{"anyOf":[{"type":"string","format":"uuid","description":"Identificador (UUID)"},{"type":"null"}]},"name":{"type":"string"},"path":{"type":"string"},"itemCount":{"type":"integer"}}},"Deliverable":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"kind":{"type":"string"},"status":{"type":"string","enum":["in_production","in_review","changes_requested","approved","delivered"],"description":"Situação"},"dueOn":{"anyOf":[{"type":"string","format":"date","description":"Prazo"},{"type":"null"}]},"deliveredAt":{"anyOf":[{"type":"string","format":"date-time","description":"Entrega"},{"type":"null"}]},"project":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"title":{"type":"string"}}},"versionCount":{"type":"integer"},"latestVersion":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"number":{"type":"integer"},"decision":{"anyOf":[{"type":"string","enum":["approved","changes_requested"]},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string","format":"date-time","description":"Decisão"},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","format":"date-time","description":"Criação"},{"type":"null"}]}}},{"type":"null"}]},"openClientComments":{"type":"integer"},"createdAt":{"anyOf":[{"type":"string","format":"date-time","description":"Criação"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"string","format":"date-time","description":"Última alteração"},{"type":"null"}]}}},"DeliverableDetail":{"allOf":[{"$ref":"#/components/schemas/Deliverable"},{"type":"object","properties":{"versions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"number":{"type":"integer"},"decision":{"anyOf":[{"type":"string"},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string","format":"date-time","description":"Decisão"},{"type":"null"}]},"fileCount":{"type":"integer"},"createdAt":{"anyOf":[{"type":"string","format":"date-time","description":"Criação"},{"type":"null"}]}}}}}}]},"ShootDay":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"project":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identificador (UUID)"},"title":{"type":"string"}}},"date":{"type":"string","format":"date"},"generalCallTime":{"anyOf":[{"type":"string","pattern":"^\\d{2}:\\d{2}$"},{"type":"null"}]},"wrapTime":{"anyOf":[{"type":"string","pattern":"^\\d{2}:\\d{2}$"},{"type":"null"}]},"location":{"anyOf":[{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"city":{"anyOf":[{"type":"string"},{"type":"null"}]},"state":{"anyOf":[{"type":"string"},{"type":"null"}]}}},{"type":"null"}]},"sceneCount":{"type":"integer"},"callSheet":{"anyOf":[{"type":"object","properties":{"status":{"type":"string"},"publishedAt":{"anyOf":[{"type":"string","format":"date-time","description":"Publicação"},{"type":"null"}]}}},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","format":"date-time","description":"Criação"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"string","format":"date-time","description":"Última alteração"},{"type":"null"}]}}}}}}