Strait Docs
API Reference

Grouping jobs for organization

List job groups

GET
/v1/job-groups

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

project_id*string

Response Body

application/json

curl -X GET "http://localhost:8080/v1/job-groups?project_id=string"
[
  {
    "id": "string",
    "project_id": "string",
    "name": "string",
    "slug": "string",
    "description": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
  }
]

Create a job group

POST
/v1/job-groups

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "http://localhost:8080/v1/job-groups" \  -H "Content-Type: application/json" \  -d '{    "project_id": "string",    "name": "string",    "slug": "string"  }'
{
  "id": "string",
  "project_id": "string",
  "name": "string",
  "slug": "string",
  "description": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z"
}

Get a job group

GET
/v1/job-groups/{groupID}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

groupID*string

Response Body

application/json

curl -X GET "http://localhost:8080/v1/job-groups/string"
{
  "id": "string",
  "project_id": "string",
  "name": "string",
  "slug": "string",
  "description": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z"
}

Update a job group

PATCH
/v1/job-groups/{groupID}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

groupID*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PATCH "http://localhost:8080/v1/job-groups/string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "string",
  "project_id": "string",
  "name": "string",
  "slug": "string",
  "description": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z"
}

Delete a job group

DELETE
/v1/job-groups/{groupID}

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

groupID*string

Response Body

curl -X DELETE "http://localhost:8080/v1/job-groups/string"
Empty

List jobs in a group

GET
/v1/job-groups/{groupID}/jobs

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

groupID*string

Response Body

application/json

curl -X GET "http://localhost:8080/v1/job-groups/string/jobs"
[
  {
    "id": "string",
    "project_id": "string",
    "group_id": "string",
    "name": "string",
    "slug": "string",
    "description": "string",
    "cron": "string",
    "payload_schema": {},
    "tags": {
      "property1": "string",
      "property2": "string"
    },
    "endpoint_url": "string",
    "fallback_endpoint_url": "string",
    "max_attempts": 0,
    "timeout_secs": 0,
    "max_concurrency": 0,
    "execution_window_cron": "string",
    "timezone": "string",
    "rate_limit_max": 0,
    "rate_limit_window_secs": 0,
    "max_concurrency_per_key": 0,
    "rate_limit_keys": [
      {
        "name": "string",
        "max": 0,
        "window_secs": 0
      }
    ],
    "default_run_metadata": {
      "property1": "string",
      "property2": "string"
    },
    "dedup_window_secs": 0,
    "enabled": true,
    "webhook_url": "string",
    "webhook_secret": "string",
    "run_ttl_secs": 0,
    "retry_strategy": "string",
    "retry_delays_secs": [
      0
    ],
    "environment_id": "string",
    "version": 0,
    "version_id": "string",
    "version_policy": "pin",
    "backwards_compatible": true,
    "created_by": "string",
    "updated_by": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
  }
]

Pause all jobs in a group

POST
/v1/job-groups/{groupID}/pause-all

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

groupID*string

Response Body

curl -X POST "http://localhost:8080/v1/job-groups/string/pause-all"
Empty

Resume all jobs in a group

POST
/v1/job-groups/{groupID}/resume-all

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

groupID*string

Response Body

curl -X POST "http://localhost:8080/v1/job-groups/string/resume-all"
Empty

Get aggregate run stats for a job group

GET
/v1/job-groups/{groupID}/stats

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

groupID*string

Response Body

application/json

curl -X GET "http://localhost:8080/v1/job-groups/string/stats"
{
  "group_id": "string",
  "run_counts": {
    "property1": 0,
    "property2": 0
  }
}
Was this page helpful?