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

Before creating a job you must have a source and destination storage profile created and their coordinating storageProfileId, which is generated when creating a storage profile. To retrieve a pre-existing storageProfileId, send a request to the storageProfiles endpoint.

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. The storageProfileId in the triggers array must match the source storageProfileId.

{
  "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: To create a triggerless job, omit the triggers array.

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 read the Jet API documentation on SwaggerHub.