operation post api v1 assignments change dates.md
Change bound coverage dates
POST /api/v1/assignments/change_dates
Changes the start (effective_date) and/or end date of bound coverage for a job. This is the symmetric counterpart to POST /api/v1/assignments/extend: extend moves the end date out, this endpoint can also move the start date forward (shortening coverage from the front) -- e.g. correcting a start date that slipped into the past -- and it works for both quote- and assignment-backed coverage.
Restrictions mirror what we already enforce: effective_date must be in the future, strictly after the current start, and before the end date; end_date follows the extend rules (on or after the current end, within a year of the effective date, and coverage not already ended). At least one of effective_date / end_date is required. Changing dates on a bound quote via PUT /quotes is not supported; use this endpoint.
Certificate of Insurance (COI) regeneration: COI PDFs are regenerated asynchronously to reflect the new dates. The response returns immediately with certificate_refresh_pending: true; the certificate URLs in the response are stale, and fresh URLs are published in the assignment.dates_changed webhook (and available via the API) once regeneration completes.
Servers
- Production server: https://api.1099policy.com (Production server)
Parameters
Body: application/json (object)
effective_date (integer(int64))
New coverage start date (seconds since the Unix epoch). Must be in the future, after the current start, and before the end date. Moving it forward shortens coverage from the start.end_date (integer(int64))
New coverage end date (seconds since the Unix epoch). Must be on or after the current end date and within one year of the effective date.job_id (string)
The ID of the job associated with the coverage.send_email (boolean)
When true, email the contractor a coverage-dates-changed notice. COI regeneration and webhook publication happen regardless of this flag.
Responses
200
Coverage dates updated, or unchanged (no-op) when the submitted dates match the current values. COIs regenerate asynchronously, so the response includes certificate_refresh_pending: true.
Body: application/json (object)
bind ()
Indicates whether to start the process of binding coverage, which includes notifying and subsequently charging the independent contractor for the premium amount due. Defaults totrue. When false, 1099Policy does not notify or schedule a charge. Note that the independent contractor will not be issued coverage if bind is set tofalse.certificates (object)
contractor (string)
ID of the contractor.coverage_type (array[string])
An array of coverage types that can include one or more of the following insurance coverage values:general,professionalandworkers-comp. If provided, coverage type is factored into the eligibility determination (i.e., does contractor have an activeworkers-comppolicy, etc). Defaults to the coverage types of the most recent active policy ifcoverage_typeis not provided.created (integer(int64))
effective_date (integer(int64))
The job assignment start date, measured in seconds since the Unix epoch.eligible (object)
end_date (integer(int64))
The projected job assignment end date, measured in seconds since the Unix epoch.id (string)
job (string)
ID of the job that the contractor intends to accept.net_rate (integer)
The amount of money the 1099 contractor pays in premium per every $100 earned.
A positive integer representing the premium owed per $100 earned. The net_rate is stored in cents (e.g., 48 represents $0.48).
- policy (string)
ID of the policy that you want attached to the assignment. Defaults to the most recent active policy with a matching job category code, work state and contractor home state.
400
Invalid input, no dates provided, voided/cancelled/unbound record, expired coverage, a backward or past effective_date, or a shortened end_date.
404
Job not found, or no bound coverage found for the job.