Update an expiry

posthttps://api.expiryedge.com/v1/updateExpiry
editor or admin60/min
Request
curl -X POST 'https://api.expiryedge.com/v1/updateExpiry?id=exp_4Tq9sLm2' \
  -H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "expiry_date": "2027-10-15",
  "state": "inprogress",
  "notes": "Renewal submitted on 2026-09-27; awaiting board confirmation."
}'
Response
{
  "message": "Expiry updated successfully"
}

Partial update: only the fields sent are changed. Server-owned fields (organization_id, user_id, share_token, created_at, recurrence and escalation bookkeeping) are ignored.

Query parameters

  • idstringrequired
    Expiry id.

Body parameters

application/json
Any subset of the writable expiry fields.
  • namestring
    Display name.
  • typestring
    Expiry type name (see getExpiryTypesWithStats).
  • expiry_datestring
    Calendar date YYYY-MM-DD in the organization's timezone.
  • expiry_timezonestring
    IANA timezone for expiry_date when it carries a time.
  • start_datestring | null
  • start_timezonestring
  • prioritystring
    AllowedLowMediumHigh
  • statestring
    Workflow state; defaults to todo.
    Allowedtodoinprogressonholdinreviewcompleted
  • notesstring
  • urlstring
  • document_typestring
  • tagsarray of string
  • team_idstring
    Team id, or '0' for no team.
  • folder_idstring | null
  • assigned_tostring | null
    User id of the assignee (must be in your organization).
  • assigned_bystring
  • contactsarray of string
    Contact ids that receive reminders.
  • directory_entry_idsarray of string
  • is_publicboolean
    Enables the public share link (viewExpiry).
  • share_passwordstring
    Optional password for the share link. Never returned.
  • valuenumber | null
  • penalty_amountnumber | null
  • currencystring | null
    ISO 4217 code, uppercase.
  • custom_columnsobject
  • checklist_itemsarray of objects
  • template_idstring | null
  • template_namestring | null
  • template_fieldsarray of objects | null
  • template_dataobject | null
  • fileUrlsarray of string
  • fileNamesarray of string
  • is_recurringboolean
  • recurrence_typestring | null
    Alloweddayweekmonthyear
  • recurrence_intervalinteger | null
  • recurrence_countinteger | null
  • recurrence_end_datestring | null
  • recurrence_modestring
    Defaults to renew_as_copy.
    Allowedrenew_as_copyrenew_same
  • auto_renewboolean
  • auto_renew_vendorstring | null
  • escalation_enabledboolean
    Always false on create unless explicitly true.
  • escalation_contactsarray of string
  • escalation_notification_daysarray of integer
    Days before expiry at which escalation fires (0-365).

Returns

200
Updated.
  • messagestringrequired

Errors

400
The request is missing required fields or contains invalid values.
401
Missing, expired or invalid bearer token.
403
Authenticated, but your role or organization does not allow this action.
404
The record does not exist or is not in your organization.
429
Too many requests for this endpoint from your IP. Wait Retry-After seconds.