Execute request on behalf of another user if allowed.
cash_discount
number
No
—
Cash discount percentage.
cash_discount_days
integer
No
—
Cash discount validity in days.
category
string
No
—
Invoice category.
change_address
string
No
—
Replace recipient address from selected source.
contact_id
integer
No
—
External contact person ID.
currency
string
Yes
—
Currency code.
custom_properties
object
No
—
Custom field values keyed by custom field name.
customer_id
integer
Yes
—
Customer company ID.
date
string
Yes
—
Invoice date.
discount
number
No
—
Discount value.
due_date
string
Yes
—
Due date.
footer
string
No
—
Footer text. Supports template variables such as {identifier}, {gross_total}, {net_total}, {user}, {me}, and more.
identifier
string
No
—
Optional custom invoice number.
internal_contact_id
integer
No
—
Internal contact user ID.
items
any[]
Yes
—
Invoice line items.
letter_paper_id
integer
null
No
—
Letter paper ID to use for this invoice. When omitted, the account’s default invoice letter paper is used. If without_letter_paper is set to true, this field is ignored. Available letter papers can be fetched via GET /api/v1/letter_papers.
offer_id
integer
No
—
Optional source offer ID.
print_detail_columns
boolean
No
—
Include detailed columns in print layouts.
project_id
integer
No
—
Optional project ID.
recipient_address
string
Yes
—
Recipient address.
salutation
string
No
—
Salutation text. Supports template variables such as {salutation}, {recipient}, {company_name}, {date}, {due_date}, and more.
service_period_from
string
No
—
Service period start. Use together with service_period_to.
service_period_to
string
No
—
Service period end. Use together with service_period_from.
status
string
No
—
Initial invoice status.
tags
string[]
No
—
Invoice tags.
tax
number
Yes
—
VAT/tax percentage.
title
string
Yes
—
Invoice title.
without_letter_paper
boolean
No
—
When set to true, creates the invoice without letter paper (white). This takes precedence over letter_paper_id.
Show inputSchema
{ "type": "object", "properties": { "PCID": { "type": "string", "description": "Pink Connect ID for the authenticated connection" }, "X-IMPERSONATE-USER-ID": { "type": "integer", "description": "Execute request on behalf of another user if allowed." }, "cash_discount": { "type": "number", "description": "Cash discount percentage." }, "cash_discount_days": { "type": "integer", "description": "Cash discount validity in days." }, "category": { "type": "string", "description": "Invoice category." }, "change_address": { "type": "string", "description": "Replace recipient address from selected source.", "enum": [ "invoice", "project", "customer" ] }, "contact_id": { "type": "integer", "description": "External contact person ID." }, "currency": { "type": "string", "description": "Currency code." }, "custom_properties": { "type": "object", "description": "Custom field values keyed by custom field name." }, "customer_id": { "type": "integer", "description": "Customer company ID." }, "date": { "type": "string", "description": "Invoice date." }, "discount": { "type": "number", "description": "Discount value." }, "due_date": { "type": "string", "description": "Due date." }, "footer": { "type": "string", "description": "Footer text. Supports template variables such as `{identifier}`, `{gross_total}`, `{net_total}`, `{user}`, `{me}`, and more." }, "identifier": { "type": "string", "description": "Optional custom invoice number." }, "internal_contact_id": { "type": "integer", "description": "Internal contact user ID." }, "items": { "type": "array", "description": "Invoice line items." }, "letter_paper_id": { "type": [ "integer", "null" ], "description": "Letter paper ID to use for this invoice. When omitted, the account's default invoice letter paper is used. If `without_letter_paper` is set to `true`, this field is ignored. Available letter papers can be fetched via `GET /api/v1/letter_papers`." }, "offer_id": { "type": "integer", "description": "Optional source offer ID." }, "print_detail_columns": { "type": "boolean", "description": "Include detailed columns in print layouts." }, "project_id": { "type": "integer", "description": "Optional project ID." }, "recipient_address": { "type": "string", "description": "Recipient address." }, "salutation": { "type": "string", "description": "Salutation text. Supports template variables such as `{salutation}`, `{recipient}`, `{company_name}`, `{date}`, `{due_date}`, and more." }, "service_period_from": { "type": "string", "description": "Service period start. Use together with `service_period_to`." }, "service_period_to": { "type": "string", "description": "Service period end. Use together with `service_period_from`." }, "status": { "type": "string", "description": "Initial invoice status.", "enum": [ "created", "draft" ] }, "tags": { "type": "array", "items": { "type": "string" }, "description": "Invoice tags." }, "tax": { "type": "number", "description": "VAT/tax percentage." }, "title": { "type": "string", "description": "Invoice title." }, "without_letter_paper": { "type": "boolean", "description": "When set to `true`, creates the invoice without letter paper (white). This takes precedence over `letter_paper_id`." } }, "required": [ "PCID", "currency", "customer_id", "date", "due_date", "items", "recipient_address", "tax", "title" ]}
ISO 8601 UTC timestamp (e.g. 2026-01-31T14:30:00Z). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization.
custom_properties
object
No
—
Filter by custom field values. Unknown custom field names return an empty result set. For MultiSelect fields, pass multiple values using custom_properties[Field][]=A&custom_properties[Field][]=B. Boolean fields should be queried with true or false.
billable
boolean
No
—
The billable value
billed
boolean
No
—
The billed value
budget_relevant
boolean
No
—
Budget Relevant
user_id
integer
No
—
User Id
project_id
integer
Yes
—
Project ID.
X-IMPERSONATE-USER-ID
integer
No
—
Execute request on behalf of another user if allowed.
Show inputSchema
{ "type": "object", "properties": { "PCID": { "type": "string", "description": "Pink Connect ID for the authenticated connection" }, "page": { "type": "integer", "description": "Page number, starting at 1." }, "per_page": { "type": "integer", "description": "Page size." }, "updated_after": { "type": "string", "description": "ISO 8601 UTC timestamp (e.g. `2026-01-31T14:30:00Z`). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization." }, "custom_properties": { "type": "object", "description": "Filter by custom field values. Unknown custom field names return an empty result set. For MultiSelect fields, pass multiple values using `custom_properties[Field][]=A&custom_properties[Field][]=B`. Boolean fields should be queried with `true` or `false`." }, "billable": { "type": "boolean", "description": "The billable value" }, "billed": { "type": "boolean", "description": "The billed value" }, "budget_relevant": { "type": "boolean", "description": "Budget Relevant" }, "user_id": { "type": "integer", "description": "User Id" }, "project_id": { "type": "integer", "description": "Project ID." }, "X-IMPERSONATE-USER-ID": { "type": "integer", "description": "Execute request on behalf of another user if allowed." } }, "required": [ "PCID", "project_id" ]}
ISO 8601 UTC timestamp (e.g. 2026-01-31T14:30:00Z). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization.
custom_properties
object
No
—
Filter by custom field values. Unknown custom field names return an empty result set. For MultiSelect fields, pass multiple values using custom_properties[Field][]=A&custom_properties[Field][]=B. Boolean fields should be queried with true or false.
project_id
integer
Yes
—
Project Id
Show inputSchema
{ "type": "object", "properties": { "PCID": { "type": "string", "description": "Pink Connect ID for the authenticated connection" }, "page": { "type": "integer", "description": "Page number, starting at 1." }, "per_page": { "type": "integer", "description": "Page size." }, "ids": { "type": "string", "description": "Comma-separated IDs." }, "sort_by": { "type": "string", "description": "Field and optional direction, e.g. `title desc`." }, "updated_after": { "type": "string", "description": "ISO 8601 UTC timestamp (e.g. `2026-01-31T14:30:00Z`). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization." }, "custom_properties": { "type": "object", "description": "Filter by custom field values. Unknown custom field names return an empty result set. For MultiSelect fields, pass multiple values using `custom_properties[Field][]=A&custom_properties[Field][]=B`. Boolean fields should be queried with `true` or `false`." }, "project_id": { "type": "integer", "description": "Project Id" } }, "required": [ "PCID", "project_id" ]}
ISO 8601 UTC timestamp (e.g. 2026-01-31T14:30:00Z). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization.
invoice_id
integer
No
—
Invoice Id
date_from
string
No
—
Reminder date range start. Format: YYYY-MM-DD (e.g. 2026-01-01).
date_to
string
No
—
Reminder date range end. Format: YYYY-MM-DD (e.g. 2026-01-31).
Show inputSchema
{ "type": "object", "properties": { "PCID": { "type": "string", "description": "Pink Connect ID for the authenticated connection" }, "page": { "type": "integer", "description": "Page number, starting at 1." }, "per_page": { "type": "integer", "description": "Page size." }, "ids": { "type": "string", "description": "Comma-separated IDs." }, "updated_after": { "type": "string", "description": "ISO 8601 UTC timestamp (e.g. `2026-01-31T14:30:00Z`). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization." }, "invoice_id": { "type": "integer", "description": "Invoice Id" }, "date_from": { "type": "string", "description": "Reminder date range start. Format: YYYY-MM-DD (e.g. `2026-01-01`)." }, "date_to": { "type": "string", "description": "Reminder date range end. Format: YYYY-MM-DD (e.g. `2026-01-31`)." } }, "required": [ "PCID" ]}
Execute request on behalf of another user if allowed.
page
integer
No
—
Page number, starting at 1.
per_page
integer
No
—
Page size.
sort_by
string
No
—
Field and optional direction, e.g. title desc.
ids
string
No
—
Comma-separated IDs.
updated_after
string
No
—
ISO 8601 UTC timestamp (e.g. 2026-01-31T14:30:00Z). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization.
status
string
No
—
Comma-separated API statuses.
include_disregarded
boolean
No
—
Include Disregarded
not_booked
boolean
No
—
Not Booked
date_from
string
No
—
Invoice date range start. Format: YYYY-MM-DD (e.g. 2026-01-01).
date_to
string
No
—
Invoice date range end. Format: YYYY-MM-DD (e.g. 2026-01-31).
service_period_from
string
No
—
Service period start. Format: YYYY-MM-DD (e.g. 2026-01-01).
service_period_to
string
No
—
Service period end. Format: YYYY-MM-DD (e.g. 2026-01-31).
tags
string
No
—
Comma-separated list of tag names.
identifier
string
No
—
The identifier value
term
string
No
—
The term value
company_id
integer
No
—
Company Id
project_id
integer
No
—
Project Id
custom_properties
object
No
—
Filter by custom field values. Unknown custom field names return an empty result set. For MultiSelect fields, pass multiple values using custom_properties[Field][]=A&custom_properties[Field][]=B. Boolean fields should be queried with true or false.
Show inputSchema
{ "type": "object", "properties": { "PCID": { "type": "string", "description": "Pink Connect ID for the authenticated connection" }, "X-IMPERSONATE-USER-ID": { "type": "integer", "description": "Execute request on behalf of another user if allowed." }, "page": { "type": "integer", "description": "Page number, starting at 1." }, "per_page": { "type": "integer", "description": "Page size." }, "sort_by": { "type": "string", "description": "Field and optional direction, e.g. `title desc`." }, "ids": { "type": "string", "description": "Comma-separated IDs." }, "updated_after": { "type": "string", "description": "ISO 8601 UTC timestamp (e.g. `2026-01-31T14:30:00Z`). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization." }, "status": { "type": "string", "description": "Comma-separated API statuses." }, "include_disregarded": { "type": "boolean", "description": "Include Disregarded" }, "not_booked": { "type": "boolean", "description": "Not Booked" }, "date_from": { "type": "string", "description": "Invoice date range start. Format: YYYY-MM-DD (e.g. `2026-01-01`)." }, "date_to": { "type": "string", "description": "Invoice date range end. Format: YYYY-MM-DD (e.g. `2026-01-31`)." }, "service_period_from": { "type": "string", "description": "Service period start. Format: YYYY-MM-DD (e.g. `2026-01-01`)." }, "service_period_to": { "type": "string", "description": "Service period end. Format: YYYY-MM-DD (e.g. `2026-01-31`)." }, "tags": { "type": "string", "description": "Comma-separated list of tag names." }, "identifier": { "type": "string", "description": "The identifier value" }, "term": { "type": "string", "description": "The term value" }, "company_id": { "type": "integer", "description": "Company Id" }, "project_id": { "type": "integer", "description": "Project Id" }, "custom_properties": { "type": "object", "description": "Filter by custom field values. Unknown custom field names return an empty result set. For MultiSelect fields, pass multiple values using `custom_properties[Field][]=A&custom_properties[Field][]=B`. Boolean fields should be queried with `true` or `false`." } }, "required": [ "PCID" ]}
ISO 8601 UTC timestamp (e.g. 2026-01-31T14:30:00Z). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization.
Show inputSchema
{ "type": "object", "properties": { "PCID": { "type": "string", "description": "Pink Connect ID for the authenticated connection" }, "page": { "type": "integer", "description": "Page number, starting at 1." }, "per_page": { "type": "integer", "description": "Page size." }, "updated_after": { "type": "string", "description": "ISO 8601 UTC timestamp (e.g. `2026-01-31T14:30:00Z`). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization." } }, "required": [ "PCID" ]}
ISO 8601 UTC timestamp (e.g. 2026-01-31T14:30:00Z). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization.
invoice_id
integer
No
—
Invoice Id
date_from
string
No
—
Payment date range start. Format: YYYY-MM-DD (e.g. 2026-01-01).
date_to
string
No
—
Payment date range end. Format: YYYY-MM-DD (e.g. 2026-01-31).
Show inputSchema
{ "type": "object", "properties": { "PCID": { "type": "string", "description": "Pink Connect ID for the authenticated connection" }, "page": { "type": "integer", "description": "Page number, starting at 1." }, "per_page": { "type": "integer", "description": "Page size." }, "ids": { "type": "string", "description": "Comma-separated IDs." }, "updated_after": { "type": "string", "description": "ISO 8601 UTC timestamp (e.g. `2026-01-31T14:30:00Z`). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization." }, "invoice_id": { "type": "integer", "description": "Invoice Id" }, "date_from": { "type": "string", "description": "Payment date range start. Format: YYYY-MM-DD (e.g. `2026-01-01`)." }, "date_to": { "type": "string", "description": "Payment date range end. Format: YYYY-MM-DD (e.g. `2026-01-31`)." } }, "required": [ "PCID" ]}
ISO 8601 UTC timestamp (e.g. 2026-01-31T14:30:00Z). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization.
custom_properties
object
No
—
Filter by custom field values. Unknown custom field names return an empty result set. For MultiSelect fields, pass multiple values using custom_properties[Field][]=A&custom_properties[Field][]=B. Boolean fields should be queried with true or false.
from
string
No
—
Expense date range start. Format: YYYY-MM-DD (e.g. 2026-01-01).
to
string
No
—
Expense date range end. Format: YYYY-MM-DD (e.g. 2026-01-31).
billable
boolean
No
—
The billable value
billed
boolean
No
—
The billed value
budget_relevant
boolean
No
—
Budget Relevant
tags
string
No
—
Comma-separated project tag names.
user_id
integer
No
—
User Id
Show inputSchema
{ "type": "object", "properties": { "PCID": { "type": "string", "description": "Pink Connect ID for the authenticated connection" }, "page": { "type": "integer", "description": "Page number, starting at 1." }, "per_page": { "type": "integer", "description": "Page size." }, "ids": { "type": "string", "description": "Comma-separated IDs." }, "updated_after": { "type": "string", "description": "ISO 8601 UTC timestamp (e.g. `2026-01-31T14:30:00Z`). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization." }, "custom_properties": { "type": "object", "description": "Filter by custom field values. Unknown custom field names return an empty result set. For MultiSelect fields, pass multiple values using `custom_properties[Field][]=A&custom_properties[Field][]=B`. Boolean fields should be queried with `true` or `false`." }, "from": { "type": "string", "description": "Expense date range start. Format: YYYY-MM-DD (e.g. `2026-01-01`)." }, "to": { "type": "string", "description": "Expense date range end. Format: YYYY-MM-DD (e.g. `2026-01-31`)." }, "billable": { "type": "boolean", "description": "The billable value" }, "billed": { "type": "boolean", "description": "The billed value" }, "budget_relevant": { "type": "boolean", "description": "Budget Relevant" }, "tags": { "type": "string", "description": "Comma-separated project tag names." }, "user_id": { "type": "integer", "description": "User Id" } }, "required": [ "PCID" ]}
ISO 8601 UTC timestamp (e.g. 2026-01-31T14:30:00Z). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization.
custom_properties
object
No
—
Filter by custom field values. Unknown custom field names return an empty result set. For MultiSelect fields, pass multiple values using custom_properties[Field][]=A&custom_properties[Field][]=B. Boolean fields should be queried with true or false.
project_id
integer
No
—
Project Id
Show inputSchema
{ "type": "object", "properties": { "PCID": { "type": "string", "description": "Pink Connect ID for the authenticated connection" }, "page": { "type": "integer", "description": "Page number, starting at 1." }, "per_page": { "type": "integer", "description": "Page size." }, "sort_by": { "type": "string", "description": "Field and optional direction, e.g. `title desc`." }, "ids": { "type": "string", "description": "Comma-separated IDs." }, "updated_after": { "type": "string", "description": "ISO 8601 UTC timestamp (e.g. `2026-01-31T14:30:00Z`). Returns entities created or updated after this timestamp and is intended for incremental synchronization. Combine with delete webhooks for full synchronization." }, "custom_properties": { "type": "object", "description": "Filter by custom field values. Unknown custom field names return an empty result set. For MultiSelect fields, pass multiple values using `custom_properties[Field][]=A&custom_properties[Field][]=B`. Boolean fields should be queried with `true` or `false`." }, "project_id": { "type": "integer", "description": "Project Id" } }, "required": [ "PCID" ]}