Ir al contenido

Referencia de la API de Teams

Todos los endpoints de escritura y admin requieren:

Authorization: Bearer {token}

Algunas lecturas de workspace también aceptan una sesión de navegador logueada.

GET /v1/account/tier

Mirá Visión general de Teams para los feature flags por tier. Los upgrades en producción usan la API de billing de abajo — no POST /v1/account/upgrade (legacy/dev).

MétodoEndpointQuiénNotas
GET/v1/billing/plansPúblicoListar planes Pro/Teams.
GET/v1/billing/subscription?workspace_id=Member+Suscripción actual del workspace.
POST/v1/billing/subscribeOwner/adminIniciar prueba de 15 días (workspace_id, plan_id, seats).
POST/v1/billing/rebill-activateOwner/adminPersistir suscripción Rebill tras checkout embebido (sesión).
POST/v1/billing/rebill-save-cardOwner/adminPersistir tarjeta Rebill tras flujo save-card (sesión).
POST/v1/billing/cardOwner/adminToken de tarjeta legacy (subscription_id, token).
PATCH/v1/billing/subscription/seatsOwner/adminCambiar asientos (próximo ciclo).
PATCH/v1/billing/subscription/planOwner/adminCambiar plan — upgrades inmediatos, downgrades en la próxima renovación.
DELETE/v1/billing/subscriptionOwner/adminCancelar (subscription_id en el body).
GET/v1/billing/invoices?workspace_id=Member+Historial de pagos.

Ver Facturación y suscripciones.

MétodoEndpointNotas
GET/v1/workspacesListar workspaces del usuario del token.
POST/v1/workspacesCrear workspace.
GET/v1/workspaces/{id}Obtener workspace. Member+.
PATCH/v1/workspaces/{id}Actualizar nombre, slug, settings. Admin+.
DELETE/v1/workspaces/{id}Eliminar workspace. Solo owner.
GET/v1/workspaces/by-slug/{slug}Buscar por slug.
MétodoEndpointNotas
GET/v1/workspaces/{id}/membersListar miembros.
POST/v1/workspaces/{id}/membersAgregar miembro; con política de acceso.
DELETE/v1/workspaces/{id}/members/{userId}Remover miembro.
POST/v1/workspaces/{id}/members/inviteInvitar en bulk por email. Admin+.
GET/v1/workspaces/{id}/members/metricsMétricas de actividad. Admin+.
GET/v1/workspaces/{id}/invitesInvites por email pendientes. Admin+.
DELETE/v1/workspaces/{id}/invites/{inviteId}Revocar invite pendiente. Admin+.
GET/v1/workspaces/{id}/peopleLista para selector de personas.
POST/v1/workspaces/{id}/transfer-ownershipTransferir a otro miembro. Solo owner.
POST/v1/workspaces/{id}/members/{userId}/tokensCrear token de API para miembro. Admin+.
DELETE/v1/workspaces/{id}/members/{userId}/tokensRevocar tokens de miembro. Admin+.

Credenciales no humanas, acotadas a un workspace (prefijo sot_) para el agente de IA de un cliente, un servicio backend o CI/CD. Cada token autentica como un principal de servicio: un miembro headless de primera clase que es dueño de los artifacts que publica y queda confinado a su único workspace. Scopes de acción: artifacts:read, artifacts:publish, data:read, data:write.

MétodoEndpointNotas
POST/v1/workspaces/{id}/agent-tokensCrear. Body { name, scopes[], expires_at? }. Devuelve sot_… una sola vez. Admin+.
GET/v1/workspaces/{id}/agent-tokensListar (solo metadata). Admin+.
DELETE/v1/workspaces/{id}/agent-tokens/{tokenId}Revocar (soft). Admin+.

Un token sin el scope requerido recibe 403 INSUFFICIENT_SCOPE; uno revocado/expirado, 401.

GET /v1/workspaces/{id}/access-policy
PUT /v1/workspaces/{id}/access-policy

Body: { "allowed_domains": ["example.com"], "allowed_emails": ["x@y.com"] }. PUT requiere admin u owner. Mirá Workspaces.

GET /v1/workspaces/{id}/subdomain
POST /v1/workspaces/{id}/subdomain ← { "enabled": true }
DELETE /v1/workspaces/{id}/subdomain

Requiere plan Teams + admin u owner. Mirá Subdominios.

