Empezar

Proyectos

Gestionar proyectos y miembros del proyecto.


Los puntos finales del proyecto requieren contexto del espacio de trabajo. Pase workspaceId en solicitudes API admitidas o utilice un token con ámbito de espacio de trabajo.

Los proyectos no existen en el espacio personal. Si workspaceId no se puede resolver desde el parámetro de consulta o token, los puntos finales del proyecto devuelven 400.

Proyectos

Método Camino Propósito
GET /v1/projects Listar proyectos visibles en el espacio de trabajo seleccionado
POST /v1/projects Crear un proyecto
PATCH /v1/projects/:projectId Actualizar un proyecto

Los proyectos se pueden utilizar en scope: { "type": "projects", "ids": [...] } para paquetes y pistas privados.

Se requiere el proyecto name. description acepta contenido Markdown. Las actualizaciones utilizan la semántica PATCH, por lo que los campos omitidos permanecen sin cambios.

La eliminación o desactivación del proyecto no se expone a través del HTTP API. Utilice la aplicación web para gestionar el ciclo de vida del proyecto.

Miembros del proyecto

Método Camino Propósito
POST /v1/projects/members/list Listar miembros según ID de proyecto
PUT /v1/projects/:projectId/members Agregar miembros del proyecto
DELETE /v1/projects/:projectId/members Eliminar miembros del proyecto de forma masiva
DELETE /v1/projects/:projectId/members/:userId Eliminar un miembro del proyecto

POST /v1/projects/members/list toma { "projectIds": [...] }.

PUT /v1/projects/:projectId/members acepta el cuerpo heredado de un solo miembro o el cuerpo masivo:

{ "userId": "user-id" }
{ "userIds": ["user-id-1", "user-id-2"] }

La respuesta masiva contiene un resultado para cada puesto de entrada más el recuento de miembros autorizados del proyecto:

{
	"results": [
		{ "inputIndex": 0, "userId": "user-id-1", "status": "added", "projectId": "project-id" },
		{
			"inputIndex": 1,
			"userId": "user-id-2",
			"status": "failed",
			"code": "NOT_WORKSPACE_MEMBER",
			"projectId": "project-id"
		}
	],
	"memberCount": 2
}

Los estados de adición de miembros del proyecto son added, unchanged, skipped y failed. code está presente cuando un resultado necesita explicación, incluidos ALREADY_MEMBER, DUPLICATE_INPUT, USER_NOT_FOUND y NOT_WORKSPACE_MEMBER. Los errores de adición esperados para usuarios individuales se informan en results; inspeccione cada resultado en lugar de tratar una solicitud exitosa como un lote de todo o nada.

Las eliminaciones masivas utilizan un parámetro de consulta userIds separado por comas en lugar de un cuerpo de solicitud, porque algunos intermediarios eliminan los cuerpos de las solicitudes DELETE:

DELETE /v1/projects/:projectId/members?userIds=user-id-1,user-id-2
Authorization: Bearer <token>

La eliminación masiva devuelve un resultado por posición de entrada más el memberCount autorizado. Los estados de eliminación son deleted, skipped y failed; Los códigos explicativos incluyen DUPLICATE_INPUT y MEMBER_NOT_FOUND. Un punto final de eliminación de un solo miembro utiliza la misma operación transaccional masiva internamente.

Las llamadas masivas de miembros del proyecto aceptan hasta 100 ID de usuario por solicitud.

La membresía del proyecto es la lista de acceso a paquetes y pistas privados relacionados con el proyecto. Agregue usuarios antes de asignar trabajo o compartir paquetes en ese proyecto; eliminar usuarios cuando deberían perder el acceso a esos datos privados.