PATCH/projects/api/v3/skills/{id}/people/{userId}.json

Rate a person for a skill.

Sets the level a single person holds for a single skill.

It is an upsert: when the person does not hold the skill yet they are assigned to it at that level, because the skills matrix opens the same level menu on an unassigned cell and picking a level there has to assign and rate in one gesture.

The level is an ordinal from 1 to 4. An explicit null leaves the skill assigned but unrated, which is a legitimate permanent state. An absent level is rejected: there would be nothing to do.

Path Params

  • Name
    userId
    Type
    integer
    required
    Description
  • Name
    id
    Type
    integer
    required
    Description

Body Params

LevelRequest is the body of the endpoint that rates a single (skill, person) edge. It carries nothing but the level, since both the skill and the person are named by the path.

    • Name
      level
      Type
      integer
      Description
      Level is the ordinal rating to store. An explicit null clears it, leaving the skill assigned but unrated; an absent level is rejected by Validate because there would be nothing for the endpoint to do.

    Responses

    • Code
      200
      Type
      object
      Schema
      Description
      200 OK
      AffectedResponse reports only which assignments a write touched. It is the answer of a write that changes one edge of an existing skill and therefore has no new skill state to report - the caller already knows the skill and the person, both of which it named in the path.
    • Code
      400
      Type
      object
      Schema
      Description
      400 Bad Request
      ErrorResponse defines how []Error should be marshaled to JSON.
    • Code
      403
      Type
      object
      Schema
      Description
      403 Forbidden
      ErrorResponse defines how []Error should be marshaled to JSON.
    • Code
      404
      Type
      object
      Schema
      Description
      404 Not Found
      ErrorResponse defines how []Error should be marshaled to JSON.
    • Code
      422
      Type
      object
      Schema
      Description
      422 Unprocessable Entity
      ErrorResponse defines how []Error should be marshaled to JSON.

    Examples

    200 OK

    AffectedResponse
    {
      "affected": {
        "addedIds": [
          0
        ],
        "affectedIds": [
          0
        ],
        "removedIds": [
          0
        ],
        "unchangedIds": [
          0
        ],
        "updatedIds": [
          0
        ]
      }
    }