REST reference · v1
Get a saved job
GET
/v1/workspaces/{workspaceId}/jobs/{jobId}Provider read permission plus requester identity or jobs_read_all. Missing and inaccessible jobs both return 404.
Company permissions
Provider read permission plus requester identity or jobs_read_all. Missing and inaccessible jobs both return 404.
Required OAuth scopes: orchesphere.read. How scopes and company rights work.
Path and header parameters
| Name | Location | Required | Allowed values / bounds |
|---|---|---|---|
workspaceId | path | Yes | stringminLength: 8 · maxLength: 80 · pattern: ^[A-Za-z0-9_-]{8,80}$ |
jobId | path | Yes | stringminLength: 8 · maxLength: 80 · pattern: ^[A-Za-z0-9_-]{8,80}$ |
Request
This operation does not accept a request body.
http
GET /v1/workspaces/{workspaceId}/jobs/{jobId} HTTP/1.1
Host: api.orchesphere.ai
Authorization: Bearer <access_token>
Accept: application/jsonUse actual IDs returned for your assigned workspace. The example values are fictional. REST v1 accepts no query parameters.
Response · 200
| Field | Type | Required | Description / bounds |
|---|---|---|---|
job | object | Yes | — |
Complete response schema
{
"type": "object",
"properties": {
"job": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,80}$",
"minLength": 8,
"maxLength": 80
},
"connectionId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,80}$",
"minLength": 8,
"maxLength": 80
},
"provider": {
"type": "string"
},
"environment": {
"type": "string",
"enum": [
"production",
"sandbox"
]
},
"operation": {
"type": "string",
"const": "verify"
},
"status": {
"type": "string",
"enum": [
"queued",
"running",
"retry_wait",
"succeeded",
"failed",
"blocked",
"cancelled"
]
},
"attempts": {
"type": "integer",
"minimum": 0
},
"createdBy": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"finishedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"result": {
"anyOf": [
{
"type": "object",
"properties": {
"accountId": {
"type": "string"
},
"companyName": {
"type": "string"
},
"observedAt": {
"type": "string",
"format": "date-time"
},
"identityLabelKind": {
"type": "string",
"enum": [
"account_label",
"company_name"
]
},
"credentialRenewedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
}
},
"required": [
"accountId",
"companyName",
"observedAt",
"identityLabelKind",
"credentialRenewedAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"errorCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"canCancel": {
"type": "boolean"
},
"canResume": {
"type": "boolean"
},
"resumeBlockedReason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"connectionId",
"provider",
"operation",
"status",
"attempts",
"createdBy",
"createdAt",
"updatedAt",
"finishedAt",
"result",
"errorCode",
"error"
],
"additionalProperties": false
}
},
"required": [
"job"
],
"additionalProperties": false
}json
{
"job": {
"id": "33333333-3333-4333-8333-333333333333",
"connectionId": "22222222-2222-4222-8222-222222222222",
"provider": "quickbooks",
"operation": "verify",
"status": "queued",
"attempts": 0,
"createdBy": "developer@example.com",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"finishedAt": null,
"result": null,
"errorCode": null,
"error": null
}
}Errors
| Status | Meaning |
|---|---|
400 | Invalid path/query/body/header or business validation. |
401 | Missing, expired, revoked, invalid or wrong-resource token. |
402 | Verified company payment is required. |
403 | Insufficient token scope or current company/service/portal/task authority. |
404 | Unknown endpoint or record not found/inaccessible. |
405 | Method is not supported for this path. |
409 | State, quota or idempotency conflict; re-read current state. |
413 | Request exceeds 24,000 bytes. |
415 | Use uncompressed application/json. |
429 | Company job/rate/paid-period allowance reached. |
503 | Temporarily unavailable; a lost mutation response does not prove nothing was saved. |