---
title: "Integrate with COUNT · COUNT Partner API"
description: "Watch the whole partner integration run: register an app, take a user through OAuth consent, exchange the code for a workspace token, then sign your first…"
canonical: "https://developers.getcount.com/tutorials/integrate"
source: "https://developers.getcount.com/tutorials/integrate"
---
Tutorials

# Integrate with COUNT

The whole partner integration end to end: register an app, send a user through OAuth, exchange the code for a workspace token, sign a request, and read their books.

5 steps · about 43 seconds · from registering an app to your first signed call

## What you just saw

1. 1 The client secret is shown once COUNT Partners displays it on creation and never again. Copy it then, or re-roll it — and store it server-side, because it signs every request and is never sent over the wire.
2. 2 Redirect URLs must match exactly The authorization request is rejected if its redirectUri is not one you registered. This is the most common reason a first OAuth attempt fails.
3. 3 The token is scoped to the workspaces the user ticked Consent is per workspace, not per account. Store the access token against the workspace it covers rather than against the user.
4. 4 The signed path drops the /partners prefix The base string is METHOD:path:timestamp:bodyHash, where path is relative to the mount — so /partners/customers signs as /customers. A GET signs an empty body hash.

## Where to go next

[Start the quickstart](https://developers.getcount.com/getting-started/quickstart) [Authentication & signing](https://developers.getcount.com/getting-started/authentication) [API access credentials](https://developers.getcount.com/getting-started/credentials)