GET /v1/workspaces/{id}/branding
PUT /v1/workspaces/{id}/branding
POST /v1/workspaces/{id}/logo
DELETE /v1/workspaces/{id}/logo
GET /v1/workspaces/{id}/context
PUT /v1/workspaces/{id}/context ← { "entry": "index.md" }
GET /v1/workspaces/{id}/context/{name}
PUT /v1/workspaces/{id}/context/{name}
DELETE /v1/workspaces/{id}/context/{name}

Las escrituras requieren admin u owner. Mirá Workspaces.

GET /v1/workspaces/{id}/folders
POST /v1/workspaces/{id}/folders
GET /v1/workspaces/{id}/folders/{folderId}
PATCH /v1/workspaces/{id}/folders/{folderId}
DELETE /v1/workspaces/{id}/folders/{folderId}
GET /v1/workspaces/{id}/folders/by-path/{path}
POST /v1/workspaces/{id}/artifacts/{artifactId}/move

Mirá Carpetas.

Biblioteca de assets por alcance — un bucket oculto por workspace (compartido) y uno personal. Cualquier miembro del workspace puede usar las rutas de workspace; las personales usan /v1/assets sin prefijo de workspace.

MétodoEndpointNotas
GET/v1/workspaces/{id}/assetsListar deliverables + archivos sueltos (deliverables[], loose[], bucketId, usedBytes). Member+.
POST/v1/workspaces/{id}/assets/uploadPedir upload → { uploadUrl, tokenId }; PUT de bytes a uploadUrl. Member+.
POST/v1/workspaces/{id}/assets/deliverables{ blobId, name? } → deliverable nuevo (v1). Member+.
POST/v1/workspaces/{id}/assets/deliverables/{id}/version{ blobId } → agregar versión. Member+.
PATCH/v1/workspaces/{id}/assets/deliverables/{id}{ visibility?, folderId? }private | workspace. Member+.
GET/v1/workspaces/{id}/assets/deliverables/{id}/versionsHistorial de versiones. Member+.
DELETE/v1/workspaces/{id}/assets/deliverables/{id}Borrar deliverable + todas las versiones. Member+.
POST/v1/workspaces/{id}/assets/collections{ name?, deliverableIds[] } → bundle. Member+.
POST/v1/workspaces/{id}/assets/collections/{id}/share{ expiresAt?, gate?, password?, domains? }{ url } (/d/<token>). Member+.
POST/v1/workspaces/{id}/assets/collections/{id}/send{ to, expiresAt?, gate?, password?, domains? } → email con link. Member+.
GET/v1/workspaces/{id}/assets/linksListar links de entrega enviados (gate, expiry, viewCount, revoked). Member+.
POST/v1/workspaces/{id}/assets/links/{linkId}/revokeRevocar link (página + bytes 404). Member+.

gate: none (default), password + password, o domain + domains[]. Las entregas protegidas sirven bytes por /d/<token>/file/<blobId> tras pasar el gate. La primera apertura envía email al creador del link (asset_delivery_opened).

Límites: 500 MB/archivo · 10 GB/bucket · 10 000 archivos. Ver Archivos y entregas.

Incrustá un archivo del workspace en cualquier artifact por su id dlv_. Aplica visibilidad por archivo (privados → 403 sin autorización).

MétodoEndpointNotas
GET/v1/files/{deliverableId}/contentBytes de la última versión. Sesión o token.

SDK: sdk.files.getUrl('dlv_…').

Función Teams/Enterprise. Compartí carpetas y artifacts con orgs de clientes fuera de tu equipo — portal agrupado, páginas con marca, tokens API acotados, recibos de lectura y notas privadas sobre cada cliente. Todas las rutas requieren admin del workspace más el entitlement (403 EXTERNAL_SHARING_NOT_ENTITLED si no). Ver Compartir con clientes.

MétodoEndpointNotas
GET/v1/workspaces/{id}/shareesListar orgs de clientes (member_count).
POST/v1/workspaces/{id}/sharees{ "name": "Acme", "type": "client" }.
GET/v1/workspaces/{id}/sharees/{sid}Un cliente.
PATCH/v1/workspaces/{id}/sharees/{sid}{ name?, type?, properties?, branding? }branding es { logo, color } para el portal.
DELETE/v1/workspaces/{id}/sharees/{sid}Elimina el cliente, sus miembros, grants y notas.
MétodoEndpointNotas
GET/v1/workspaces/{id}/sharees/{sid}/membersListar miembros externos.
POST/v1/workspaces/{id}/sharees/{sid}/members{ "email": "ext@acme.com" } — invitar; marca un edge de membresía externa (gratis, no facturado).
DELETE/v1/workspaces/{id}/sharees/{sid}/members/{uid}Quitar solo de este cliente.
MétodoEndpointNotas
GET/v1/workspaces/{id}/grantsFiltrar con ?subject_id= / ?resource_type= / ?resource_id=.
POST/v1/workspaces/{id}/grantsCrear grant — ver body abajo.
DELETE/v1/workspaces/{id}/grants/{gid}Revocar (efectivo en ~60s de caché).

