Skip to main content
GET
/
companies
/
{company_id}
/
roles
curl -X GET "https://api.companyflow.com/companies/{company_id}/roles?page=1&page_size=20&search=Developer" \
  -H "Authorization: Bearer YOUR_TOKEN"
{
  "success": true,
  "data": {
    "roles": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "company_id": "123e4567-e89b-12d3-a456-426614174000",
        "name": "Senior Developer",
        "description": "Senior-level software development position",
        "is_system_role": false,
        "permissions_cache": ["employees:read", "employees:write"],
        "created_at": "2024-01-15T10:30:00Z",
        "updated_at": "2024-01-15T10:30:00Z"
      },
      {
        "id": "660e8400-e29b-41d4-a716-446655440001",
        "company_id": "123e4567-e89b-12d3-a456-426614174000",
        "name": "Junior Developer",
        "description": "Entry-level software development position",
        "is_system_role": false,
        "permissions_cache": ["employees:read"],
        "created_at": "2024-01-16T14:20:00Z",
        "updated_at": "2024-01-16T14:20:00Z"
      }
    ],
    "total": 2,
    "page": 1,
    "page_size": 20
  }
}
Get a paginated list of all roles within a company. Supports search and pagination. Requires Super Admin or HR Manager permissions.

Path Parameters

company_id
string
required
The unique identifier of the company

Query Parameters

page
integer
default:"1"
Page number for paginationExample: 1
page_size
integer
default:"10"
Number of items per pageExample: 20
Search roles by nameExample: "Developer"

Response

success
boolean
Indicates if the request was successful
data
object
Paginated list of roles
curl -X GET "https://api.companyflow.com/companies/{company_id}/roles?page=1&page_size=20&search=Developer" \
  -H "Authorization: Bearer YOUR_TOKEN"
{
  "success": true,
  "data": {
    "roles": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "company_id": "123e4567-e89b-12d3-a456-426614174000",
        "name": "Senior Developer",
        "description": "Senior-level software development position",
        "is_system_role": false,
        "permissions_cache": ["employees:read", "employees:write"],
        "created_at": "2024-01-15T10:30:00Z",
        "updated_at": "2024-01-15T10:30:00Z"
      },
      {
        "id": "660e8400-e29b-41d4-a716-446655440001",
        "company_id": "123e4567-e89b-12d3-a456-426614174000",
        "name": "Junior Developer",
        "description": "Entry-level software development position",
        "is_system_role": false,
        "permissions_cache": ["employees:read"],
        "created_at": "2024-01-16T14:20:00Z",
        "updated_at": "2024-01-16T14:20:00Z"
      }
    ],
    "total": 2,
    "page": 1,
    "page_size": 20
  }
}

Build docs developers (and LLMs) love