Create APIs

Create REST APIs

You can use any URL endpoint that you define as a HTTP REST endpoint. API enforces HTTPS (TLS) i.e. encrypt your data end to end for maximum safety. API Gateway supports GET, POST, PUT and DELETE HTTP request methods

Authentication

Token based API authentications are supported for the time being. Token is used in the Authorization header for App/Device backends where HTTP headers can be specified. Otherwise, token can be used with URL query parameters. However, latter method is not encouraged, unless your app is frontend only i.e. static webapp.

All requests must be submitted using HTTPS to avoid compromising your token.

Authorization

If your App/Device has a separate backend, it is highly recommended to whitelist your Domain or IP address of your servers.

Auth header

When using HTTP REST API without the SDK, for HTTP Basic authentication, you need to use username and password separated by a single colon (":") character within a base64 encoded string in the credentials. Here you must leave the username blank and specify the token as password field of the HTTP Basic Auth header.

In plain HTTP, that is

Authorization: Basic  Base64 encoded :YOUR_TOKEN

Success Status

Status Code / Text Description
200 OK Successful Request
201 Created Successful Request & resource is created
202 Accepted Request is accepted for processing
204 No Content Delete/Update operation successful & no content

Error Conditions

Status Code / Text Description
400 Bad Request If the request has invalid data or parameters
401 Unauthorized Either your Auth token is invalid or expired.
403 Forbidden Requested endpoint is invalid or method not allowed
404 Not Found Request entity/data is not found
412 Precondition Failed
413 Payload Too Large If the request has large payload than the allowed limit.
415 Unsupported Media Type If the media type of the request is not application/json
429 Too Many Requests Rate limit exceeded
500 Internal Server Error Server side failure, either due to your or server side error.
503 Service Unavailable Service is unavailable due to an unavoidable reason
520 Unknown Error If unknown error has occurred

Query Parameters

Your API can have query parameters

HTTP REST Endpoints

URI Base

All REST APIs Endpoint URI always starts with https://ics.rapidomize.com/api/v1/agw and is based on your ID. The API endpoint pattern is:

https://ics.rapidomize.com/api/v1/agw/{icappId}

e.g. if your ICApp ID is cfba0c2c-5f61-4866-a3ed-4c2e56f745e7 then the Endpoint URI starts with: https://ics.rapidomize.com/api/v1/agw/cfba0c2c-5f61-4866-a3ed-4c2e56f745e7

OpenAPI 3.0 specification

OpenAPI 3.0 specification for your API can be retrieved from the endpoint:

https://ics.rapidomize.com/api/v1/agw/{icappId}/openapi.json

For the above example ID, your OpenAPI 3.0 specification is available at:

https://ics.rapidomize.com/api/v1/agw/cfba0c2c-5f61-4866-a3ed-4c2e56f745e7/openapi.json

REST API Endpoints

All your REST API Endpoints need to be prefixed with URI Base. For example, if you have defined and API path to retrieve customer’s data based on their IDs and your REST endpoint path pattern is customer/{id}, then the Customer Endpoint path for the above ID is:

https://ics.rapidomize.com/api/v1/agw/cfba0c2c-5f61-4866-a3ed-4c2e56f745e7/customer/{id}

Based on the HTTP REST specification, you could use each HTTP method to build CRUD (create, retrieve, update, delete) API or other operations. Here is a general guideline for each HTTP method:

GET - Retrieve Entities/Data

API allows you to retrieve Entities/Data from a Action(s) source, for example, database or spreadsheet connected in your e.g.

  • Retrieve a customer by ID: /customer/{id}
  • Retrieve a list of all customers: /customer
  • Retrieve a list of customers with paging enabled by using query params: /customer?pg=5&psz=10. Example: parameters specify pg - page 5 & psz - page size 10

POST - Create or Push Entities/Data

API allows you to create new Entities or send Data to a destination Action(s) connected in your e.g.

  • Create customer: /customer with data:
{
   id: '123-xyz' 
   name: 'Tom Hanks', 
   addr: '123 Main St., ....',
   contact: '123456789'
   ...
}

PUT - Update Entities/Data

API allows you to update specified entities or send updated Data to a destination Action(s) connected in your e.g.

  • Update customer with ID: /customer/{id}
    {
       name: 'Tom Hanks', 
       addr: '...',
       contact: '9999999999'
       ...
    }

DELETE - Delete Entities/Data

API allows you to delete Entities or send delete request to a destination Action(s) connected in your e.g.

  • Delete customer with ID: /customer/{id}

Client SDK

You can access the REST API directly or use the sdk for convenience. We’ve developed API clients for Java, JavaScript, Node.js, Python and C/C++ that will allow you to quickly and easily interact with the API. Depending on your chosen application language, you can find a client SDK at GitHub. The client SDKs are advanced wrappers on top of the REST API.

Language SDK
Java Java SDK
Javascript Javascript SDK
Node.js Node.js SDK
Python Python SDK
C/C++ C/C++ SDK
Ruby Ruby SDK

Tutorials

Last modified October 4, 2024