MarBoba

On-Call REST endpoints

Generated

6 endpoints under `/v1`.

Auto-generated from the MarBoba OpenAPI spec, published at api.marboba.com/v1/openapi.json.

GET /oncall/bindings

List on-call bindings

Lists every on-call binding in the calling token’s org. Optional query filters: scope, targetId, provider.

Parameters

NameInTypeRequiredDescription
scopequeryenum (team / component)optional
targetIdquerystringoptional
providerqueryenum (pagerduty / opsgenie / manual)optional

Responses

  • 200 — List of on-call bindings. Body: object
  • 401 — . Body: (no body)

Auth: BearerPAT

Operation ID: get_oncall-bindings


POST /oncall/bindings

Create an on-call binding

Request body

Request body (application/json): OnCallBindingInput

Responses

  • 201 — Created. Body: object
  • 400 — . Body: (no body)
  • 409 — A binding for the same (scope, targetId, provider) triple already exists.. Body: Error

Auth: BearerPAT

Operation ID: post_oncall-bindings


DELETE /oncall/bindings/{bindingId}

Delete an on-call binding

Hard-deletes the binding doc. The provider integration credentials are unaffected. Requires admin scope (PAT only).

Responses

  • 204 — Deleted. Body: (no body)
  • 403 — . Body: (no body)
  • 404 — . Body: (no body)

Auth: BearerPAT

Operation ID: delete_oncall-bindings-bindingid


GET /oncall/bindings/{bindingId}

Get an on-call binding

Responses

  • 200 — The requested on-call binding. Body: object
  • 404 — . Body: (no body)

Auth: BearerPAT

Operation ID: get_oncall-bindings-bindingid


PATCH /oncall/bindings/{bindingId}

Update an on-call binding’s label

Only the label field can be updated. Structural fields (scope, targetId, provider, scheduleId) are immutable; change them by deleting and recreating the binding.

Request body

Request body (application/json): object

Responses

  • 200 — Updated. Body: object
  • 400 — . Body: (no body)
  • 404 — . Body: (no body)

Auth: BearerPAT

Operation ID: patch_oncall-bindings-bindingid


POST /oncall/bindings/{bindingId}/refresh

Refresh an on-call binding from its upstream provider

Forces a fresh fetch from PagerDuty/Opsgenie and updates the cached on-call user and shift fields. Manual bindings return immediately with cached fields. Returns 502 upstream_unavailable if the provider call fails — the binding’s lastFetchError field is updated even on failure so admins can see what broke.

Responses

  • 200 — Refreshed binding. Body: object
  • 404 — . Body: (no body)
  • 502 — The upstream provider call failed. Body: Error

Auth: BearerPAT

Operation ID: post_oncall-bindings-bindingid-refresh