Skip to main content
Version: Next

Getting Started

To get started, you must first generate an asymmetric ECDSA key pair.

Generate a private key:

openssl ecparam -name secp256k1 -genkey -noout -out priv-key.pem

Generate a public key:

openssl ec -in priv-key.pem -pubout > pub-key.pem

Example public key

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuphROC4HZxavxT1Ilb6sezZ1/Bvn
ZrGGxObLjbpCtkrRiBuqzHUO2Ua2g9/OC25FgiUe0K/G+6Tebq7Qd3bnFg==
-----END PUBLIC KEY-----

Send your public key to engineering@abswarranty.net. We will add it to your account and provide you with your Partner ID.

Note: Keep your private key secure - do not send it over an insecure channel or share it with anyone, including ABS.

Create a JSON Web Token (JWT) [rfc7519] with the following claims:

NameValue
iat(issued at) - Unix timestamp when the token was created.
iss(issuer) - Your Partner ID.
aud(audience) - The environment Base URL.
exp(expiration time) - Unix timestamp not greater than 2 hours in the future.

For example:

{
"iat": 1627618568,
"iss": "6102b521f403f42ddcde7ae5",
"aud": "https://sandbox.absintegrations.com/api/v3",
"exp": 1627625768
}

Ensure your JWT has the correct header corresponding with your key pair algorithm.

{
"alg": "ES256",
"typ": "JWT"
}

Using your private key, sign the JWT.

Your JWT will look like this:

eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mjc2NTU5NzAsImV4cCI6MTYyNzY2MzE3MCwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmFic2ludGVncmF0aW9ucy5jb20vYXBpL3YzIiwiaXNzIjoiNjEwMmI1MjFmNDAzZjQyZGRjZGU3YWU1In0.y5-vxJHlBtVf2Jr9sPO4I97L5hImkhyn1EtHeCoeIzqZwObpcVy9ZEMJoCGbXwnGdeZ6GpaiO8KD9xLqgUZcTg

Verify your JWT claims and headers using jwt.io.

Several libraries for all major languages are available to making creating and signing the JWT easy. See https://jwt.io/#libraries-io

Now you're ready to create a registration.