v1
latestOpenAPI 3.0.32026-07-26362271803.3 KBCreate Contract
Create a new contract.
Evergreen vs standard:
- Standard contract: set is_evergreen=false and provide a fixed contract_end_date.
- Evergreen contract: set is_evergreen=true and leave contract_end_date as null.
The system manages a rolling effective_end_date, exposes working_end_date for downstream usage,
and returns evergreen_locked_date for immutable historical boundary rules.
Additional evergreen constraints:
- is_evergreen and auto_renew cannot both be true.
- billing_frequency is required for evergreen behavior.
- skip_evergreen_invoice_generation is creation-time only and cannot be changed on existing contracts.
- skip_evergreen_invoice_generation=true skips only Campfire's auto-generated evergreen invoices.
Revenue transactions still generate.
Request body
Fixed end date for standard contracts. Leave null for evergreen contracts (is_evergreen=true).
Set true for evergreen contracts (no fixed end date). Evergreen contracts cannot also be auto-renew. Auto-renew is a legacy method to extend contracts.
When true, generated invoices are automatically sent on their invoice date.
For Evergreen contracts only. Set at contract creation; existing contracts cannot change this setting. False means current behavior. True skips only Campfire's auto-generated evergreen invoices; revenue transactions still generate; existing invoices are not cleaned up.
Evergreen contracts only. When true, evergreen-generated invoices inherit stripe_connection and use_stripe_auto_bill from the contract customer.
Rolling horizon end date for active evergreen contracts. It will be auto-generated by Campfire backend. Null for standard contracts.
Canonical end date used by the system. Equals contract_end_date for standard or terminated contracts, and effective_end_date for active evergreen contracts.
Inclusive lock date for evergreen contracts based on paid invoices and close books date. Dates on or before this value are immutable. Null for non-evergreen contracts, or when no financial locking events exist.
- monthly - Monthly
- quarterly - Quarterly
- biannual - Bi Annualy
- annual - Annual
- one_time - One Time
- custom - Custom
- ACTIVE - Active
- PENDING - Pending
- COMPLETED - Completed
- DELETED - Deleted
- SALESFORCE - Salesforce
- HUBSPOT - Hubspot
- STRIPE - Stripe
- MANUAL - Manual
Minimum monthly commitment amount (allowance threshold)
Minimum monthly commitment quantity (allowance threshold in units)
Response
Fixed end date for standard contracts. Leave null for evergreen contracts (is_evergreen=true).
Set true for evergreen contracts (no fixed end date). Evergreen contracts cannot also be auto-renew. Auto-renew is a legacy method to extend contracts.
When true, generated invoices are automatically sent on their invoice date.
For Evergreen contracts only. Set at contract creation; existing contracts cannot change this setting. False means current behavior. True skips only Campfire's auto-generated evergreen invoices; revenue transactions still generate; existing invoices are not cleaned up.
Evergreen contracts only. When true, evergreen-generated invoices inherit stripe_connection and use_stripe_auto_bill from the contract customer.
Rolling horizon end date for active evergreen contracts. It will be auto-generated by Campfire backend. Null for standard contracts.
Canonical end date used by the system. Equals contract_end_date for standard or terminated contracts, and effective_end_date for active evergreen contracts.
Inclusive lock date for evergreen contracts based on paid invoices and close books date. Dates on or before this value are immutable. Null for non-evergreen contracts, or when no financial locking events exist.
- monthly - Monthly
- quarterly - Quarterly
- biannual - Bi Annualy
- annual - Annual
- one_time - One Time
- custom - Custom
- ACTIVE - Active
- PENDING - Pending
- COMPLETED - Completed
- DELETED - Deleted
- SALESFORCE - Salesforce
- HUBSPOT - Hubspot
- STRIPE - Stripe
- MANUAL - Manual
Minimum monthly commitment amount (allowance threshold)
Minimum monthly commitment quantity (allowance threshold in units)