Skip to main content
You can use our React hooks in your frontend application to interact with the Trigger.dev API. This guide will show you how to generate Public Access Tokens that can be used to authenticate your requests.

Authentication

To create a Public Access Token, you can use the auth.createPublicToken function in your backend code:

Scopes

By default a Public Access Token has no permissions. You must specify the scopes you need when creating a Public Access Token:
This will allow the token to read all runs, which is probably not what you want. You can specify only certain runs by passing an array of run IDs:
You can scope the token to only read certain tasks:
Or tags:
Or a specific batch of runs:
You can also combine scopes. For example, to read runs with specific tags and for specific tasks:

Expiration

By default, Public Access Token’s expire after 15 minutes. You can specify a different expiration time when creating a Public Access Token:
  • If expirationTime is a string, it will be treated as a time span
  • If expirationTime is a number, it will be treated as a Unix timestamp
  • If expirationTime is a Date, it will be treated as a date
The format used for a time span is the same as the jose package, which is a number followed by a unit. Valid units are: “sec”, “secs”, “second”, “seconds”, “s”, “minute”, “minutes”, “min”, “mins”, “m”, “hour”, “hours”, “hr”, “hrs”, “h”, “day”, “days”, “d”, “week”, “weeks”, “w”, “year”, “years”, “yr”, “yrs”, and “y”. It is not possible to specify months. 365.25 days is used as an alias for a year. If the string is suffixed with “ago”, or prefixed with a ”-”, the resulting time span gets subtracted from the current unix timestamp. A “from now” suffix can also be used for readability when adding to the current unix timestamp.

Auto-generated tokens

When triggering a task from your backend, the handle received from the trigger function now includes a publicAccessToken field. This token can be used to authenticate requests in your frontend application:
By default, tokens returned from the trigger function expire after 15 minutes and have a read scope for that specific run. You can customize the expiration of the auto-generated tokens by passing a publicTokenOptions object to the trigger function:
You will also get back a Public Access Token when using the batchTrigger function:

Usage

To learn how to use these Public Access Tokens, see our React hooks guide.