# 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 to `true`. When false, 1099Policy does not notify or schedule a charge. Note that the independent contractor will not be issued coverage if bind is set to `false`. - **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`, `professional` and `workers-comp`. If provided, coverage type is factored into the eligibility determination (i.e., does contractor have an active `workers-comp` policy, etc). Defaults to the coverage types of the most recent active policy if `coverage_type` is 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. [Powered by Bump.sh](https://bump.sh)