Get one expiry

gethttps://api.expiryedge.com/v1/getExpiry
any role in the expiry's organization60/min
Request
curl 'https://api.expiryedge.com/v1/getExpiry?id=exp_4Tq9sLm2' \
  -H "Authorization: Bearer $EXPIRYEDGE_API_KEY"
Response
{
  "id": "exp_4Tq9sLm2",
  "name": "Northwind Dental - State Dental License",
  "type": "License",
  "expiry_date": "2026-10-15",
  "start_date": "2025-10-15",
  "priority": "High",
  "state": "todo",
  "team_id": "0",
  "is_done": false,
  "is_archive": false,
  "is_public": false,
  "has_share_password": false,
  "organization_id": "org_northwind",
  "user_id": "u_71bXq",
  "assigned_to": "u_71bXq",
  "assigned_to_user_full_name": "Priya Shah",
  "assigned_to_user_email": "priya@northwinddental.com",
  "assigned_by_user_full_name": null,
  "assigned_by_user_email": null,
  "contacts": [
    {
      "id": "c_8Hk2pQ",
      "firstName": "Priya",
      "lastName": "Shah",
      "email": "priya@northwinddental.com",
      "smsPhone": "+15125550143",
      "email_opt_in": true,
      "sms_opt_in": false,
      "whatsapp_opt_in": false
    }
  ],
  "escalation_contacts": [],
  "created_at": "2026-09-27T14:05:00.000Z",
  "updated_at": "2026-09-27T14:05:00.000Z"
}

Returns the record with contacts and escalation_contacts resolved to contact objects and assignee names.

Query parameters

  • idstringrequired
    Expiry id.

Returns

200
The expiry with resolved contacts and assignee names.
  • 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 objects
  • 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 objects
  • escalation_notification_daysarray of integer
    Days before expiry at which escalation fires (0-365).
  • idstringread-only
  • organization_idstringread-only
  • user_idstringread-only
    Creator's user id.
  • share_tokenstringread-only
  • is_doneboolean
  • completed_atstring | null
    format: date-time
  • is_archiveboolean
    Archived flag (the canonical field name).
  • occurrence_numberintegerread-only
  • is_auto_createdbooleanread-only
  • recurrence_created_from_idstring | nullread-only
  • renewal_historyarray of objectsread-only
  • escalation_notification_sent_daysarray of integerread-only
  • escalation_all_sentbooleanread-only
  • created_atstring
    UTC timestamp, ISO 8601. Every v1 response uses this form, never a raw Firestore Timestamp ({_seconds, _nanoseconds}).
    format: date-time
  • updated_atstring
    UTC timestamp, ISO 8601. Every v1 response uses this form, never a raw Firestore Timestamp ({_seconds, _nanoseconds}).
    format: date-time
  • has_share_passwordbooleanread-only
  • assigned_to_user_full_namestring | null
  • assigned_to_user_emailstring | null

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.