Getting a list of projects with their custom fields requires you to pass in ?includeCustomFields=true.
A list of projects will be returned along with the custom fields associated with them. This is a paged API with pagination set at 50. To get the next page, you must pass in page parameter.
If a project doesn’t have any custom fields set, project.customFields is omitted from the response, not null.
Please note: The V1 /projects.json endpoint does not support includeCustomFields=true, you must use this V2 API.