Compartir con una persona (sin org de cliente):

MétodoEndpointNotas
POST/v1/workspaces/{id}/share-person{ email, resource_type: "file"|"folder", resource_id, capability: "view"|"comment" } — admin + entitlement Teams; invita usuario externo si hace falta. 409 si el email es miembro interno.

Body del grant (API admin de grants):

{
"subject_type": "sharee",
"subject_id": "shr_…",
"resource_type": "folder",
"resource_id": "fld_…",
"capability": "view"
}

resource_type: folder | artifact | file. subject_type: sharee (toda la org cliente) o external_user (una persona). capability: view | comment | create | edit. create es solo en carpetas — deja al externo crear artifacts nuevos encerrados en esa carpeta (forzados a privado).

Los tokens externos resuelven por grants — nunca cubren todo el workspace. Scopes limitados a artifacts:read, data:read, data:write (nunca artifacts:publish).

MétodoEndpointNotas
GET/v1/workspaces/{id}/sharees/{sid}/members/{uid}/tokensListar (sin secretos).
POST/v1/workspaces/{id}/sharees/{sid}/members/{uid}/tokens{ "scopes": ["data:read"] }{ token: "sot_…", shown_once: true }.
DELETE/v1/workspaces/{id}/sharees/{sid}/members/{uid}/tokens/{tid}Revocar.
MétodoEndpointNotas
GET/v1/workspaces/{id}/sharees/{sid}/activityVistas recientes de un cliente.
GET/v1/workspaces/{id}/sharee-activityVistas recientes de todos los clientes.

Markdown privado del workspace sobre un cliente — nunca compartido con ellos. Cualquier miembro puede leer; admin (o el asistente del workspace vía set_client_notes) puede escribir.

MétodoEndpointNotas
GET/v1/workspaces/{id}/sharees/{sid}/contextListar archivos de notas.
GET/v1/workspaces/{id}/sharees/{sid}/context/{name}Leer una nota (markdown).
PUT/v1/workspaces/{id}/sharees/{sid}/context/{name}Crear/reemplazar (admin). Markdown crudo o { "content": "…" }.
DELETE/v1/workspaces/{id}/sharees/{sid}/context/{name}Eliminar (admin).
MétodoEndpointQuiénNotas
GET/v1/workspaces/{id}/connectionsMember+Listar. Sin secretos.
POST/v1/workspaces/{id}/connectionsAdmin+Crear.
GET/v1/workspaces/{id}/connections/{connectionId}Admin+Detalle.
DELETE/v1/workspaces/{id}/connections/{connectionId}Admin+Eliminar; cascadea credenciales.
GET/v1/workspaces/{id}/connections/{connectionId}/artifactsMember+Artifacts que usan este conector.
GET/v1/workspaces/{id}/connections/{connectionId}/my-credentialsMember+Estado per-user.
PUT/v1/workspaces/{id}/connections/{connectionId}/my-credentialsMember+Guardar token propio.
DELETE/v1/workspaces/{id}/connections/{connectionId}/my-credentialsMember+Eliminar token propio.
GET/v1/workspaces/{id}/connections/{provider}/auth-urlAdmin+Inicio de OAuth.
GET/v1/workspaces/{id}/connections/slack/installAdmin+Instalación de Slack (302).
GET/v1/workspaces/{id}/connections/{connection}/slack/channelsMember+Lista de canales de Slack.
GET/v1/oauth/slack/callbackCallback OAuth de Slack.

Mirá Conexiones.

Mapa de datos opcional por workspace. Ver Catálogo de datos.

