Skip to main content
Eptura Knowledge Center

Registration and access process for Eptura Public APIs

Early Access

Early access to the Eptura Public API is by invitation only.

Subscription packages

Eptura public APIs include APIs for all Eptura modules. Customers who want to use specific Eptura modules can subscribe to specific packages.

 
Package
Quota Limits
Eptura Public API

Includes APIs for all modules

Starter 100,000 calls per week

Advanced

200,000 calls per week

Power

500,000 calls per week

Space APIs

Starter

100,000 calls per week

Advanced

200,000 calls per week

Power

500,000 calls per week

Asset APIs

Starter

100,000 calls per week

Advanced

200,000 calls per week

Power

500,000 calls per week

Booking APIs

Starter

100,000 calls per week

Advanced

200,000 calls per week

Power

500,000 calls per week

Visitor APIs

Starter

100,000 calls per week

Advanced

200,000 calls per week

Power

500,000 calls per week

Contact your Eptura account representative to add additional APIs to your subscription

Register and Activate the Subscription


Follow the steps in API Access: Subscribe to the Eptura Public APIs.

For the value of Ocp-Apim-Subscription-Key, use the Subscription Key.

Follow the Authentication steps below to generate the Bearer token value. 

Authentication


There are two authentication headers required in API calls with the Eptura application:

  1. Ocp-Apim-Subscription-Key: API security token
  2. Session Token: Application security token also known as the JWT Bearer Token.

Subscription Keys


Subscription keys are assigned after registering and individual subscription keys are provided on your account for each subscribed product.

JWT token in bearer


Along with a subscription key, you must provide a validated JSON Web Token (JWT) to access the Eptura API.  

We use the Private / Public Key method for Service authentication with Okta. These apps will be seeded with the Auth Service so they are created / managed correctly for all the tenants. 

  1. Create a private / public key. Both RSA and Elliptic Curve (EC) keys are supported.

  • Example

    • Key size: 2048 

    • Key use: signature 

    • Algorithm: RSA256 

    • Key ID: This can be any random value/guid. 

  1. Create an endpoint to host your public key.  E.g. https://[mydomain.com]/public/eptura/keys shows the following:

{ 
"keys": [ 
      { 
    "kty": "RSA", 
    "e": "AQAB", 
    "use": "sig", 
    "kid": "my_key_id", 
    "alg": "RS256", 
    "n": "u0VYW2-76A_lYg5NQihhcPJYYU9-NHbNaO6LFERWnOUbU7l3MJdmCailwSzjO76O-2GdLE-
    Hn2kx04jWCCPofnQ8xNmFScNo8UQ1dKVq0UkFK-sl-Z0Uu19GiZa2fxSWwg_1g2t-
    ZpNtKCI279xGBi_hTnupqciUonWe6CIvTv0FfX0LiMqQqjARxPS-
    6fdBZq8WN9qLGDwpjHK81CoYuzASOezVFYDDyXYzV0X3X_kFVt2sqL5DVN684bEbTsWl91vV-
    bGmswrlQ0UVUq6t78VdgMrj0RZBD-lFNJcY7CwyugpgLbnm4HEJmCOWJOdjVLj3hFxVVblNJQQ1Z15UXw" 
      } 
    ] 
} 
  1. Share your URL with Eptura Customer Support e.g. https://[mydomain.com]/public/eptura/keys and Eptura Customer Support will provide the Client ID and Issuer required for you to create the token. 

  2. Generate the JWT bearer token (see below).

Generate a JWT

Constructing your JWT requires the following values to be set:

  • Headers
    • kid - the key ID.
    • alg - signing algorithm. The algorithm values RS256, RS384, RS512, ES256, ES384, and ES512 are supported.
  • Payload
    • aud - the issuer path for token. Entered in the format: {issuer}/v1/token
    • iat - issued at. Optional. The issuing time of the token in seconds since January 1, 1970 UTC (current UNIX timestamp).
    • exp - expiry. The expiration time of the token in seconds since January 1, 1970 UTC (current UNIX timestamp). This value must not exceed 1 hour in the future.
    • iss - clientId provided.
    • sub - clientId provided.
    • jti - unique identifier for the JWT. Optional but recommended. Okta will not allow the same token to be replayed if it has a jti set.

Learn more: https://developer.okta.com/docs/guides/build-self-signed-jwt/java/main/#build-a-jwt-with-a-private-key