wave-api 0.1.0

Typed Rust client for the Wave Accounting GraphQL API
Documentation
# Authentication

In order to connect to Wave, you need to provide authentication credentials. Credentials can be acquired by [creating an Application](360020948171#application) and generating tokens in one of two ways.

## Authentication Flows

### OAuth 2

An OAuth token enables a Wave user to securely grant your application scoped access to their account. This is the **standard and most secure method** for authenticating users in applications you plan to publish or sell. See [OAuth Guide](360019493652) and [OAuth Scopes](360032818132) for instructions.

Please note: Users can only grant access to businesses that have an active Pro or Wave Advisor subscription with Wave.

### Full Access Token

From an application, you can create a full access token that represents you as a user and has the same permissions you do. This token can be passed to the API using an `Authorization` header with a value of `Bearer YOUR_TOKEN`.

While a full access token is the quickest and most convenient way to start exploring the Wave API with Businesses in your own Wave account, **it is strictly recommended for development purposes or personal applications only.** For any applications that will be published or sold for other Wave users to access their accounts, **authentication must be via OAuth 2**.

#### Creating a Full Access Token

1. Make sure you are [logged into your Wave account]https://my.waveapps.com/login/.
2. Navigate to the [Manage Applications]360019762711 page on the left navigation.
3. Select the application to create a token for by clicking on its name. May need to first [create an application]360020948171.
4. Click the "Create token" button to generate a new full access token.
5. Use the token in the `Authorization` header and your requests will be authenticated.
6. If you decide to revoke access for a particular token, click the "Revoke" button and that token will no longer work.

#### Congratulations!

You now have an application and are ready to make requests to Wave.

Now you can head over to the [clients](360018856171) section, to see how to make a request or use the [playground](360018937431) to try out queries directly from here.