MétodoEndpointQuiénNotas
GET/v1/workspaces/{id}/catalogMember+Búsqueda (q, kind, domain, status, tag) + facetas.
GET/v1/workspaces/{id}/catalog/manifestMember+KPIs de adopción, huérfanos, refs colgantes.
GET/v1/workspaces/{id}/catalog/entries/{entryId}Member+Entrada + vecinos de linaje.
GET/v1/workspaces/{id}/catalog/lineageMember+Grafo completo (nodes, edges).
POST/v1/workspaces/{id}/catalog/enableAdmin+{ "enabled": true | false }.
POST/v1/workspaces/{id}/catalog/seedAdmin+Seed idempotente desde conectores.
PUT/v1/workspaces/{id}/catalog/filesMember+{ "path", "content" } — upsert de archivo markdown.
DELETE/v1/workspaces/{id}/catalog/files?path=Member+Eliminar un archivo.

Biblioteca aprendida opt-in. Plan pago requerido para enable y backfill. Ver Conocimiento del workspace.

MétodoEndpointQuiénNotas
GET/v1/workspaces/{id}/knowledgeMember+Settings + counts.
GET/v1/workspaces/{id}/knowledge/statusMember+Progreso de entrenamiento (ventana 24h).
GET/v1/workspaces/{id}/knowledge/treeMember+Resúmenes por kind.
GET/v1/workspaces/{id}/knowledge/files/{path}Member+Una nota (cuerpo completo).
PUT/v1/workspaces/{id}/knowledge/files/{path}Member+Upsert markdown.
DELETE/v1/workspaces/{id}/knowledge/files/{path}?forget=1Admin+Eliminar; forget=1 evita re-aprendizaje.
POST/v1/workspaces/{id}/knowledge/enableAdmin+{ "enabled": true } — plan pago.
POST/v1/workspaces/{id}/knowledge/backfillAdmin+Encolar hasta 200 páginas → { queued, kicked } — plan pago.
MétodoEndpointDescripción
GET/v1/workspaces/{id}/schedulesListar schedules. Admin+.
GET/v1/workspaces/{id}/schedules/{jobId}/logsLogs recientes. Admin+.
POST/v1/workspaces/{id}/schedules/{jobId}/runEjecutar ahora. Admin+.
PATCH/v1/workspaces/{id}/schedules/{jobId}Habilitar/deshabilitar. Admin+.
DELETE/v1/workspaces/{id}/schedules/{jobId}Eliminar. Admin+.
GET/v1/workspaces/{id}/automationsListar automaciones. Admin+.
GET/v1/workspaces/{id}/automations/{triggerId}/runsHistorial de ejecuciones. Admin+.
POST/v1/workspaces/{id}/automations/{triggerId}/runDespachar ahora. Admin+.
PATCH/v1/workspaces/{id}/automations/{triggerId}Habilitar/deshabilitar. Admin+.
DELETE/v1/workspaces/{id}/automations/{triggerId}Eliminar. Admin+.
GET/v1/workspaces/{id}/runsLista unificada de runs (surface, status, limit). Admin+.
GET/v1/workspaces/{id}/runs/{surface}/{runId}Detalle Run Inspector (crew/job/alert). Admin+.
MétodoEndpointQuiénNotas
GET/v1/workspaces/{id}/admin/artifactsAdmin+Tabla de gobernanza (vistas, owner, visibilidad…).
POST/v1/workspaces/{id}/admin/artifacts/{artifactId}/pauseAdmin+{ "paused": true }.
POST/v1/workspaces/{id}/admin/artifacts/{artifactId}/visibilityAdmin+Cambiar visibilidad.
POST/v1/workspaces/{id}/admin/artifacts/{artifactId}/transferAdmin+Reasignar owner { "new_owner_id" }.
MétodoEndpointQuiénNotas
POST/v1/access-requestsPúblicoPedir acceso a una página con gate.
GET/v1/access-requests/incomingOwner/adminPedidos pendientes para tus workspaces.
POST/v1/access-requests/{id}Owner/admin{ "action": "approve" | "deny" }.
MétodoEndpointQuiénNotas
POST/v1/support/ticketsSesión iniciadaCrear ticket { "subject", "body", "workspaceId"? }.
GET/v1/support/tickets?scope=mineSesión iniciadaTickets propios del solicitante (default).
GET/v1/support/tickets?scope=workspace&workspace={id}Admin+Tickets del workspace; &status= opcional.
GET/v1/support/tickets?scope=allSuper-adminTodos los tickets de la plataforma.
GET/v1/support/tickets/{id}Solicitante o staffTicket + hilo completo.
POST/v1/support/tickets/{id}/messageSolicitante o staffAgregar { "body" } (respuesta del cliente re-abre).
POST/v1/support/tickets/{id}/replyStaffAprobar y enviar { "body" } en el canal de origen.
POST/v1/support/tickets/{id}/statusStaff{ "status": "resolved" } etc.
POST/v1/support/tickets/{id}/assignStaff{ "assigneeUserId": "usr_…" } o null.
POST/v1/support/tickets/{id}/triageStaffRe-ejecutar borrador de triage con IA.

