Browse Jobs Scheduling

stable · api · 0.1.0

Register a scheduled operation endpoint

POST /api/v1/scheduled-operations

Capability Domain: Jobs Scheduling

Authentication

projectCredential (schedules:write)

Scope: schedules:write

Parameters and request body

  • Idempotency-Key — header, required
    Idempotency-Key schema
    {
        "type": "string",
        "maxLength": 120
    }
  • X-Correlation-ID — header, optional
    X-Correlation-ID schema
    {
        "type": "string",
        "format": "uuid"
    }

Request schema

application/json

application/json request schema
{
    "type": "object",
    "additionalProperties": false,
    "required": [
        "name",
        "url",
        "secret"
    ],
    "properties": {
        "name": {
            "type": "string",
            "maxLength": 120,
            "pattern": "^[a-z][a-z0-9_.-]+$"
        },
        "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
        },
        "secret": {
            "type": "string",
            "minLength": 32,
            "maxLength": 255
        },
        "max_attempts": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 5
        }
    }
}

application/json request example

application/json request example
{
    "name": "reports.refresh",
    "url": "https://backend.example.com/invocations",
    "secret": "replace-with-at-least-32-random-characters",
    "max_attempts": 5
}

Responses and errors

StatusDescription
200Registered operation
401Invalid or revoked Project Credential
403Project Credential lacks the required scope
422Request violates the public contract

200 schema

200 response schema
{
    "type": "object",
    "required": [
        "data"
    ],
    "properties": {
        "data": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "format": "uuid"
                }
            }
        }
    }
}

401 schema

401 response schema
{
    "type": "object",
    "required": [
        "error"
    ],
    "properties": {
        "error": {
            "type": "object",
            "required": [
                "code",
                "message",
                "retryable",
                "correlation_id",
                "details"
            ],
            "properties": {
                "code": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "retryable": {
                    "type": "boolean"
                },
                "correlation_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "details": {
                    "type": "object"
                }
            }
        }
    }
}

403 schema

403 response schema
{
    "type": "object",
    "required": [
        "error"
    ],
    "properties": {
        "error": {
            "type": "object",
            "required": [
                "code",
                "message",
                "retryable",
                "correlation_id",
                "details"
            ],
            "properties": {
                "code": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "retryable": {
                    "type": "boolean"
                },
                "correlation_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "details": {
                    "type": "object"
                }
            }
        }
    }
}

422 schema

422 response schema
{
    "type": "object",
    "required": [
        "error"
    ],
    "properties": {
        "error": {
            "type": "object",
            "required": [
                "code",
                "message",
                "retryable",
                "correlation_id",
                "details"
            ],
            "properties": {
                "code": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "retryable": {
                    "type": "boolean"
                },
                "correlation_id": {
                    "type": "string",
                    "format": "uuid"
                },
                "details": {
                    "type": "object"
                }
            }
        }
    }
}

200 example

200 response example
{
    "data": {
        "id": "86000000-0000-4000-8000-000000000001"
    }
}

Idempotency

Requires Idempotency-Key. Reuse the key only with the same endpoint, secret, and retry policy.