SahaSSBio · Developer resources

SSBio Research API

A shared API for SSBio Lab research software.

Checking server status · documentation available

Read-only API reference

Browse the exported public contracts without connecting to a prediction server. This reference does not accept API keys or run requests.

Schema snapshot: 2026-11-08 03:37 UTC.

CatRange

Download OpenAPI JSON · Written guide · Interactive reference (live API)

API base: https://api.sahassbio.com/catrange/v1

GET/catrange/v1/readyReady

Public prediction readiness; cached for at most five seconds.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatRange service"
  ],
  "summary": "Ready",
  "description": "Public prediction readiness; cached for at most five seconds.",
  "operationId": "ready_catrange_v1_ready_get",
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {}
        }
      }
    }
  }
}
GET/catrange/v1/metricsPrediction Metrics

Public aggregate successful-row counts, including cached deliveries. Counts begin with retained results at collector activation; deleted historical results cannot be reconstructed. No job identifiers or user inputs are returned. This optional adapter does not submit jobs.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatRange service"
  ],
  "summary": "Prediction Metrics",
  "description": "Public aggregate successful-row counts, including cached deliveries.\n\nCounts begin with retained results at collector activation; deleted\nhistorical results cannot be reconstructed. No job identifiers or\nuser inputs are returned. This optional adapter does not submit jobs.",
  "operationId": "prediction_metrics_catrange_v1_metrics_get",
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {}
        }
      }
    }
  }
}
POST/catrange/v1/jobsSubmit Job

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatRange predictions"
  ],
  "summary": "Submit Job",
  "operationId": "submit_job_catrange_v1_jobs_post",
  "security": [
    {
      "ResearchAPIKey": []
    }
  ],
  "parameters": [
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string",
        "description": "Unique 8–128 character key for this intended job. Reuse this key and the same inputs when retrying.",
        "title": "Idempotency-Key"
      },
      "description": "Unique 8–128 character key for this intended job. Reuse this key and the same inputs when retrying."
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "multipart/form-data": {
        "schema": {
          "$ref": "#/components/schemas/Body_submit_job_catrange_v1_jobs_post"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/JobResponse"
          }
        }
      }
    },
    "401": {
      "description": "Missing/invalid API key"
    },
    "409": {
      "description": "Idempotency conflict or unresolved previous submission"
    },
    "413": {
      "description": "Upload/request exceeds limit"
    },
    "429": {
      "description": "Per-principal quota or request limit"
    },
    "503": {
      "description": "Backend unavailable or submission outcome uncertain"
    },
    "422": {
      "description": "Validation Error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HTTPValidationError"
          }
        }
      }
    }
  }
}
GET/catrange/v1/jobs/{job_id}Job Status

Poll an owned job using its full UUID. Suggested interval: 10 seconds.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatRange predictions"
  ],
  "summary": "Job Status",
  "description": "Poll an owned job using its full UUID. Suggested interval: 10 seconds.",
  "operationId": "job_status_catrange_v1_jobs__job_id__get",
  "security": [
    {
      "ResearchAPIKey": []
    }
  ],
  "parameters": [
    {
      "name": "job_id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "title": "Job Id"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/JobResponse"
          }
        }
      }
    },
    "422": {
      "description": "Validation Error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HTTPValidationError"
          }
        }
      }
    }
  }
}
GET/catrange/v1/jobs/{job_id}/resultsJob Results

Inline table for at most 10 rows / 1 MiB of source CSV; use download for larger results.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatRange predictions"
  ],
  "summary": "Job Results",
  "description": "Inline table for at most 10 rows / 1 MiB of source CSV; use download for larger results.",
  "operationId": "job_results_catrange_v1_jobs__job_id__results_get",
  "security": [
    {
      "ResearchAPIKey": []
    }
  ],
  "parameters": [
    {
      "name": "job_id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "title": "Job Id"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {}
        }
      }
    },
    "422": {
      "description": "Validation Error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HTTPValidationError"
          }
        }
      }
    }
  }
}
GET/catrange/v1/jobs/{job_id}/downloadDownload

Download an owned job's CSV without buffering the entire result.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatRange predictions"
  ],
  "summary": "Download",
  "description": "Download an owned job's CSV without buffering the entire result.",
  "operationId": "download_catrange_v1_jobs__job_id__download_get",
  "security": [
    {
      "ResearchAPIKey": []
    }
  ],
  "parameters": [
    {
      "name": "job_id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "title": "Job Id"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Results CSV (streamed)",
      "content": {
        "text/csv": {
          "schema": {
            "type": "string",
            "format": "binary"
          }
        }
      }
    },
    "422": {
      "description": "Validation Error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HTTPValidationError"
          }
        }
      }
    }
  }
}
POST/catrange/v1/jobs/{job_id}/rerunRerun

Create a fresh prediction from an owned completed/failed job's retained inputs.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatRange predictions"
  ],
  "summary": "Rerun",
  "description": "Create a fresh prediction from an owned completed/failed job's retained inputs.",
  "operationId": "rerun_catrange_v1_jobs__job_id__rerun_post",
  "security": [
    {
      "ResearchAPIKey": []
    }
  ],
  "parameters": [
    {
      "name": "job_id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "title": "Job Id"
      }
    },
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string",
        "title": "Idempotency-Key"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/JobResponse"
          }
        }
      }
    },
    "422": {
      "description": "Validation Error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HTTPValidationError"
          }
        }
      }
    }
  }
}
POST/catrange/v1/jobs/{job_id}/notification-emailNotification Email

