**Source URL:** https://limited.veevavault.dev/safety/vault-sdk/services/token-service

# Token Service

`TokenService` provides methods to define and resolve Custom tokens. You can use these tokens with:

*   `HttpService` to reference tokens in the URL of an *External Connection* record.
*   `QueryService` to reference tokens in a VQL query.
*   `QueueService` to reference tokens in Spark messages.

You can define custom tokens using `TokenRequest.Builder` as shown in the example below.

```java
TokenService tokenService = ServiceLocator.locate(TokenService.class);
      TokenRequest.Builder builder = tokenService.newTokenRequestBuilder();

      builder.withValue("Custom.api_version", "1.0");
      builder.withValue("Custom.is_case_sensitive", Boolean.TRUE);
      builder.withValue("Custom.max_amount", new BigDecimal(100));

      TokenRequest tokenRequest = builder.build();
```

`TokenService` can only be used for Custom tokens. For [Authorization tokens](/safety/vault-sdk/sdk-integrations/tokens/authorization-tokens/) and [Session tokens](/safety/vault-sdk/sdk-integrations/tokens/session-tokens/), use `HttpService`. For [Vault tokens](/safety/vault-sdk/sdk-integrations/tokens/vault-tokens/), use `HttpService`, `QueryService`, or `QueueService`.

---

**Previous:** [Query Service](/safety/vault-sdk/services/query-service)  
**Next:** [URL Service](/safety/vault-sdk/services/url-service)