Follow

Developer API Versioning

PayJunction API Versions

Why do we version?

PayJunction believes that, as an integrator, you shouldn't have to worry about the data received from PayJunction changing over time.  It should be the same as the day you originally integrated.

PayJunction has therefore implemented an API versioning scheme to grant developers greater flexibility to maintain their integrations and take advantage of new features on their own time table. 

How does PayJunction decide which version to use?

PayJunction prioritizes the API version in this order:

  1. PJ-Version header set on the request
  2. Version set on the Application Key (default)

How do I pin my integration to a specific version without sending a header?

As a developer, if you do not want to send a header, we will default to the version set on your Application Key. When an Application Key is created, PayJunction automatically defaults the Version to the most recent release, allowing you to use the most current API functionality from the start. 

How do I override the version set on my Application Key?

To use a specific version of the API, send a PJ-Version header with the version you want to use. 

What does the PJ-Version header look like/what format is the API version value in?

The PJ-Version header is an ISO 8601 date string, e.g. "2018-06-01".

cURL Example:

curl -u login:password \
-H "Pj-Version: 2018-06-01" \
-H "X-PJ-Application-Key: 88888888-4444-4444-4444-cccccccccccc" \
https://api.payjunctionlabs.com/terminals