---
title: "Complete a waitpoint token"
method: POST
path: "/api/v1/waitpoints/tokens/{waitpointId}/complete"
tags: ["waitpoints"]
---

# Complete a waitpoint token

`POST /api/v1/waitpoints/tokens/{waitpointId}/complete`

## Request

- Base URL: `https://api.trigger.dev`
- URL: `https://api.trigger.dev/api/v1/waitpoints/tokens/{waitpointId}/complete`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
- TypeScript: <https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/docs/api/v1/waitpoints/tokens/:waitpointId/complete/post.ts> (a function with typed inputs; its response is checked against the schema)

Completes a waitpoint token, unblocking any run that is waiting for it via `wait.forToken()`. An optional `data` payload can be passed and will be returned to the waiting run. If the token is already completed, this is a no-op and returns `success: true`.

This endpoint accepts both secret API keys and short-lived JWTs (public access tokens), making it safe to call from frontend clients.

## Path parameters

- `waitpointId` string, required

## Request body

- CompleteWaitpointTokenRequest
  - `data` unknown

## Response `200`

Waitpoint token completed successfully

- CompleteWaitpointTokenResponse
  - `success` true, required: Always `true` when the request succeeds.

## Other responses

- `401`: Unauthorized
- `404`: Waitpoint token not found
- `500`: Internal Server Error

## Changes

- **2026-02-25** `38d6514341ed`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/changes/api/v1/waitpoints/tokens/:waitpointId/complete/post.md)

---

[API](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api.md) - [All operations](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/revisions/441161111493?raw)
