---
title: "Close Session"
method: DELETE
path: "/sessions/{token}"
tags: ["Sessions"]
---

# Close Session

`DELETE /sessions/{token}`

Closes an active session. Sessions remain open until this endpoint is called.

## Closing Behavior
- The response returns the session envelope with `meta.session_status` set to `closed`
- Subsequent operations on the closed session return HTTP 410

## When to Close
- After completing service lookup
- When switching to a different address
- After receiving final results
- When abandoning a search

## Important Notes
- A closed session cannot be reopened
- Create a new session to perform another lookup

## Response `200`

Session closed successfully

- object
  - `message` string, required
  - `request_status` 'ok' | 'warning' | 'error', required — An informational summary returned in API response bodies: `ok` for successful responses, `warning` for standard request errors, and `error` for endpoint-specific failures. Integrations must use the HTTP status code, not `request_status`, to determine whether a request succeeded.
  - `data` SessionTokenData, required — Session response data. The formatted service address and normalized address components are returned in `meta`.
    - `session_token` string, required — The session token provided by the Hum API. Used to connect the response to the session in the client system.
  - `meta` Meta, required — Session metadata, including normalized input values, formatted service address, session status, and the Hum data set used for the response.
    - `session_token` string, required — The session token provided by the Hum API. Used to connect the response to the session in the client system.
    - `session_status` 'open' | 'closed', required — The status of the session.
    - `agent_status` AgentStatus, required
      - `geocoding` 'pending' | 'matched' | 'multiple' | 'failed' — The status of the geocoding agent. Pending: The agent has not yet processed the address. Matched: The agent has found a single match for the address. Multiple: The agent has found multiple matches for the address. Failed: The agent was unable to match the address.
      - `internet` 'pending' | 'matched' | 'failed' — The status of the Internet service availability agent. Pending: The agent has not yet processed the address. Matched: The agent has found Internet service providers for the address. Failed: The agent was unable to find Internet service providers for the address.
      - `checkout` 'pending' — The status of the checkout agent. Pending: The agent has not yet begun processing a checkout for service.
    - `session_params` NormalizedSessionParams, required — Address and campaign values after normalization. Coordinate values are serialized as strings in response metadata.
      - `street1` string, required
      - `street2` string, nullable, required
      - `city` string, required
      - `state` string, required
      - `zip` string, required
      - `latitude` string, nullable, required
      - `longitude` string, nullable, required
      - `campaign_id` string, nullable, required
    - `service_address` string, required — The complete service address as a single string.
    - `mdu` boolean, required — Whether the normalized service address is a multi-dwelling unit.
    - `created_at` string, date-time, required — The timestamp when the session was created.
    - `updated_at` string, date-time, required — The timestamp when the session was last updated.
    - `responded_at` string, date-time, required — The timestamp when the response was generated.
    - `hum_data_set` string, required — The version of the Hum data set used to generate the response. This version may change as the data set is updated.

## Other responses

- `400` — Bad request. This includes an invalid session token. Use the HTTP status code, not `request_status`, to detect the error.
- `401` — Unauthorized. Use the HTTP status code, not `request_status`, to detect the error.
- `410` — The session has been closed. Use the HTTP status code, not `request_status`, to detect the error.
- `415` — The request was rejected because its content type is unsupported.
- `422` — Session validation failed. Use the HTTP status code, not `request_status`, to detect the error.
- `429` — Rate Limit Exceeded
- `500` — Unexpected internal error handled by an API controller.

---

[API](https://skmtc.dev/letshum/apis/hum-api.md) · [All operations](https://skmtc.dev/letshum/apis/hum-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/letshum/hum-api/revisions/5e36540cb9b0/schema)
