---
updatedAt: 2026-07-22T14:25:27.000Z
agentTools:
  projectIndex: https://developer.personio.de/v1.0/llms.txt
---

# List Custom Report Column Labels

This endpoint provides human-readable labels for report table columns. It is particularly important if you get a report with custom attributes or absence data to match the column IDs to the translation.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "version": "1.0",
    "title": "Personnel Data",
    "description": "API for reading and writing personnel data including data about attendances, absences, documents, etc"
  },
  "x-readme": {
    "samples-languages": [
      "curl",
      "python",
      "ruby",
      "java",
      "php",
      "node"
    ]
  },
  "paths": {
    "/company/custom-reports/columns": {
      "get": {
        "tags": [
          "Custom Reports"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/XPersonioPartnerID"
          },
          {
            "$ref": "#/components/parameters/XPersonioAppID"
          },
          {
            "name": "columns",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": "first_name,last_name",
            "description": "The columns to filter the results.",
            "required": false
          },
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "en",
            "description": "locale used to translate localized fields.",
            "required": false
          },
          {
            "name": "report_id",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "example": "eea50309-d1b1-47d6-bc7e-27de7a3ab491",
            "description": "The ID of the report to filter the result of the columns. If no ID is passed, all columns for the company are returned.",
            "required": false
          }
        ],
        "description": "This endpoint provides human-readable labels for report table columns. It is particularly important if you get a report with custom attributes or absence data to match the column IDs to the translation.",
        "summary": "List Custom Report Column Labels",
        "operationId": "listColumns",
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicListColumnsResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicAPIException"
                }
              }
            }
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://api.personio.de/v1"
    }
  ],
  "components": {
    "parameters": {
      "XPersonioPartnerID": {
        "name": "X-Personio-Partner-ID",
        "in": "header",
        "required": false,
        "description": "The partner identifier",
        "schema": {
          "type": "string"
        }
      },
      "XPersonioAppID": {
        "name": "X-Personio-App-ID",
        "in": "header",
        "required": false,
        "description": "The application identifier",
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "PublicListColumnsResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "metadata": {
            "$ref": "#/components/schemas/PublicReportMetaData"
          },
          "offset": {
            "type": "integer"
          },
          "limit": {
            "type": "integer"
          },
          "data": {
            "$ref": "#/components/schemas/PublicColumnData"
          }
        }
      },
      "PublicReportMetaData": {
        "type": "object",
        "properties": {
          "total_elements": {
            "type": "integer"
          },
          "current_page": {
            "type": "integer"
          },
          "total_pages": {
            "type": "integer"
          }
        }
      },
      "PublicColumnData": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "Column"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicColumnAttributes"
            }
          }
        }
      },
      "PublicColumnAttributes": {
        "type": "object",
        "properties": {
          "attribute_id": {
            "type": "string",
            "example": "first_name"
          },
          "human_readable": {
            "type": "string",
            "example": "First Name"
          },
          "data_type": {
            "type": "string",
            "example": "TEXT"
          }
        }
      },
      "PublicAPIException": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CustomReportsErrorResponse"
        }
      },
      "CustomReportsErrorResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "example": 500
          },
          "trace_id": {
            "type": "string",
            "example": "ABCXXX"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2020-01-01T00:00:00Z"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErrorDetails"
            }
          }
        }
      },
      "ErrorDetails": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "example": "Not Found"
          },
          "details": {
            "type": "string",
            "example": "Report not found"
          },
          "type": {
            "type": "string",
            "example": "search"
          },
          "_meta": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErrorMeta"
            }
          }
        }
      },
      "ErrorMeta": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "example": "ID"
          },
          "description": {
            "type": "string",
            "example": "Report ID not found"
          }
        }
      }
    }
  }
}
```