---
updatedAt: 2026-08-05T09:55:28.000Z
---

Fetch the complete documentation index at: https://apidocs.hibob.com/llms.txt. Use this file to discover all available pages before exploring further.

# List proficiency levels

List the company's proficiency levels, referenced by ID on skill create and update.

**Testing notes:**

1. Use the testing widget's **Try It!** option to test this endpoint.
2. Use the returned numeric `id` values as `proficiencyLevelId` when creating or updating skills with `/skill/proficiencyLevels`.

# OpenAPI definition

```json
{
  "openapi": "3.1.1",
  "info": {
    "title": "Skills API",
    "contact": {
      "name": "Hi Bob, Inc."
    },
    "description": "Public API for managing a company's API-origin skills in the Bob skills framework.\n\nUse this API to search, create, update, and archive skills that are owned by an\nexternal system (identified by the mandatory `/skill/source` + `/skill/externalId`\nlocator), and to discover the company's proficiency levels. All write payloads use\nthe flattened `fieldId: value` object contract.",
    "license": {
      "name": "Proprietary",
      "url": "https://apidocs.hibob.com/docs/api-terms-of-use"
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.hibob.com/v1",
      "description": "Production"
    },
    {
      "url": "https://api.sandbox.hibob.com/v1",
      "description": "Sandbox"
    }
  ],
  "x-readme": {
    "metrics-enabled": false
  },
  "tags": [
    {
      "name": "Skills",
      "description": "Manage a company's API-origin skills and read its proficiency levels."
    }
  ],
  "security": [
    {
      "basic": []
    },
    {
      "bearer": []
    }
  ],
  "paths": {
    "/skills/proficiency-levels": {
      "get": {
        "operationId": "get_skills-proficiency-levels",
        "tags": [
          "Skills"
        ],
        "summary": "List proficiency levels",
        "description": "List the company's proficiency levels, referenced by ID on skill create and update.",
        "x-readme": {
          "hidden": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadProficiencyLevelsOutput"
                },
                "examples": {
                  "levels": {
                    "summary": "Company proficiency levels",
                    "value": {
                      "items": [
                        {
                          "id": 1425,
                          "name": "Beginner",
                          "order": 1
                        },
                        {
                          "id": 1426,
                          "name": "Advanced",
                          "order": 2
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request — malformed request, unsupported field or filter, or failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized — authentication credentials are missing or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden — the caller lacks the required Skills permission or OAuth scope.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests — per-tenant rate limit exceeded. Retry after the indicated delay.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error — an unexpected error occurred on the server.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "x-internal": false
      }
    }
  },
  "components": {
    "securitySchemes": {
      "basic": {
        "type": "http",
        "scheme": "basic"
      },
      "bearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "OAuth 2.0",
        "description": "OAuth 2.0 authentication using an Access Token is available for\nregistered partners only. Try It! does not support the full HiBob OAuth\nflow. You can follow <a href=\"https://apidocs.hibob.com/reference/oauth-20\"\ntarget=\"_blank\" rel=\"noopener noreferrer\">these steps</a> to complete the\nOAuth 2.0 flow in Postman and then paste the token here."
      }
    },
    "schemas": {
      "ApiErrorResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Stable machine-readable error code"
          },
          "message": {
            "type": "string",
            "description": "Human-readable error message"
          },
          "details": {
            "type": "object",
            "additionalProperties": true,
            "description": "Structured error context keyed by field or domain identifier"
          },
          "request_id": {
            "type": "string",
            "description": "Request identifier for support and tracing"
          }
        }
      },
      "ProficiencyLevelItem": {
        "description": "A proficiency level configured for the company.",
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Read-only proficiency level ID. Use this value in `/skill/proficiencyLevels`\npayloads on create and update."
          },
          "name": {
            "type": "string",
            "description": "User-facing proficiency level name."
          },
          "order": {
            "type": "integer",
            "description": "Ordering of the level as configured in Bob (ascending)."
          }
        },
        "required": [
          "id",
          "name",
          "order"
        ]
      },
      "ReadProficiencyLevelsOutput": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProficiencyLevelItem"
            },
            "description": "Proficiency levels configured for the company, in ascending order."
          }
        },
        "required": [
          "items"
        ]
      }
    }
  }
}
```