Ver Pedir ayuda y Admin → Soporte.

Los endpoints siguen en /v1/metric-alerts. Teams cambia quién puede gestionar:

RolCapacidad
owner/editor del artifact o owner/admin del workspaceGestión completa de alertas en el artifact.
member del workspace o viewer del artifactSolo auto-suscribirse a destinos personales.

Mirá Alertas de métricas.

Watches de anomalía de un clic sobre tablas de artifacts — solo campana, sin destinos. Ver Alertas de métricas → Watches.

MétodoEndpointQuiénNotas
POST/v1/metric-watchViewer+ en el artifact{ "artifact_id", "table", "kind", "column?", "threshold_pct?" }
GET/v1/metric-watch?artifact_id=Viewer+Listar watches de una página
DELETE/v1/metric-watch/{id}CreadorQuitar un watch
GET /v1/workspaces/{id}/features

Devuelve los flags habilitados/deshabilitados. readonly: true — solo los super-admins de ShareOut pueden modificar los features del workspace.

GET /v1/workspaces/{id}/publish-policy
PATCH /v1/workspaces/{id}/publish-policy ← { "policy": "require_approval", "approvals_required": 2 }
GET /v1/workspaces/{id}/publish-approvals?status=pending
POST /v1/artifacts/{id}/publish-approval ← { "visibility": "public", "approver_ids": ["usr_a"] }
POST /v1/artifacts/{id}/publish-approval/{requestId}/decision ← { "decision": "approve" }

PATCH requiere admin u owner. Mirá Política de publicación y Publicar artifacts.

MétodoEndpointQuiénNotas
POST/v1/auth/device/startPúblicoIniciar login CLI. Opcional { "expected_email" }login_hint + warn por mismatch.
POST/v1/auth/device/tokenPúblicoPoll con { "device_code" }. Pending / approved / expired. Token una vez.

Paso navegador: GET /auth/device?code=USER-CODE → Google OAuth. Ver Autenticación → Device login.

Búsqueda rankeada y tolerante a typos — el mismo motor detrás de la paleta ⌘K en Home y del salto inline. Encuentra páginas (nombre, tags, descripción), más carpetas, datasets, conectores, personas, schedules, crew y alertas cuando está acotada a un workspace.

GET /v1/search?q={query}&groups={csv}&limit={n}&workspace={id}
Authorization: Bearer {token}
ParámetroDefaultNotas
q(requerido)Texto de búsqueda. Tolerante a typos. Vacío devuelve recientes.
groupstodosSubconjunto CSV de artifacts,folders,datasets,connectors,people,schedules,crew,alerts.
limit10Máx. por grupo (tope 25).
workspaceAlcance (solo tokens personales; los sot_ quedan fijados a su workspace).

Auth: token personal so_…, Agent sot_… (artifacts:read) o cookie de sesión. Los grupos distintos de artifacts requieren alcance de workspace.

La respuesta agrupa (artifacts, folders, datasets, connectors, people, schedules, crew, alerts) con hits puntuados. Los artifacts incluyen views, owner, thumb y badge (ej. Private).

En el chat del asistente del workspace, la misma búsqueda se expone como search_workspace — preferila sobre search_artifacts salvo para un nombre exacto de página.

Q&A de un turno sobre páginas a las que el caller puede acceder — solo lectura, sin herramientas.

POST /v1/ask
Authorization: Bearer {token}
Content-Type: application/json
{ "question": "¿Cuál fue el revenue de Q3?", "workspace": "wsp_…" }

Respuesta: { "answer": "…", "citations": [{ "artifact_id", "title", "url" }] }. Las citas son páginas que el modelo referenció con marcadores [n] del conjunto acotado. También se dispara desde Home ⌘K cuando la consulta termina en ?.

Portabilidad de datos de un clic — zip de source + json + tablas.

MétodoEndpointQuiénNotas
GET/v1/artifacts/{id}/exportOwner o admin del workspaceZip de un artifact
GET/v1/workspaces/{id}/exportOwner/admin del workspaceTodos los artifacts (máx. 200)

Ver Tus datos son portables.

Generar un deck de slides con IA desde un artifact HTML publicado.

