List projects
Retrieve matching projects.
Query parameters
Filter projects by id. Use operator.value syntax.
eq, neq, in, is operators
eq.01JQ2T5Y5Q3R8W9N6M4K2H7P1AFilter projects by clientId. Use operator.value syntax.
eq, neq, in, is operators
eq.01JQ2T5Y5Q3R8W9N6M4K2H7P1CFilter projects by name. Use operator.value syntax.
eq, neq, in, is operators
eq.exampleFilter projects by description. Use operator.value syntax.
eq, neq, gt, gte, lt, lte, in, is operators
eq.exampleFilter projects by website. Use operator.value syntax.
eq, neq, in, is operators
eq.exampleFilter projects by tags. Use operator.value syntax.
in, is operators
in.(example)Filter projects by createdAt. Use operator.value syntax.
eq, neq, gt, gte, lt, lte, is operators
eq.2026-01-15T12:00:00ZFilter projects by updatedAt. Use operator.value syntax.
eq, neq, gt, gte, lt, lte, is operators
eq.2026-01-15T12:00:00ZComma-separated fields. Select a declared relation with relation(field,field).
declared fields and relations only
id,clientIdOrder by field.asc or field.desc. Repeat fields with commas.
repeat fields separated by commas
id.asc,clientId.ascMaximum records returned. Defaults to 25.
1 to 1000
25Opaque continuation cursor returned by the previous page.
opaque-cursorRequest an exact count. This may cost more than a normal page.
exact
exactSearch matching resource fields.
consultingQuery options
Use filter, select, order, limit, cursor, count, search. The default limit is 25; the maximum is 1000.
Filterable: id, clientId, name, description, website, tags, createdAt, updatedAt.
Selectable: id, clientId, name, description, website, tags, createdAt, updatedAt, clientName, clientWebsite, clientType, contacts, invoices, invoiceAmount, payouts, payoutAmount, paidPayouts, paidPayoutAmount, pendingPayouts, pendingPayoutAmount, invoicePendingCount, invoicePaidCount, invoiceCancelledCount, payoutPendingCount, payoutPaidCount, payoutCancelledCount, pendingAmount, paidAmount, cancelledAmount, invoicePendingAmount, invoicePaidAmount, invoiceCancelledAmount, payoutPendingAmount, payoutPaidAmount, payoutCancelledAmount, pendingRecords, paidRecords, cancelledRecords, expenses, expenseAmount, contactItems, invoiceItems, payoutItems, invoicePendingItems, invoicePaidItems, invoiceCancelledItems, payoutPendingItems, payoutPaidItems, payoutCancelledItems, paidPayoutItems, pendingPayoutItems, expenseItems.
Sortable: id, clientId, name, description, website, createdAt, updatedAt.
Errors: invalid_input, query_invalid, unauthenticated, not_found, forbidden, plan_limit, conflict, rate_limited, request_quota, unavailable, internal_error.
Headers
Bearer workspace API key.
Bearer $NQD_API_KEYWorkspace scope for the request. Required for workspace operations and must belong to the authenticated identity.
Minimum length: 1 character. · Maximum length: 128 characters.
01JQ2T5Y5Q3R8W9N6M4K2H7P1AResponse
Response headers
Returned records. Collections and batches use an array; single records use an object.
ShowHide 52 properties
Opaque identifier for this resource or reference.
01JQ2T5Y5Q3R8W9N6M4K2H7P1DOptional client reference. Null means the current workspace owns the record; do not create a placeholder client.
nullDisplay name of the record.
NQD recordOptional human-readable description of the record.
Consulting services for January 2026website for this project.
https://example.com/hooks/nqdTags assigned to the record.
1 itemclient name for this project.
Consulting servicesclient website for this project.
1 itemclient type for this project.
Allowed values: "company", "individual", "government"
companycontacts for this project.
One of: number alternative 1, string alternative 2
100invoices for this project.
One of: number alternative 1, string alternative 2
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100payouts for this project.
One of: number alternative 1, string alternative 2
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100paid payouts for this project.
One of: number alternative 1, string alternative 2
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100pending payouts for this project.
One of: number alternative 1, string alternative 2
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100invoice pending count for this project.
One of: number alternative 1, string alternative 2
100invoice paid count for this project.
One of: number alternative 1, string alternative 2
100invoice cancelled count for this project.
One of: number alternative 1, string alternative 2
100payout pending count for this project.
One of: number alternative 1, string alternative 2
100payout paid count for this project.
One of: number alternative 1, string alternative 2
100payout cancelled count for this project.
One of: number alternative 1, string alternative 2
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100pending records for this project.
One of: number alternative 1, string alternative 2
100paid records for this project.
One of: number alternative 1, string alternative 2
100cancelled records for this project.
One of: number alternative 1, string alternative 2
100expenses for this project.
One of: number alternative 1, string alternative 2
100Exact decimal string used for financial calculations. Do not round or convert it to a display number.
100contact items for this project.
invoice items for this project.
payout items for this project.
invoice pending items for this project.
invoice paid items for this project.
invoice cancelled items for this project.
payout pending items for this project.
payout paid items for this project.
payout cancelled items for this project.
paid payout items for this project.
pending payout items for this project.
expense items for this project.
ISO 8601 timestamp for the authored or payment event. Recurring records preserve their scheduled occurrence.
2026-01-15T12:00:00.000ZTimestamp used for stale-edit protection. Preserve the server value when updating.
2026-01-15T12:00:00.000ZPagination metadata for the returned records, or the current page number when this endpoint uses numbered pages.
ShowHide 4 properties
Maximum number of records to return for this page.
1Whether another page is available.
falseOpaque cursor for the next page, or null when there is no next page.
nullTotal number of records that match the request.
1Possible errors
Response headers
Error details returned for a failed request.
ShowHide 4 properties
Stable machine-readable error or resource code.
invalid_inputHuman-readable explanation of the result or error.
The request could not be validated.Correlation identifier for support and request tracing.
550e8400-e29b-41d4-a716-446655440000Additional structured details about the result or error.
ShowHide 1 property
Structured field issues returned when request validation fails.
ShowHide 3 properties
Field path where the validation issue occurred.
One of: string alternative 1, number alternative 2
0 itemsMachine-readable reason for the validation issue.
Allowed values: "expected_type", "required", "unexpected_property", "invalid_value", "invalid_json", "invalid_query", "unsupported_media_type", "body_too_large", "body_timeout", "conflicting_scope", "missing_header", "concurrency_required", "invalid_resource_id", "invalid_request"
invalid_requestStable machine-readable error or resource code.
invalid_input{
"error": {
"code": "invalid_input",
"message": "The request could not be validated.",
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"details": {
"issues": [
{
"path": [],
"reason": "invalid_request"
}
]
}
}
}View raw OpenAPI operation
Use the machine-readable contract for client generation and payload validation.
Open OpenAPI contract ↗