Rebilly User API (2.1)

Download OpenAPI specification:Download

Introduction

This document covers APIs mostly intended for consumption by Rebilly's Frontend GUI app. However, any client is welcome to use these APIs. Our main API docs can be found here.

The Rebilly API is built on HTTP. Our API is RESTful. It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. You can use your favorite HTTP/REST library for your programming language to use Rebilly's API, or you can use one of our SDKs (currently available in PHP or Javascript).

Authentication

This topic describes the different forms of authentication that are available in the Rebilly API, and how to use them.

Rebilly offers four forms of authentication: secret key, publishable key, JSON Web Tokens, and public signature key.

  • Secret API key: Use to make requests from the server side. Never share these keys. Keep them guarded and secure.
  • Publishable API key: Use in your client-side code to tokenize payment information.
  • JWT: Use to make short-life tokens that expire after a set period of time.

JWT

A JWT is a short lifetime token that can be assigned a specific expiration time. To create a JWT session, see JWT session resource. Usage format: Bearer <JWT>.

Security Scheme Type: HTTP
HTTP Authorization Scheme bearer
Bearer format: "JWT"

ApplicationJWT

Applications in our App Store can create a JSON Web Token (JWT) by fetching an user's instance. Usage format: Bearer <JWT>.

Security Scheme Type: HTTP
HTTP Authorization Scheme bearer
Bearer format: "JWT"

PublishableApiKey

Only for the Tokens resource. You can create a Publishable API Key via our API Keys resource, by specifying the type as publishable.

Security Scheme Type: API Key
Header parameter name: Authorization

SecretApiKey

Important: Never share your secret keys. Keep them guarded and secure.

Use your secret API key to make requests from the server side. When you sign up for a Rebilly account, you receive a secret API key. To authenticate in Rebilly API, provide your secret key in the request header.

Security Scheme Type: API Key
Header parameter name: REB-APIKEY

CustomerJWT

You can create a JSON Web Token (JWT) via Storefront Authentication. Usage format: Bearer <JWT>.

Security Scheme Type: HTTP
HTTP Authorization Scheme bearer
Bearer format: "JWT"

Manage API keys

To create or manage API keys, select one of the following:

  • Use the Rebilly UI: In the left navigation bar, click Automations, Integrations, Custom integrations, then click API keys.
  • Use the Rebilly API: go to API Keys.

For more information, see API keys.

SDKs

Javascript SDK

Installation and usage instructions can be found here. SDK code examples are included in these docs.

PHP SDK

For all PHP SDK examples provided in this spec you will need to configure $client. You may do it like this:

$client = new Rebilly\Client([
    'apiKey' => 'YourApiKeyHere',
    'baseUrl' => 'https://api.rebilly.com',
]);

Using filter with collections

Rebilly provides collections filtering. You can use ?filter param on collection to define which records should be shown in the response.

Here is filter format description:

  • Fields and values in filter are separated with :: ?filter=firstName:John.

  • Fields in filter are separated with ;: ?filter=firstName:John;lastName:Doe.

  • You can use multiple values using , as values separator: ?filter=firstName:John,Bob.

  • To negate the filter use !: ?filter=firstName:!John. Note that you can negate multiple values like this: ?filter=firstName:!John,Bob. This filter rule will exclude all Johns and Bobs from the response.

  • You can use range filters like this: ?filter=amount:1..10.

  • You can use gte (greater than or equals) filter like this: ?filter=amount:1.., or lte (less than or equals) than filter like this: ?filter=amount:..10.

  • You can create some specified values lists and use them in filter: ?filter=firstName:@yourListName. You can also exclude list values: ?filter=firstName:!@yourListName.