Gerenciador de Arquivos
Pastas, arquivos e documentos da empresa: listar tudo, baixar, enviar, editar, renomear, mover e definir quem acessa.
O que é
O Gerenciador de Arquivos guarda os documentos, fotos e vídeos da empresa em pastas, como um drive. Cada pasta tem dono e visibilidade (privada ou da empresa), e tudo que entra nela herda essas regras.
Pela API, uma integração ou uma IA consegue organizar pastas e subir muitos arquivos de uma vez, sem passar pelo painel.
O que dá para fazer hoje
- Listar as pastas visíveis e descobrir o
idda pasta de destino. - Criar pastas dentro de outras.
- Enviar arquivos em lote (até 50 MB cada), recriando subpastas.
- Enviar arquivos grandes em partes.
- Arquivar um arquivo (vai para a lixeira).
Importante
- A API segue as mesmas permissões do painel: só grava onde o usuário da credencial pode gravar.
- Todo envio precisa de uma pasta de destino (
parent_id). - Fotos HEIC e vídeos ganham prévia automaticamente quando o servidor tem os programas de conversão.
Disponibilidade na API
Endpoints do Gerenciador de Arquivos
Liste pastas, arquivos e documentos (um nível ou a árvore inteira), veja e baixe arquivos, crie pastas e documentos, envie arquivos (inclusive grandes, em partes), edite documentos, renomeie, mova, arquive e defina quem acessa (papéis por pessoa e por time na Empresa). Os exemplos abaixo são gerados pelo contrato OpenAPI oficial.
/api/v1/file-manager/folders
Cria uma pasta
Cria uma pasta dentro da pasta de destino. A pasta herda o dono e a visibilidade do destino, como no painel.
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
parent_id | integer | Sim | Pasta de destino. |
name | string | Sim | Até 255 caracteres. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/file-manager/folders" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"parent_id":1,"name":"string"}'Exemplo de resposta JSON
{
"data": {
"id": 1444,
"name": "IMG_9512",
"type": "file",
"extension": "mov",
"mime_type": "video/quicktime",
"size": 215912345,
"parent_id": 497,
"path": "Empresa/Fotos/Obra Centro",
"owner_id": 2,
"visibility": "company",
"company_access": null,
"created_at": "2026-10-21T23:48:11-03:00",
"updated_at": "2026-10-22T09:10:02-03:00"
}
}Respostas possíveis
/api/v1/file-manager/files
Envia arquivos para uma pasta
Envia um ou mais arquivos (multipart/form-data) para a pasta de destino. Com relative_paths, recria a estrutura de pastas enviada. Para arquivos grandes, use o fluxo em partes.
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/file-manager/files" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": [
{
"id": 1444,
"name": "IMG_9512",
"type": "file",
"extension": "mov",
"mime_type": "video/quicktime",
"size": 215912345,
"parent_id": 497,
"path": "Empresa/Fotos/Obra Centro",
"owner_id": 2,
"visibility": "company",
"company_access": null,
"created_at": "2026-10-21T23:48:11-03:00",
"updated_at": "2026-10-22T09:10:02-03:00"
}
]
}Respostas possíveis
/api/v1/file-manager/files/{item}
Arquiva um arquivo
Envia o arquivo para a lixeira do gerenciador, como o excluir do painel. Pode ser restaurado pelo painel. Pastas não são aceitas.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
itempath | integer | Sim | — |
Exemplo de requisição
curl -X DELETE "$MICORE_BASE_URL/file-manager/files/{item}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 1,
"archived": true
}
}Respostas possíveis
/api/v1/file-manager/items
Lista pastas, arquivos e documentos
Lista tudo o que o usuário da credencial pode ver, com a mesma regra do painel. Sem `recursive`, mostra um nível (a raiz ou a pasta de `parent_id`); com `recursive=true`, traz tudo abaixo dela, ou o gerenciador inteiro. Com `search`, a busca desce pelas subpastas. Itens dentro de pasta arquivada não aparecem. Cada item traz `path`, o caminho de pastas até ele.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
parent_idquery | integer | Não | Pasta a listar. Sem valor, começa da raiz. |
recursivequery | boolean | Não | Traz tudo abaixo da pasta (ou do gerenciador inteiro). |
typequery | string | Não | — |
searchquery | string | Não | Parte do nome; busca também nas subpastas. |
extensionquery | string | Não | Ex.: pdf, jpg. |
sortquery | string | Não | Com `-` a ordem é decrescente. Sem valor, pastas primeiro e depois o nome. |
per_pagequery | integer | Não | — |
pagequery | integer | Não | — |
Exemplo de requisição
curl "$MICORE_BASE_URL/file-manager/items" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": [
{
"id": 1444,
"name": "IMG_9512",
"type": "file",
"extension": "mov",
"mime_type": "video/quicktime",
"size": 215912345,
"parent_id": 497,
"path": "Empresa/Fotos/Obra Centro",
"owner_id": 2,
"visibility": "company",
"company_access": null,
"created_at": "2026-10-21T23:48:11-03:00",
"updated_at": "2026-10-22T09:10:02-03:00"
}
],
"links": [],
"meta": []
}Respostas possíveis
/api/v1/file-manager/items/{item}
Mostra um item
Detalhe de uma pasta, arquivo ou documento visível ao usuário. No documento, traz também o texto em `content`.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
itempath | integer | Sim | — |
Exemplo de requisição
curl "$MICORE_BASE_URL/file-manager/items/{item}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 1444,
"name": "IMG_9512",
"type": "file",
"extension": "mov",
"mime_type": "video/quicktime",
"size": 215912345,
"parent_id": 497,
"path": "Empresa/Fotos/Obra Centro",
"owner_id": 2,
"visibility": "company",
"company_access": null,
"created_at": "2026-10-21T23:48:11-03:00",
"updated_at": "2026-10-22T09:10:02-03:00"
}
}Respostas possíveis
/api/v1/file-manager/items/{item}
Renomeia um arquivo ou pasta
Troca o nome de um arquivo ou pasta, com as mesmas regras do painel. O nome não pode ter barras nem repetir outro item da mesma pasta.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
itempath | integer | Sim | — |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | Até 255 caracteres. |
Exemplo de requisição
curl -X PATCH "$MICORE_BASE_URL/file-manager/items/{item}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name":"string"}'Exemplo de resposta JSON
{
"data": {
"id": 1444,
"name": "IMG_9512",
"type": "file",
"extension": "mov",
"mime_type": "video/quicktime",
"size": 215912345,
"parent_id": 497,
"path": "Empresa/Fotos/Obra Centro",
"owner_id": 2,
"visibility": "company",
"company_access": null,
"created_at": "2026-10-21T23:48:11-03:00",
"updated_at": "2026-10-22T09:10:02-03:00"
}
}Respostas possíveis
/api/v1/file-manager/items/{item}/sharing
Mostra quem acessa um item
Visibilidade, acesso de quem não tem papel (só na Empresa), papéis por pessoa e por time, o papel de quem chama (`my_permission`) e se ele pode mudar o compartilhamento (`can_manage`). Na Empresa o item é da empresa: vale o maior papel da pessoa ou dos times dela no item ou numa pasta acima; quem não tem papel recebe o acesso da pasta (`everyone_edit`, `everyone_view` ou `restricted`).
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
itempath | integer | Sim | — |
Exemplo de requisição
curl "$MICORE_BASE_URL/file-manager/items/{item}/sharing" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 497,
"name": "RH",
"type": "folder",
"visibility": "company",
"is_root": true,
"owner": null,
"company_access": "everyone_view",
"inherited_company_access": null,
"effective_company_access": "everyone_view",
"my_permission": "gerenciar",
"can_manage": true,
"can_change_visibility": true,
"users": [
{
"user_id": 12,
"name": "Ana Souza",
"email": "ana@empresa.com.br",
"permission": "gerenciar"
}
],
"teams": [
{
"team_id": 3,
"name": "Recursos Humanos",
"permission": "editar"
}
]
}
}Respostas possíveis
/api/v1/file-manager/items/{item}/sharing
Muda quem acessa um item
Só as chaves enviadas mudam; `users` e `teams` substituem a lista anterior. Na Empresa exige papel `gerenciar` (no privado, `editar`). `visibility` só muda em item da raiz (dentro de pasta segue a pasta); levar à Empresa deixa o item em `everyone_view` e dá `gerenciar` a quem publicou. `company_access` numa subpasta não pode ser mais aberto que o da pasta de cima (`inherit` segue a de cima). Quem salva não pode ficar sem `gerenciar` num item da Empresa.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
itempath | integer | Sim | — |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
visibility | string | Não | Só em item da raiz. Valores: private, company. |
company_access | string | Não | Só na Empresa; numa subpasta não pode abrir mais que a de cima. Valores: everyone_edit, everyone_view, restricted, inherit. |
users | array<object> | Não | Substitui os papéis por pessoa. |
teams | array<object> | Não | Substitui os papéis por time (vale para os integrantes ativos). |
Exemplo de requisição
curl -X PATCH "$MICORE_BASE_URL/file-manager/items/{item}/sharing" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"visibility":"private","company_access":"everyone_edit","users":[{"id":1,"permission":"visualizar"}],"teams":[{"id":1,"permission":"visualizar"}]}'Exemplo de resposta JSON
{
"data": {
"id": 497,
"name": "RH",
"type": "folder",
"visibility": "company",
"is_root": true,
"owner": null,
"company_access": "everyone_view",
"inherited_company_access": null,
"effective_company_access": "everyone_view",
"my_permission": "gerenciar",
"can_manage": true,
"can_change_visibility": true,
"users": [
{
"user_id": 12,
"name": "Ana Souza",
"email": "ana@empresa.com.br",
"permission": "gerenciar"
}
],
"teams": [
{
"team_id": 3,
"name": "Recursos Humanos",
"permission": "editar"
}
]
}
}Respostas possíveis
/api/v1/file-manager/items/{item}/download
Gera link para baixar um arquivo
Devolve um link temporário, válido por 15 minutos, para baixar o arquivo direto do armazenamento, já com o nome do arquivo. O link não usa o token. Só arquivos enviados; pastas e documentos respondem 422.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
itempath | integer | Sim | — |
Exemplo de requisição
curl "$MICORE_BASE_URL/file-manager/items/{item}/download" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 1,
"name": "string",
"url": "string",
"expires_at": "2026-10-20T10:00:00-03:00"
}
}Respostas possíveis
/api/v1/file-manager/documents
Cria um documento
Cria um documento interno (texto em HTML) dentro da pasta de destino, como o novo documento do painel. Herda dono e visibilidade da pasta e não pode repetir o nome de outro item dela.
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
parent_id | integer | Sim | Pasta de destino. |
name | string | Sim | Até 255 caracteres. |
content | string | Não | Texto em HTML. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/file-manager/documents" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"parent_id":1,"name":"string","content":"string"}'Exemplo de resposta JSON
{
"data": {
"id": 1444,
"name": "IMG_9512",
"type": "file",
"extension": "mov",
"mime_type": "video/quicktime",
"size": 215912345,
"parent_id": 497,
"path": "Empresa/Fotos/Obra Centro",
"owner_id": 2,
"visibility": "company",
"company_access": null,
"created_at": "2026-10-21T23:48:11-03:00",
"updated_at": "2026-10-22T09:10:02-03:00"
}
}Respostas possíveis
/api/v1/file-manager/documents/{item}
Edita um documento
Edita o nome e o texto de um documento interno. Só os campos enviados mudam. Arquivos enviados não têm o conteúdo editado; para eles, use renomear e mover.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
itempath | integer | Sim | — |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Não | Até 255 caracteres. |
content | string | Não | Texto em HTML; vazio limpa o documento. |
Exemplo de requisição
curl -X PATCH "$MICORE_BASE_URL/file-manager/documents/{item}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name":"string","content":"string"}'Exemplo de resposta JSON
{
"data": {
"id": 1444,
"name": "IMG_9512",
"type": "file",
"extension": "mov",
"mime_type": "video/quicktime",
"size": 215912345,
"parent_id": 497,
"path": "Empresa/Fotos/Obra Centro",
"owner_id": 2,
"visibility": "company",
"company_access": null,
"created_at": "2026-10-21T23:48:11-03:00",
"updated_at": "2026-10-22T09:10:02-03:00"
}
}Respostas possíveis
/api/v1/file-manager/documents/{item}
Arquiva um documento interno
Envia o documento para a lixeira do gerenciador, como o excluir do painel. Pode ser restaurado pelo painel. Arquivos enviados e pastas não são aceitos.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
itempath | integer | Sim | — |
Exemplo de requisição
curl -X DELETE "$MICORE_BASE_URL/file-manager/documents/{item}" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json"Exemplo de resposta JSON
{
"data": {
"id": 1,
"archived": true
}
}Respostas possíveis
/api/v1/file-manager/items/{item}/move
Move um arquivo ou pasta
Move o item para a pasta de destino. Pastas levam todo o conteúdo, e o item passa a ter a visibilidade do destino. Uma pasta não pode ir para dentro dela mesma. Exige papel `editar` no item e no destino; tirar um item da Empresa (destino privado) exige `gerenciar`.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
itempath | integer | Sim | — |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
parent_id | integer | Sim | Pasta de destino. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/file-manager/items/{item}/move" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"parent_id":1}'Exemplo de resposta JSON
{
"data": {
"id": 1444,
"name": "IMG_9512",
"type": "file",
"extension": "mov",
"mime_type": "video/quicktime",
"size": 215912345,
"parent_id": 497,
"path": "Empresa/Fotos/Obra Centro",
"owner_id": 2,
"visibility": "company",
"company_access": null,
"created_at": "2026-10-21T23:48:11-03:00",
"updated_at": "2026-10-22T09:10:02-03:00"
}
}Respostas possíveis
/api/v1/file-manager/items/move
Move vários itens
Move até 100 arquivos e pastas para a mesma pasta de destino. É tudo ou nada; se um item não puder ser movido, nenhum é.
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
item_ids | array<integer> | Sim | — |
parent_id | integer | Sim | Pasta de destino. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/file-manager/items/move" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"item_ids":[1],"parent_id":1}'Exemplo de resposta JSON
{
"data": [
{
"id": 1444,
"name": "IMG_9512",
"type": "file",
"extension": "mov",
"mime_type": "video/quicktime",
"size": 215912345,
"parent_id": 497,
"path": "Empresa/Fotos/Obra Centro",
"owner_id": 2,
"visibility": "company",
"company_access": null,
"created_at": "2026-10-21T23:48:11-03:00",
"updated_at": "2026-10-22T09:10:02-03:00"
}
]
}Respostas possíveis
/api/v1/file-manager/uploads
Inicia envio em partes
Inicia um envio grande direto para o armazenamento. Depois, assine cada parte e conclua o envio.
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
parent_id | integer | Sim | — |
name | string | Sim | Até 255 caracteres. |
content_type | string | Sim | Até 120 caracteres. |
size | number | Sim | — |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/file-manager/uploads" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"parent_id":1,"name":"string","content_type":"string","size":1}'Exemplo de resposta JSON
{
"data": []
}Respostas possíveis
/api/v1/file-manager/uploads/parts
Assina uma parte do envio
Gera a URL assinada para enviar uma parte do envio em partes.
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
key | string | Sim | Até 500 caracteres. |
upload_id | string | Sim | Até 500 caracteres. |
part_number | integer | Sim | — |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/file-manager/uploads/parts" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"key":"string","upload_id":"string","part_number":1}'Exemplo de resposta JSON
{
"data": []
}Respostas possíveis
/api/v1/file-manager/uploads/complete
Conclui envio em partes
Junta as partes enviadas e cria o arquivo na pasta de destino.
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
parent_id | integer | Sim | — |
key | string | Sim | Até 500 caracteres. |
upload_id | string | Sim | Até 500 caracteres. |
original_name | string | Sim | Até 255 caracteres. |
mime_type | string | Sim | Até 120 caracteres. |
size | number | Sim | — |
parts | array<object> | Sim | — |
relative_path | string | Não | Até 900 caracteres. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/file-manager/uploads/complete" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"parent_id":1,"key":"string","upload_id":"string","original_name":"string","mime_type":"string","size":1,"parts":[{"part_number":1,"etag":"string"}],"relative_path":"string"}'Exemplo de resposta JSON
{
"data": {
"id": 1444,
"name": "IMG_9512",
"type": "file",
"extension": "mov",
"mime_type": "video/quicktime",
"size": 215912345,
"parent_id": 497,
"path": "Empresa/Fotos/Obra Centro",
"owner_id": 2,
"visibility": "company",
"company_access": null,
"created_at": "2026-10-21T23:48:11-03:00",
"updated_at": "2026-10-22T09:10:02-03:00"
}
}Respostas possíveis
/api/v1/file-manager/uploads/abort
Cancela envio em partes
Cancela um envio incompleto e remove as partes já enviadas.
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
key | string | Sim | Até 500 caracteres. |
upload_id | string | Sim | Até 500 caracteres. |
Exemplo de requisição
curl -X POST "$MICORE_BASE_URL/file-manager/uploads/abort" \
-H "Authorization: Bearer $MICORE_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"key":"string","upload_id":"string"}'Exemplo de resposta JSON
{
"data": {
"aborted": true
}
}