Jobs Portal

List public projects

Changed on

Use this endpoint to retrieve a paginated list of public projects for an agency without authentication.

This endpoint is limited to projects where public is true and state is active. It is intended for use in public-facing integrations such as career pages or job boards, where you want to show a list of open roles.

Each item in the list has the same shape as the response from Get public project details — so you can render a full role card from the list response without making an extra request per project. This includes the owner (the lead consultant on the role, as { name, email }) so you can display a contact next to each job. owner.email is null unless your agency has opted in to publishing project owners' emails. owner is null when the project has no owner, or when the recorded owner does not belong to the project's agency.

What you need to provide:

  • The agency ID in the URL path - the agency whose public projects you want to list

Incremental sync: Pass updatedAfter with an ISO 8601 timestamp to receive only projects whose updatedAt is later than that timestamp. Each returned item includes updatedAt; persist the largest value you see and pass it on the next call as your sync cursor.

Pagination: Results are returned in pages. Use the page and pageSize query parameters to move through large result sets. The response includes a pagination object so you know how many results exist in total.

get/api/v1/public/{agencyId}/projects

Request

Path parameters

agencyIdstring uuid required

Agency ID

Example:550e8400-e29b-41d4-a716-446655440000

Query parameters

updatedAfterstring date-time

Only projects updated after this ISO 8601 timestamp (inclusive)

Example:2026-06-04T10:00:00Z
pageinteger

Page number (1-indexed)

Example:1
pageSizeinteger

Items per page (max 100)

Example:25
perPageinteger

Alias for pageSize

Response

Paginated list of public projects

status'ok' required

Example response

{
  "data": [
    {
      "jobRole": "Software Engineer",
      "state": "active",
      "hireTarget": 1,
      "salaryCurrency": "USD",
      "location": {
        "city": "London",
        "region": "England",
        "country": "United Kingdom",
        "formattedAddress": "London, England, United Kingdom"
      },
      "startedAt": "2026-03-23",
      "owner": {
        "name": "Jane Smith",
        "email": "owner@agency.com"
      },
      "updatedAt": "2026-06-04T10:00:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 25,
    "total": 42,
    "totalPages": 2
  }
}

Changes

    • breaking

      the response property /// became nullable for the status

    • breaking

      removed the required property /// from the response with the status

    • warning

      added the new undefined enum value to the // response property for the response status

    • warning

      added the new undefined enum value to the //// response property for the response status

    • warning

      added the new undefined enum value to the // response property for the response status

    • warning

      added the new undefined enum value to the // response property for the response status

    • info

      added the optional property to the response with the status