Add a notification address to an owned job; changing an existing address may be refused.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatRange predictions"
  ],
  "summary": "Notification Email",
  "description": "Add a notification address to an owned job; changing an existing address may be refused.",
  "operationId": "notification_email_catrange_v1_jobs__job_id__notification_email_post",
  "security": [
    {
      "ResearchAPIKey": []
    }
  ],
  "parameters": [
    {
      "name": "job_id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "title": "Job Id"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/NotificationEmailRequest"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/JobResponse"
          }
        }
      }
    },
    "422": {
      "description": "Validation Error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HTTPValidationError"
          }
        }
      }
    }
  }
}

CatShift

Download OpenAPI JSON · Written guide · Interactive reference (live API)

API base: https://api.sahassbio.com/catshift/v1

GET/catshift/v1/readyCatshift Ready

Public CatShift readiness and current limits, cached for at most five seconds.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatShift service"
  ],
  "summary": "Catshift Ready",
  "description": "Public CatShift readiness and current limits, cached for at most five seconds.",
  "operationId": "catshift_ready_catshift_v1_ready_get",
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {}
        }
      }
    }
  }
}
GET/catshift/v1/capabilitiesCatshift Capabilities

Public supported input modes, structure sources and bounded search controls.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatShift service"
  ],
  "summary": "Catshift Capabilities",
  "description": "Public supported input modes, structure sources and bounded search controls.",
  "operationId": "catshift_capabilities_catshift_v1_capabilities_get",
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {}
        }
      }
    }
  }
}
GET/catshift/v1/statsCatshift Stats

Aggregate website/API searches, including demos; no submitted data or job IDs.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatShift service"
  ],
  "summary": "Catshift Stats",
  "description": "Aggregate website/API searches, including demos; no submitted data or job IDs.",
  "operationId": "catshift_stats_catshift_v1_stats_get",
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {}
        }
      }
    }
  }
}
POST/catshift/v1/jobsSubmit Catshift

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatShift searches"
  ],
  "summary": "Submit Catshift",
  "operationId": "submit_catshift_catshift_v1_jobs_post",
  "security": [
    {
      "ResearchAPIKey": []
    }
  ],
  "parameters": [
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string",
        "description": "Use the same key and inputs when retrying this intended CatShift search.",
        "title": "Idempotency-Key"
      },
      "description": "Use the same key and inputs when retrying this intended CatShift search."
    }
  ],
  "requestBody": {
    "content": {
      "multipart/form-data": {
        "schema": {
          "$ref": "#/components/schemas/Body_submit_catshift_catshift_v1_jobs_post"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/JobResponse"
          }
        }
      }
    },
    "401": {
      "description": "Missing/invalid API key"
    },
    "409": {
      "description": "Idempotency conflict or uncertain previous submission"
    },
    "413": {
      "description": "Upload/request exceeds limit"
    },
    "429": {
      "description": "Shared submission quota or request limit"
    },
    "503": {
      "description": "Backend unavailable or submission uncertain"
    },
    "422": {
      "description": "Validation Error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HTTPValidationError"
          }
        }
      }
    }
  }
}
GET/catshift/v1/jobs/{job_id}Catshift Status

Poll an owned CatShift search. Suggested interval: ten seconds.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatShift searches"
  ],
  "summary": "Catshift Status",
  "description": "Poll an owned CatShift search. Suggested interval: ten seconds.",
  "operationId": "catshift_status_catshift_v1_jobs__job_id__get",
  "security": [
    {
      "ResearchAPIKey": []
    }
  ],
  "parameters": [
    {
      "name": "job_id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "title": "Job Id"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/JobResponse"
          }
        }
      }
    },
    "422": {
      "description": "Validation Error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HTTPValidationError"
          }
        }
      }
    }
  }
}
GET/catshift/v1/jobs/{job_id}/resultsCatshift Results

Ranked candidates, reference predictions and public limitations. Research preview.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatShift searches"
  ],
  "summary": "Catshift Results",
  "description": "Ranked candidates, reference predictions and public limitations. Research preview.",
  "operationId": "catshift_results_catshift_v1_jobs__job_id__results_get",
  "security": [
    {
      "ResearchAPIKey": []
    }
  ],
  "parameters": [
    {
      "name": "job_id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "title": "Job Id"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {}
        }
      }
    },
    "422": {
      "description": "Validation Error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HTTPValidationError"
          }
        }
      }
    }
  }
}
GET/catshift/v1/jobs/{job_id}/downloadCatshift Download

Download the public result rows, including references and nonqualifying candidates.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatShift searches"
  ],
  "summary": "Catshift Download",
  "description": "Download the public result rows, including references and nonqualifying candidates.",
  "operationId": "catshift_download_catshift_v1_jobs__job_id__download_get",
  "security": [
    {
      "ResearchAPIKey": []
    }
  ],
  "parameters": [
    {
      "name": "job_id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "title": "Job Id"
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Public CatShift results CSV",
      "content": {
        "application/json": {
          "schema": {}
        },
        "text/csv": {
          "schema": {
            "type": "string",
            "format": "binary"
          }
        }
      }
    },
    "422": {
      "description": "Validation Error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HTTPValidationError"
          }
        }
      }
    }
  }
}
POST/catshift/v1/jobs/{job_id}/notification-emailCatshift Notification

Add a notification email to your CatShift search after submission.

The operation contract below retains schema references. The full JSON download includes all referenced component definitions.

{
  "tags": [
    "CatShift searches"
  ],
  "summary": "Catshift Notification",
  "description": "Add a notification email to your CatShift search after submission.",
  "operationId": "catshift_notification_catshift_v1_jobs__job_id__notification_email_post",
  "security": [
    {
      "ResearchAPIKey": []
    }
  ],
  "parameters": [
    {
      "name": "job_id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "title": "Job Id"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/NotificationEmailRequest"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Successful Response",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/JobResponse"
          }
        }
      }
    },
    "422": {
      "description": "Validation Error",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HTTPValidationError"
          }
        }
      }
    }
  }
}