Get Started with Jet API

The Signiant Jet API is available for Early Access to Jet users allowing job creation in a development environment.

Before you can work with the Jet API, you must request client_id and client_secret credentials from your Signiant representative.

Read the Jet API documentation on SwaggerHub

Authentication

To use the Jet API, you must have a client_id and client_secret in order to create an OAuth token.

To generate an OAuth token:

1. Ensure your computer can connect to all cloud.signiant.com domains by allowing firewall access to *.cloud.signiant.com.

2. Create a new JSON file specifying your Jet login credentials, client_id, client_secret, and request for a password grant:

{
  "username": "user@example.com",
  "password": "********",
  "client_id": "<your client_id>",
  "client_secret": "<your client_secret>",
  "grant_type": "password"
}

3. Save the file as credentials.json.

4. In your terminal or command prompt, navigate to the directory where credentials.json is saved.

5. Use the curl utility to call the /oauth/token endpoint:

> curl -X POST -H "Content-Type: application/json" --data @credentials.json https://platform-api-service.services.cloud.signiant.com/oauth/token

After completing the request, the application returns an OAuth token that is used to authenticate your API requests:

{
  "access_token": "<access_token>",
  "expires_in": 86400,
  "token_type": "Bearer"
}

Note: OAuth tokens expire 24 hours after they are created.

Creating a Storage Profile

Before you can create a job using the API, you must configure a source and destination storage profile.

To create a storage profile:

1. Send a GET request to /v1/endpoints to retrieve a list of your endpoints.

> curl -X GET -H "Authorization: Bearer <token>" -H "Content-Type: application/json" https://platform-api-service.services.cloud.signiant.com/v1/endpoints

2. Using the response body, determine the endpointId of the source and destination endpoints.

3. Send a POST request to /v1/storageProfiles that includes the endpointId, folder url, and name to create a new storage profile for the source and destination endpoints.

{
  "endpointId": "11111111-12345-abccd-12345",
  "url": "file:///path/to/folder",
  "name": "Example Profile"
}

The response body includes a storageProfileId which is required to set a source and destination when creating a job.

Creating a Job

The following procedure outlines how to create a Hot Folder job that will automatically transfer all contents from a source to a destination on an ongoing basis. For information about creating a job that accepts manual transfer requests, see Triggerless Jobs.

To create a Hot Folder job:

1. Create a request body that includes a storageProfileId for the source and destination within the actions array data object.

2. Include the source storageProfileId as part of the triggers array data object.

{
  "name": "Example Transfer Job",
  "actions": [
    {
      "type": "TRANSFER",
      "data": {
        "source": {
          "storageProfileId": "11111111-12345-abccd-12345"
        },
        "destination": {
          "storageProfileId": "11111111-12345-abccd-54321"
        }
      },
      "triggers": [
        {
          "type": "HOT_FOLDER",
          "data": {
            "source": {
              "storageProfileId": "11111111-12345-abccd-12345"
            }
          }
        }
      ]
    }
  ]
}

Note: The data object source for actions and triggers must match.

3. Send the request body to the /v1/jobs endpoint to create the job.

The response body contains the complete job body, including the jobId, which can be used to pause, resume, or delete a job via the /jobs/{jobId} endpoint.

For more information see the Jet API documentation on SwaggerHub.