##### Getting started

Introduction Usage Policy Endpoints & Versioning Authentication

##### Open APIs

Discovery Promos Songs Users Tournaments

##### Connect APIs

Connect

# Introduction

This document outlines how to connect a SpinShare userprofile with your application and how you can use this connection to perform user actions such as creating reviews or adding charts to playlists.

# Terminology

User | A "User" is a SpinShare userprofile.
ConnectApp | A "ConnectApp" is your application, bot or whatever.
Connection | A "Connection" is a relationship between a ConnectApp and a User. A User can always revoke access to a ConnectApp by going into the usersettings on SpinShare.
ConnectCode | A "ConnectCode" is a 6 character code that is used for establishing the connection between a User and a ConnectApp. This code will change every 15 seconds as long as the user is on the SpinShare connect page.
ConnectToken | A "ConnectToken" is a series of characters used along with your ApiKey to verify you are allowed to perform certain actions and ping certain api endpoints. This token is valid until the user revokes access.

# Creating a Connection

#### Attention

API access is handled privately as of now. Please refer to the developers on the SpinShare Discord to receive API access.

The SpinShare API does not consume login credentials for protected API endpoints but rather a simple apikey/token solution. Users have to connect to a ConnectApp once by inputting a 6 character long ConnectCode that changes every 15 seconds.

Steps to establish a Connection

Prompt the user to input their connect code. The code can be found on within the profile settings under the "Connect" tab.

Put the ConnectCode through the Getting a Token API endpoint along with your ApiKey to generate a ConnectToken.

Save the ConnectToken locally and use it for protected API endpoints. If you need to verify if your ConnectToken is still valid, you can use the Validating a Token API endpoint.

## Getting a Token

Returns a ConnectToken.

Method | GET
Endpoint | /connect/getToken
Query Parameters | (string) connectCode (string) connectAppApiKey

Responses

Code | Explaination
--- | ---
200 | OK. The body contains the ConnectToken
400 | Parameters are missing. The body contains the needed parameters and their value
403 | The ConnectCode or ApiKey was wrong.

## Validating a Token

Checks if a ConnectToken is still valid.

Method | GET
Endpoint | /connect/validateToken
Query Parameters | (string) connectCode (string) connectAppApiKey

Responses

Code | Explaination
--- | ---
200 | The ConnectToken is valid.
403 | The ConnectToken is not valid.

On this page
Introduction Terminology Creating a Connection Getting a Token Validating a Token