POST /v1/artifacts/{id}/present
Authorization: Bearer {token}

Devuelve { "artifact_id", "url" }. Rate limit por usuario. Ver Slides → Present this.

MétodoEndpointQuiénNotas
POST/v1/workspaces/{id}/unused/archiveOwner/admin del workspaceArchivar todas las páginas marcadas (lote 100)
POST/v1/artifacts/unused/archiveDueño de cuenta personalIgual para páginas personales

Ver Publicar → Janitor de páginas sin uso.

MétodoEndpointQuiénNotas
GET/v1/skills/recommendedLogueadoFranja oficial Recommended by ShareOut (todos los planes).
GET/v1/workspaces/{id}/skillsMember+Catálogo (sort, category, q). Plan Teams.
GET/v1/workspaces/{id}/skills/categoriesMember+Conteos por categoría.
GET/v1/workspaces/{id}/skills/installedMember+Skills guardados.
POST/DELETE/v1/artifacts/{id}/skill/voteMember+Upvote / quitar voto.
POST/DELETE/v1/artifacts/{id}/skill/installMember+Guardar / quitar de Mis Skills.
PATCH/v1/artifacts/{id}/skill/adminAdmin+{ "featured" } o { "blocked" }.
GET/v1/artifacts/{id}/skillsViewer+Skills adjuntos.
POST/v1/artifacts/{id}/skillsEditor+Adjuntar skill (skill_artifact_id). Máx. 5.
POST/DELETE/v1/artifacts/{id}/skills/{skillId}Editor+Actualizar versión / desadjuntar.

Publicá skills con artifact_type: "skill" en POST /v1/publish. Mirá Skill Marketplace.

MétodoEndpointQuiénNotas
GET/v1/home/activity-feed?workspace=&window=&limit=Member+Needs You + Pulse (window: today, 7d, 30d). Devuelve needs, seen (needs descartados/abiertos aún en la ventana), pulse, actionItems, requestedOpen.
POST/v1/home/dismiss-eventMember+Ocultar eventos Needs You para el usuario ({ "eventId" } o { "eventIds": [] }). Usado por el panel de notificaciones (descartar, marcar todo leído u abrir una tarjeta).
GET/v1/home/agent/brief?workspace=Member+Brief proactivo diario con IA (con ai.web_agent activo).
POST/v1/home/agent/chatMember+Chat del asistente en Home (SSE).
POST/v1/home/agent/confirmMember+Confirmar acción pendiente del asistente.
GET/v1/home/agent/threadsMember+Listar hilos de chat nombrados.
POST/v1/home/agent/threadsMember+Crear hilo.
POST/v1/home/agent/threads/{id}/renameMember+Renombrar hilo.
DELETE/v1/home/agent/threads/{id}Member+Eliminar hilo.
POST/v1/workspace/{id}/agent/chatMember+Chat del asistente acotado al workspace (SSE).
GET/v1/home/event-visibility?workspace=Member+Mapa de audiencia por tipo; canManage para admins.
PUT/v1/home/event-visibility?workspace=Admin+{ "kind", "audience" } — ver Visibilidad de actividad.
GET/v1/home/onboarding?workspace=Member+Estado del checklist de configuración (track, tasks, pct, dismissed) o { track: null }.
POST/v1/home/onboarding/dismiss?workspace=Member+Ocultar el checklist para este usuario.
POST/v1/home/onboarding/skill-ack?workspace=Member+Confirmar la tarea “Obtener el skill”.
POST/v1/home/onboarding/celebrate?workspace=Member+Registrar el momento único del 100%.
GET/v1/artifacts/{id}/presenceOwner/colaborador+Conteo concurrente de viewers (best-effort).

Enviá un artifact a email, Slack o Telegram al instante desde el Inspector Deliver en Home o por API — mismo registro de destinos que los jobs programados.

MétodoEndpointQuiénNotas
GET/v1/artifacts/{id}/deliverColaborador+Estado por canal (telegram.linked, slack.connected + connectUrl, email.available).
GET/v1/artifacts/{id}/deliver/slack-channelsColaborador+Lista de canales buscable para la conexión Slack del workspace.
POST/v1/artifacts/{id}/deliverColaborador+{ "action": "email" | "slack" | "telegram", "config": {…} } — mismo config que jobs. Los viewers solo pueden enviarse a sí mismos en Slack/Telegram.

Ver Tu workspace → Inspector, Entrega a Slack y Tu workspace (Home).