Projetos & entrega
Projetos, tarefas, membros, taxas e alocações — automatize a entrega e sincronize os dados dos projetos.
Projeto
Endpoints
| GET | /projects | Recupera a coleção de recursos Project. |
| POST | /projects | Cria um recurso Project. |
| GET | /projects/{id} | Recupera um recurso Project. |
| PATCH | /projects/{id} | Atualiza o recurso Project. |
| DELETE | /projects/{id} | Remove o recurso Project. |
| POST | /projects/{id}/archive | Archive this project |
| GET | /projects/{id}/cost-allocations | Recupera um recurso Project. |
| GET | /projects/{id}/documents | Recupera um recurso Project. |
| GET | /projects/{id}/logged-time | Recupera um recurso Project. |
| POST | /projects/{id}/merge | Merge this project into another |
| POST | /projects/{id}/pin | Pin this project for the current user |
| GET | /projects/{id}/profitability | Recupera um recurso Project. |
| GET | /projects/{id}/reparent-impact | How many employees lose visibility if this project is moved |
| GET | /projects/{id}/travel | Recupera um recurso Project. |
| POST | /projects/{id}/unarchive | Restore an archived project |
| POST | /projects/{id}/unpin | Unpin this project for the current user |
| GET | /projects/folder-counts | Recupera a coleção de recursos Project. |
| GET | /projects/preview | Recupera a coleção de recursos Project. |
| GET | /projects/reference-usage | Recupera a coleção de recursos Project. |
| GET | /projects/search | Recupera a coleção de recursos Project. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | |
| parent | mixed | |
| client | string,null (iri-reference) | |
| currency | string,null (iri-reference) | |
| dateFrom | string,null (date-time) | |
| dateTo | string,null (date-time) | |
| name* | string | |
| publicDescription | stringnull | |
| type* | string | |
| clientHash | string | |
| notes | stringnull | |
| description | stringnull | Free-text description. A third free-text field alongside `publicDescription` (customer-facing, 255) and `notes` (internal): the client asked for "description" and got it as its own field rather than a rename, so nothing that reads either of the other two changes meaning (#3431). |
| reference | stringnull | Cross-system integration key — a stable, human-writable handle for joining this project to systems outside Flowtly, because the numeric id is unusable for that (#3431). NOT a display nicety: the UI prefilling it from the name is a convenience on first entry, and every property below is the contract. |
| color | string | |
| icon | stringnull | |
| priceNet | stringnull | |
| taxGroup | string,null (iri-reference) | |
| attributeSet | string,null (iri-reference) | |
| taskCreatePolicy | string | |
| taskVisibility | string | |
| projectMembers | array | |
| archivedAt | string,null (date-time) | Archiving retires a project from view without deleting it (#2896). |
| status | string | |
| flattenType | string | |
| budgets | array |
Membro do Projeto
Endpoints
| GET | /project-members | Recupera a coleção de recursos ProjectMember. |
| POST | /project-members | Cria um recurso ProjectMember. |
| GET | /project-members/{id} | Recupera um recurso ProjectMember. |
| PATCH | /project-members/{id} | Atualiza o recurso ProjectMember. |
| DELETE | /project-members/{id} | Remove o recurso ProjectMember. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| id | string | |
| employee* | string (iri-reference) | |
| project* | string (iri-reference) | |
| position | string | |
| positionName | string | |
| notify | boolean | Whether to send this person the "project assigned" notification (#3955). |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| possiblePositions | string |
Tarefa do Projeto
Endpoints
| POST | /project_tasks/{id}/subscribe | Cria um recurso ProjectTask. |
| POST | /project_tasks/{id}/unsubscribe | Cria um recurso ProjectTask. |
| GET | /project-tasks | Recupera a coleção de recursos ProjectTask. |
| POST | /project-tasks | Cria um recurso ProjectTask. |
| GET | /project-tasks/{id} | Recupera um recurso ProjectTask. |
| PATCH | /project-tasks/{id} | Atualiza o recurso ProjectTask. |
| DELETE | /project-tasks/{id} | Remove o recurso ProjectTask. |
| GET | /project-tasks/picker | Recupera a coleção de recursos ProjectTask. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | |
| project | string (iri-reference) | |
| requester | string,null (iri-reference) | |
| list | string,null (iri-reference) | |
| status | string (iri-reference) | |
| title | string | |
| description | stringnull | |
| priority* | string | |
| startAt | string,null (date-time) | |
| dueAt | string,null (date-time) | |
| completedAt | string,null (date-time) | |
| position | integer | |
| recurrenceRule | string,null (iri-reference) | |
| recurrenceParent | string,null (iri-reference) | |
| isTemplate | boolean | |
| assignees | array | |
| subtasks | array | The task's checklist, as STRUCTURED items rather than prose (#2210). |
| subscribers | array | |
| asset | string,null (iri-reference) | |
| transaction | string,null (iri-reference) | THE FINANCE DOCUMENT THIS TASK IS ABOUT (#3532). |
| transactionAttachment | string,null (iri-reference) | |
| source | string | |
| raisedBy | string,null (iri-reference) | ZGŁASZAJĄCY — the COLLEAGUE who raised this task (#2210). |
| reporterName | stringnull | |
| reporterEmail | stringnull | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| possiblePriorities | string | |
| statusName | stringnull | Slim status accessor for the WorkTime embed — keeps the API payload small (single string) instead of nesting the full ProjectTaskStatus resource on every WorkTime row. |
| template | boolean | |
| subtaskProgress | array | How many of the checklist's items are done, and how many there are (#2210). |
Preço do Projeto
Endpoints
| GET | /project-prices | Recupera a coleção de recursos ProjectPrice. |
| POST | /project-prices | Cria um recurso ProjectPrice. |
| GET | /project-prices/{id} | Recupera um recurso ProjectPrice. |
| PATCH | /project-prices/{id} | Atualiza o recurso ProjectPrice. |
| DELETE | /project-prices/{id} | Remove o recurso ProjectPrice. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| project* | string,null (iri-reference) | |
| property | string,null (iri-reference) | |
| attributeRule* | string (iri-reference) | |
| amount* | string | |
| currency* | string (iri-reference) | |
| dateFrom* | string,null (date-time) | |
| note | stringnull |
Transação do Projeto
Endpoints
| GET | /project-transactions | Recupera a coleção de recursos ProjectTransaction. |
| POST | /project-transactions | Cria um recurso ProjectTransaction. |
| PATCH | /project-transactions/{id} | Atualiza o recurso ProjectTransaction. |
| DELETE | /project-transactions/{id} | Remove o recurso ProjectTransaction. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| project* | string,null (iri-reference) | |
| transaction* | string,null (iri-reference) | |
| amount | stringnull | |
| note | stringnull |
Taxa de Projeto do Funcionário
Endpoints
| GET | /people-project-rates | Recupera a coleção de recursos EmployeeProjectRate. |
| POST | /people-project-rates | Cria um recurso EmployeeProjectRate. |
| GET | /people-project-rates/{id} | Recupera um recurso EmployeeProjectRate. |
| PATCH | /people-project-rates/{id} | Atualiza o recurso EmployeeProjectRate. |
| DELETE | /people-project-rates/{id} | Remove o recurso EmployeeProjectRate. |
| POST | /people-project-rates/{id}/extend | Cria um recurso EmployeeProjectRate. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | |
| employee* | string (iri-reference) | |
| project* | string (iri-reference) | |
| position | stringnull | |
| positionRef | string,null (iri-reference) | |
| rate* | number | |
| currency | string (iri-reference) | |
| dateFrom* | string,null (date-time) | Nullable, to match the column, the property, the getter and {@see \App\Service\App\WorkTime\Report\EntryRateResolver::selectEffective()}, all four of which already admit a null left edge. Only this setter and isActive() refused it, which is the same asymmetry: `setDateTo()` and the `dateTo` half of isActive() both handle null, and the `dateFrom` half of neither did (#3159). |
| dateTo | string,null (date-time) | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| active | boolean | Does this rate apply on the given date? |
| relatedEmployee | string,null (iri-reference) |
Comentário de Tarefa do Projeto
Endpoints
| GET | /project-task-comments | Recupera a coleção de recursos ProjectTaskComment. |
| POST | /project-task-comments | Cria um recurso ProjectTaskComment. |
| GET | /project-task-comments/{id} | Recupera um recurso ProjectTaskComment. |
| PATCH | /project-task-comments/{id} | Atualiza o recurso ProjectTaskComment. |
| DELETE | /project-task-comments/{id} | Remove o recurso ProjectTaskComment. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | |
| task | string (iri-reference) | |
| employee | string (iri-reference) | |
| content | string | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) |
Lista de Tarefas do Projeto
Endpoints
| GET | /project-task-lists | Recupera a coleção de recursos ProjectTaskList. |
| POST | /project-task-lists | Cria um recurso ProjectTaskList. |
| GET | /project-task-lists/{id} | Recupera um recurso ProjectTaskList. |
| PATCH | /project-task-lists/{id} | Atualiza o recurso ProjectTaskList. |
| DELETE | /project-task-lists/{id} | Remove o recurso ProjectTaskList. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | |
| project | string (iri-reference) | |
| name | string | |
| position | integer | |
| isDefault | boolean | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| default | boolean |
Estado de Tarefa do Projeto
Endpoints
| GET | /project-task-statuses | Recupera a coleção de recursos ProjectTaskStatus. |
| POST | /project-task-statuses | Cria um recurso ProjectTaskStatus. |
| GET | /project-task-statuses/{id} | Recupera um recurso ProjectTaskStatus. |
| PATCH | /project-task-statuses/{id} | Atualiza o recurso ProjectTaskStatus. |
| DELETE | /project-task-statuses/{id} | Remove o recurso ProjectTaskStatus. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | |
| name | string | |
| color | string | |
| position | integer | |
| isClosed | boolean | READABLE ACCESSOR, and it is not a duplicate of {@see isClosed()} (#3720). |
| isStarted | boolean | Marks a status as meaning "work has begun", exactly parallel to {@see $isClosed}. Not mutually exclusive with it or with itself across rows: like isClosed, more than one status may carry isStarted=true at once (e.g. "In progress" and "In review" could both count as started), and there is no DB or app-level uniqueness enforcement — same as isClosed today. |
| isDefault | boolean | READABLE ACCESSOR, and it is not a duplicate of {@see isDefault()} (#3720). |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| deletedAt | string,null (date-time) | |
| closed | boolean | |
| started | boolean | |
| default | boolean | |
| deleted | boolean | Check if the entity has been soft deleted. |
Regra de Recorrência de Tarefa do Projeto
Endpoints
| GET | /project-task-recurrence-rules | Recupera a coleção de recursos ProjectTaskRecurrenceRule. |
| POST | /project-task-recurrence-rules | Cria um recurso ProjectTaskRecurrenceRule. |
| GET | /project-task-recurrence-rules/{id} | Recupera um recurso ProjectTaskRecurrenceRule. |
| PATCH | /project-task-recurrence-rules/{id} | Atualiza o recurso ProjectTaskRecurrenceRule. |
| DELETE | /project-task-recurrence-rules/{id} | Remove o recurso ProjectTaskRecurrenceRule. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | |
| project | string (iri-reference) | |
| frequency | string | |
| interval | integer | |
| weekday | integernull | |
| monthDay | integernull | |
| timeOfDay | string,null (date-time) | |
| timezone | string | |
| nextRunAt | string,null (date-time) | |
| endAt | string,null (date-time) | |
| maxOccurrences | integernull | |
| occurrencesGenerated | integer | |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| possibleFrequencies | string |
Plano de Pessoas do Projeto
Endpoints
| GET | /project-people-plans | Recupera a coleção de recursos ProjectPeoplePlan. |
| POST | /project-people-plans | Cria um recurso ProjectPeoplePlan. |
| GET | /project-people-plans/{id} | Recupera um recurso ProjectPeoplePlan. |
| PATCH | /project-people-plans/{id} | Atualiza o recurso ProjectPeoplePlan. |
| DELETE | /project-people-plans/{id} | Remove o recurso ProjectPeoplePlan. |
| GET | /projects/{projectId}/people-plans | Recupera a coleção de recursos ProjectPeoplePlan. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| project | string (iri-reference) | |
| periodKey | string | |
| forecastHours | integernull | |
| overrideRatePerHour | stringnull |
Regra de Cascata de Alocação do Projeto
Endpoints
| GET | /project-allocation-cascade-rules | Recupera a coleção de recursos ProjectAllocationCascadeRule. |
| POST | /project-allocation-cascade-rules | Cria um recurso ProjectAllocationCascadeRule. |
| GET | /project-allocation-cascade-rules/{id} | Recupera um recurso ProjectAllocationCascadeRule. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| id | string | |
| name | string | |
| assetAttribute | string (iri-reference) | Attribute carried by Property (Asset) entities. Drives the share each selected Asset takes of the total cost. For Juwentus on Horizon this is "Ochrona" (5/13/23.98/23.42/34.60 across the 5 buildings, summing to 100). |
| projectAttribute | string (iri-reference) | Attribute carried by tenant Projects. Drives the within-building split. For Horizon's standard rules this is "Powierzchnia" — each tenant's m² inside its building. |
Anexo de Transação do Projeto
Endpoints
| GET | /project-transaction-attachments | Recupera a coleção de recursos ProjectTransactionAttachment. |
| POST | /project-transaction-attachments | Cria um recurso ProjectTransactionAttachment. |
| PATCH | /project-transaction-attachments/{id} | Atualiza o recurso ProjectTransactionAttachment. |
| DELETE | /project-transaction-attachments/{id} | Remove o recurso ProjectTransactionAttachment. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| project | string (iri-reference) | |
| transactionAttachment | string (iri-reference) | |
| netAmount | integernull | |
| excluded | booleannull | A client the operator DELIBERATELY struck from this split (#3315). |
| line | string,null (iri-reference) |
Preço do Contador do Projeto
Endpoints
| GET | /project-meter-prices | Recupera a coleção de recursos ProjectMeterPrice. |
| POST | /project-meter-prices | Cria um recurso ProjectMeterPrice. |
| PATCH | /project-meter-prices/{id} | Atualiza o recurso ProjectMeterPrice. |
| DELETE | /project-meter-prices/{id} | Remove o recurso ProjectMeterPrice. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| id | string | |
| project* | string (iri-reference) | |
| utilityType* | string | |
| meter | string,null (iri-reference) | |
| unitPrice* | string | |
| currency | string,null (iri-reference) | |
| effectiveFrom | string,null (date-time) |
Transferência de custo de projeto
Endpoints
| POST | /project-costs/move | Cria um recurso ProjectCostMove. |
Modelo de projeto
Endpoints
| GET | /project-templates | Recupera a coleção de recursos ProjectTemplate. |
| POST | /project-templates | Cria um recurso ProjectTemplate. |
| GET | /project-templates/{id} | Recupera um recurso ProjectTemplate. |
| PATCH | /project-templates/{id} | Atualiza o recurso ProjectTemplate. |
| DELETE | /project-templates/{id} | Remove o recurso ProjectTemplate. |
| POST | /project-templates/{id}/instantiate | Cria um recurso ProjectTemplate. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | |
| name* | string | |
| structure | object | |
| isDefault | boolean | The org's built-in default template (#3026): applied to a project created with no template explicitly chosen. Read-only over the API — not in the create/update groups — because a user declaring their own template "the default" would leave more than one row with this flag true, and nothing enforces the resulting ambiguity away. Set only by ProjectDefaultTemplateProvisioner, which lazily creates this row once per org and never touches it again. |
| createdAt | string (date-time) | |
| updatedAt | string (date-time) | |
| deletedAt | string,null (date-time) | |
| default | boolean | |
| deleted | boolean | Check if the entity has been soft deleted. |
Subtarefa de tarefa de projeto
Endpoints
| GET | /project-task-subtasks | Recupera a coleção de recursos ProjectTaskSubtask. |
| POST | /project-task-subtasks | Cria um recurso ProjectTaskSubtask. |
| GET | /project-task-subtasks/{id} | Recupera um recurso ProjectTaskSubtask. |
| PATCH | /project-task-subtasks/{id} | Atualiza o recurso ProjectTaskSubtask. |
| DELETE | /project-task-subtasks/{id} | Remove o recurso ProjectTaskSubtask. |
Campos de schema
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | |
| task | string (iri-reference) | |
| title* | string | Never empty. An item with no text is not a checklist entry, it is a stray row that renders as a checkbox beside nothing — and the archetype's permanent `.ck.add` row means an accidental blank submit is easy to make. |
| done | boolean | |
| position | integer | Author-arranged order within the task. Ties break on id, via the collection's own ordering. |