---
# System prepended metadata

title: Documentación Matriz KSC

---

# Documentación Matriz KSC


## Asignación de competencias (ksc_competences)


Recibe un objeto con los datos del Cpc al cual se le asignarán las competencias, junto
con el nivel de responsabilidad y las competencias a asignar (incluyendo ponderación).


### Request

`POST https://app.keyclouding.cl/api/ats/company/ks/#{id}/ksc_competences`

### Parámetros de la consulta

> URL:

```shell
"https://app.keyclouding.cl/api/ats/company/ks/#{id}/ksc_competences"
```

> Ejemplo de body a enviar en la request:

```json
{
  "responsabilidad": "Alto",
  "competencias": [
    {
      "nombre": "Autocontrol",
      "area": "TRANSVERSAL",
      "pond": 0.5,
      "desarrollo": "Medio"
    },
    {
      "nombre": "Accountability",
      "area": "COM",
      "pond": 0.5,
      "desarrollo": "Medio"
    }
  ]
}
```

Los parámetros deben ser enviados a través del body en formato JSON. 

Parámetro | Carácter | Descripción
--------- | -------- | -----------
responsabilidad (string) | obligatorio | Nivel de responsabilidad del cargo.
competencias (array) | obligatorio | Lista que puede tener una o más competencias del KSC.

&nbsp;

### Competencias

El array de competencias está compuesto por uno o más hashes con los parámetros de la competencia, estos son:

Parámetro | Carácter | Descripción
--------- | -------- | -----------
nombre (string) | obligatorio | Nombre de la competencia
area (string) | obligatorio | En caso de ser un KSC específico, este traerá el código al cual área corresponde, en caso contrario, este parámetro será TRANSVERSAL.
pond (float) | obligatorio | Ponderador que indica el peso que tiene la competencia en el KSC. Este valor debe ser mayor a 0 y menor o igual a 1. NOTA: Si un KSC tiene más de una competencia, la suma de todos los ponderadores debe ser exactamente 1; en caso de ser solo una competencia, el valor de pond debe ser 1.
desarrollo (string) | obligatorio | Nivel de desarrollo de la competencia.

&nbsp;

### Respuesta JSON



> Si la asignación es satisfactoria:

```json
{
    "messages": "Competences created successfully",
    "is_success": true,
    "data": [
        {
            "competence": "Autocontrol",
            "created": true,
            "homologacion": {}
        },
        {
            "competence": "Accountability",
            "created": true,
            "homologacion": {}
        }
    ]
}
```
La respuesta obtenida está en el siguiente formato:

Parámetro | Descripción
--------- | -----------
status (integer) | Resultado de la asignación. Los valores admitidos son 200 (OK), 401 (Unauthorized), 403 (Forbidden), 400 (Bad Request) ó 404 (Not Found).
is_success (boolean) | Indica si la request fue exitosa.
data (array) | Contiene la lista de las competencias con sus respectivos nombres y el estado de creación (boolean)
homologacion (hash) | Contiene la información para evaluar la competencia


### Manejo de errores


> Si se produce un error de autenticación:

```json
{
    "messages": "Not authorized",
    "is_success": false
}
```

> Si se produce un error de parametro en cpc_id:

```json
{
    "messages": "Cpc not found",
    "is_success": false
}
```

> Si se produce un error de parametro en responsabilidad:

```json
{
    "messages": "Responsabilidad param is missing",
    "is_success": false
}
```
> Si se produce un error de parametro en competencias:

```json
{
    "messages": "Competencias param is missing",
    "is_success": false
}
```
> Si se produce un error en la suma de ponderaciones (Debe ser 1 en total):

```json
{
    "messages": "Total weight has to be 1",
    "is_success": false
}
```
