Requesting your client ID and secret
The first step is to request a client id and secret for one of our sandbox instances so that you can get started. We require that you provide one or more redirect URL(s) for the authorization redirect callback to your application. Complete Request Form (iinked Sign)Authorization code flow
iinked Sign provides an OAuth 2.0 authorization code flow (RFC 6749, Section 4.1) with optional PKCE support.Authorizing your application
Direct your user to theconnect/authorize URL with the following query parameters:
Authorize URL
string
required
Use
code as a response type.string
required
Your OAuth App client id.
string
required
One of the redirect URLs you provided when requesting your OAuth App client id and secret. Contact support@syngrafii.com if you need to modify your redirect URL(s).
string
For most integrations request
profile offline_access organization. If you support OpenID Connect include openid to also receive an id_token (for example: profile openid offline_access organization).string
A value returned with the callback to help maintain state between the request and callback and to help prevent CSRF attacks. (optional)
string
When using OpenID Connect, provide a nonce to help prevent replay attacks. (optional)
string
Prompt options to influence the authorization user experience. See values below.
string
(Required when using PKCE) Code challenge value.
string
(Required when using PKCE) Code challenge method (for example:
S256).Authorize URL Example
Retrieving tokens
The callback to your application will contain a code query parameter and state query parameter if one was provided with the original request. You must use this code to retrieve your tokens by making a POST request to the connect/token endpoint.POST
string
required
Use
authorization_code as the grant type.string
required
The authorization
code returned to your callback. Use this to exchange for tokens.string
(Only required if the Authorization header is not provided) Your client_id.
string
(Only required if the Authorization header is not provided) Your client_secret.
Response
Using an access token
You can now make requests to the iinked Sign API by adding the access token to Authorization header as a Bearer token.iinked Sign access tokens are obtained through the OAuth 2.0 authorization process.
Refreshing an access token
The access token has a short lifetime and must be refreshed by making another POST request to the connect/token endpoint and passing the refresh token.POST
Single Use Refresh Tokens
iinked Sign has implemented single use Refresh Tokens. When refreshing the access token, a new refresh token will be returned along with the access token. It is important to replace the previous refresh token with the new one as they will expire 60 seconds after they have been redeemed. This 60 second leeway helps reduce any concurrency issues within your application that may result in using the current refresh token at the same time.
Rolling Refresh Tokens
When a new refresh token is returned, its lifetime will be also be renewed. Therefore, reauthorization will only be required when applications have not been used for several months.
Implementation
Common workflow
1
Authorize your application
- Store refresh token
- Cache access token
- Set event notification callback
api/v1/events/endpoints/set(if required) - Sync organization and members
api/v1/organizations/info(if required)
2
Get Access Token
- Get from cache
- If expired / not cached
- Get new tokens using refresh token
- Store new refresh token
- Cache new access token
3
Call api/v1/packages/add
Call
api/v1/packages/add to add a package.See the Packages add API for more information.