---
updatedAt: 2025-12-16T09:38:48.000Z
---

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

# Search Project Clients

This endpoint allows you to retrieve project client data based on specified filters. Please note that this endpoint requires body parameters, which is why it utilizes a POST request for a read operation. <p><b>Before using this endpoint:</b></p> <ul> <li>Explore the <a href="/docs/explore-attendance-api" target="_blank">Attendance API</a> for more details on usage, rate limits, permissions, and more.</li> <li>Only project client fields mentioned in the `fields` parameter are returned. Use <a href="/reference/get_attendance-project-clients-metadata" target="_blank">project client metadata endpoint</a> to get the field IDs.</li>  <li><b>Pagination note:</b> Pagination parameters are currently accepted but not enforced. The response includes all matching results regardless of the `limit` or `cursor` values. Pagination will be implemented in a future version to limit results per page. To learn more, see <a href="https://apidocs.hibob.com/docs/pagination" target="_blank"> Pagination in Bob’s API</a>.</li> </ul> <p><b>Testing notes</b>:</p>
  <ul>
  <li>Use the testing widget's <b>Try It!</b> option to test this endpoint.</li>
  <li>Use the <b>Examples > Request Example</b> option to see how to initiate body parameters.</li>
  </ul>


# OpenAPI definition

```json
{
  "openapi": "3.1.1",
  "info": {
    "title": "Attendance API",
    "contact": {
      "name": "Hi Bob, Inc."
    },
    "description": "Public API for importing attendance entries and managing attendance projects, tasks, and clients. Supports detailed field metadata and flexible filtering.",
    "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": "Projects",
      "description": "Operations for managing attendance projects, tasks and clients"
    }
  ],
  "paths": {
    "/attendance/project-clients/search": {
      "post": {
        "operationId": "post_attendance-project-clients-search",
        "tags": [
          "Projects"
        ],
        "summary": "Search Project Clients",
        "description": "This endpoint allows you to retrieve project client data based on specified filters. Please note that this endpoint requires body parameters, which is why it utilizes a POST request for a read operation. <p><b>Before using this endpoint:</b></p> <ul> <li>Explore the <a href=\"/docs/explore-attendance-api\" target=\"_blank\">Attendance API</a> for more details on usage, rate limits, permissions, and more.</li> <li>Only project client fields mentioned in the `fields` parameter are returned. Use <a href=\"/reference/get_attendance-project-clients-metadata\" target=\"_blank\">project client metadata endpoint</a> to get the field IDs.</li>  <li><b>Pagination note:</b> Pagination parameters are currently accepted but not enforced. The response includes all matching results regardless of the `limit` or `cursor` values. Pagination will be implemented in a future version to limit results per page. To learn more, see <a href=\"https://apidocs.hibob.com/docs/pagination\" target=\"_blank\"> Pagination in Bob’s API</a>.</li> </ul> <p><b>Testing notes</b>:</p>\n  <ul>\n  <li>Use the testing widget's <b>Try It!</b> option to test this endpoint.</li>\n  <li>Use the <b>Examples > Request Example</b> option to see how to initiate body parameters.</li>\n  </ul>\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClientSearchRequest"
              },
              "examples": {
                "basicClientSearch": {
                  "summary": "Basic client search",
                  "description": "Search for clients with core fields",
                  "value": {
                    "fields": [
                      "/projectClient/id",
                      "/projectClient/name"
                    ],
                    "filters": [],
                    "includeHumanReadable": true
                  }
                },
                "filteredClientSearch": {
                  "summary": "Filtered client search",
                  "description": "Search for clients with name filter",
                  "value": {
                    "fields": [
                      "/projectClient/id",
                      "/projectClient/name"
                    ],
                    "filters": [
                      {
                        "fieldId": "/projectClient/name",
                        "operator": "equals",
                        "values": [
                          "Tech"
                        ]
                      }
                    ],
                    "includeHumanReadable": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Project clients matching the search criteria",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientSearchResponse"
                },
                "examples": {
                  "clientSearchResponse": {
                    "summary": "Client search response",
                    "description": "Response showing project clients",
                    "value": {
                      "items": [
                        {
                          "objectType": "projectClient",
                          "fields": {
                            "/projectClient/id": {
                              "value": 42,
                              "humanReadable": "42"
                            },
                            "/projectClient/name": {
                              "value": "Acme Corporation",
                              "humanReadable": "Acme Corporation"
                            }
                          }
                        },
                        {
                          "objectType": "projectClient",
                          "fields": {
                            "/projectClient/id": {
                              "value": 43,
                              "humanReadable": "43"
                            },
                            "/projectClient/name": {
                              "value": "Tech Solutions Inc",
                              "humanReadable": "Tech Solutions Inc"
                            }
                          }
                        }
                      ],
                      "response_metadata": {
                        "next_cursor": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is malformed or includes invalid parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed. Check your service user credentials",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The service user or token is missing the required permissions to access the requested data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded - see <a href=\"https://apidocs.hibob.com/reference/project-clients#rate-limiting\">Rate limits</a>",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred. Try again or contact support if the issue persists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "basic": []
          },
          {
            "Bearer": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "basic": {
        "type": "http",
        "scheme": "basic",
        "description": "Basic HTTP authentication using service user credentials"
      },
      "Bearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "OAuth 2.0",
        "description": "OAuth 2.0 authentication using an Access Token is available for registered partners only.  Try It! does not support the full HiBob OAuth flow. You can follow <a href=\"https://apidocs.hibob.com/reference/oauth-20#testing-from-the-public-api-reference\" target=\"_blank\">these steps</a> to complete the OAuth 2.0 flow in Postman and then paste the token here."
      }
    },
    "schemas": {
      "ApiErrorResponse": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Error key identifier"
          },
          "error": {
            "type": "string",
            "description": "Human-readable error message"
          },
          "args": {
            "type": "array",
            "description": "Optional error arguments providing additional context",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ClientSearchResponseObject": {
        "type": "object",
        "properties": {
          "objectType": {
            "type": "string",
            "enum": [
              "projectClient"
            ],
            "description": "Type of the object."
          },
          "fields": {
            "type": "object",
            "properties": {
              "/projectClient/id": {
                "type": "object",
                "description": "The unique identifier of the client.",
                "properties": {
                  "value": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "humanReadable": {
                    "type": "string"
                  }
                }
              },
              "/projectClient/name": {
                "type": "object",
                "description": "The client's name as provided by the user.",
                "properties": {
                  "value": {
                    "type": "string"
                  },
                  "humanReadable": {
                    "type": "string"
                  }
                }
              }
            },
            "description": "Client fields returned in search response."
          }
        }
      },
      "ClientSearchResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClientSearchResponseObject"
            },
            "description": "Array of project client objects matching the search criteria"
          },
          "response_metadata": {
            "type": "object",
            "properties": {
              "next_cursor": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "A marker representing the first item on the next page to read. Do not provide it in the first call. Currently ignored for this endpoint. To learn more, see <a href=\"https://apidocs.hibob.com/reference/pagination-1\" target=\"_blank\"> Pagination in Bob's API</a>.               "
              }
            }
          }
        }
      },
      "ClientSearchRequest": {
        "type": "object",
        "description": "Request schema for searching project clients",
        "properties": {
          "fields": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Field ID to filter by, all out-of-the-box project client fields can be used to filter project clients. Use <a href=\"/reference/get_attendance-project-clients-metadata\" target=\"_blank\">project client metadata endpoint</a> to get the field IDs."
            },
            "example": [
              "/projectClient/id",
              "/projectClient/name"
            ],
            "default": [
              "/projectClient/id",
              "/projectClient/name"
            ]
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fieldId": {
                  "type": "string",
                  "description": "Field ID to filter by"
                },
                "operator": {
                  "type": "string",
                  "description": "The operator can be `equals` or `notEqual` (for boolean you can only use `equals`)",
                  "enum": [
                    "equals",
                    "notEqual"
                  ]
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Values to filter by"
                }
              },
              "required": [
                "fieldId",
                "operator",
                "values"
              ]
            },
            "description": "List of filters to apply"
          },
          "limit": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000,
            "default": 50,
            "description": "Specifies the number of entries to include on each page of the results. Defaults to 50 if not supplied. Currently ignored for this endpoint."
          },
          "cursor": {
            "type": "string",
            "description": "A marker representing the first item on the next page to read. Do not provide it in the first call. Currently ignored for this endpoint. To learn more, see <a href=\"https://apidocs.hibob.com/reference/pagination-1\" target=\"_blank\"> Pagination in Bob's API</a>."
          },
          "includeHumanReadable": {
            "type": "boolean",
            "default": false,
            "description": "Whether to include human-readable values in the response"
          }
        }
      }
    }
  }
}
```