Skip to content

createManagementRouter

function createManagementRouter<TContext>(options): object;

Defined in: orpc/router.ts:29

Create an oRPC router that implements the management contract.

Use this when integrating with oRPC directly. For a framework-neutral fetch handler, prefer createManagementSurface().

Type ParameterDefault type
TContextunknown
ParameterType
optionsManagementOptions<TContext>

object

cancelJob: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, ZodObject<{
  body: ZodOptional<ZodUnknown>;
  headers: ZodOptional<ZodObject<{
  }, $loose>>;
  params: ZodObject<{
     id: ZodString;
  }, $strict>;
  query: ZodOptional<ZodObject<{
  }, $strict>>;
}, $strict>, ZodObject<{
  claimedBy: ZodNullable<ZodString>;
  createdAt: ZodISODateTime;
  failCount: ZodNumber;
  failureReason: ZodNullable<ZodString>;
  heartbeatInterval: ZodOptional<ZodNumber>;
  id: ZodString;
  lastHeartbeat: ZodNullable<ZodISODateTime>;
  lockedAt: ZodNullable<ZodISODateTime>;
  name: ZodString;
  nextRunAt: ZodISODateTime;
  payload: ZodNonOptional<ZodUnknown>;
  repeatInterval: ZodOptional<ZodString>;
  status: ZodEnum<{
     cancelled: "cancelled";
     completed: "completed";
     failed: "failed";
     pending: "pending";
     processing: "processing";
  }>;
  uniqueKey: ZodOptional<ZodString>;
  updatedAt: ZodISODateTime;
}, $strict>, MergedErrorMap<Record<never, never>, {
  BAD_REQUEST: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 400;
  };
  CONFLICT: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 409;
  };
  FORBIDDEN: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 403;
  };
  INTERNAL_SERVER_ERROR: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 500;
  };
  NOT_FOUND: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 404;
  };
}>, Record<never, never>>>;
cancelJobs: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, ZodObject<{
  name: ZodOptional<ZodString>;
  newerThan: ZodOptional<ZodISODateTime>;
  olderThan: ZodOptional<ZodISODateTime>;
  status: ZodOptional<ZodUnion<readonly [ZodEnum<{
     cancelled: "cancelled";
     completed: "completed";
     failed: "failed";
     pending: "pending";
     processing: "processing";
   }>, ZodArray<ZodEnum<{
     cancelled: ...;
     completed: ...;
     failed: ...;
     pending: ...;
     processing: ...;
  }>>]>>;
}, $strict>, ZodObject<{
  count: ZodNumber;
  errors: ZodArray<ZodObject<{
     error: ZodString;
     jobId: ZodString;
  }, $strict>>;
}, $strict>, MergedErrorMap<Record<never, never>, {
  BAD_REQUEST: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 400;
  };
  CONFLICT: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 409;
  };
  FORBIDDEN: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 403;
  };
  INTERNAL_SERVER_ERROR: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 500;
  };
}>, Record<never, never>>>;
capabilities: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, Schema<unknown, unknown>, ZodObject<{
  actions: ZodObject<{
     cancel: ZodBoolean;
     cancelBulk: ZodBoolean;
     delete: ZodBoolean;
     deleteBulk: ZodBoolean;
     read: ZodBoolean;
     reschedule: ZodBoolean;
     retry: ZodBoolean;
     retryBulk: ZodBoolean;
  }, $strict>;
  readOnly: ZodBoolean;
}, $strict>, Record<never, never>, Record<never, never>>>;
deleteJob: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, ZodObject<{
  body: ZodOptional<ZodUnknown>;
  headers: ZodOptional<ZodObject<{
  }, $loose>>;
  params: ZodObject<{
     id: ZodString;
  }, $strict>;
  query: ZodOptional<ZodObject<{
  }, $strict>>;
}, $strict>, ZodObject<{
  deleted: ZodLiteral<true>;
}, $strict>, MergedErrorMap<Record<never, never>, {
  BAD_REQUEST: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 400;
  };
  CONFLICT: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 409;
  };
  FORBIDDEN: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 403;
  };
  INTERNAL_SERVER_ERROR: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 500;
  };
  NOT_FOUND: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 404;
  };
}>, Record<never, never>>>;
deleteJobs: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, ZodObject<{
  name: ZodOptional<ZodString>;
  newerThan: ZodOptional<ZodISODateTime>;
  olderThan: ZodOptional<ZodISODateTime>;
  status: ZodOptional<ZodUnion<readonly [ZodEnum<{
     cancelled: "cancelled";
     completed: "completed";
     failed: "failed";
     pending: "pending";
     processing: "processing";
   }>, ZodArray<ZodEnum<{
     cancelled: ...;
     completed: ...;
     failed: ...;
     pending: ...;
     processing: ...;
  }>>]>>;
}, $strict>, ZodObject<{
  count: ZodNumber;
  errors: ZodArray<ZodObject<{
     error: ZodString;
     jobId: ZodString;
  }, $strict>>;
}, $strict>, MergedErrorMap<Record<never, never>, {
  BAD_REQUEST: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 400;
  };
  CONFLICT: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 409;
  };
  FORBIDDEN: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 403;
  };
  INTERNAL_SERVER_ERROR: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 500;
  };
}>, Record<never, never>>>;
health: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, Schema<unknown, unknown>, ZodObject<{
  scheduler: ZodObject<{
     healthy: ZodBoolean;
  }, $strict>;
  status: ZodEnum<{
     ok: "ok";
     unavailable: "unavailable";
  }>;
}, $strict>, Record<never, never>, Record<never, never>>>;
job: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, ZodObject<{
  body: ZodOptional<ZodUnknown>;
  headers: ZodOptional<ZodObject<{
  }, $loose>>;
  params: ZodObject<{
     id: ZodString;
  }, $strict>;
  query: ZodOptional<ZodObject<{
  }, $strict>>;
}, $strict>, ZodObject<{
  claimedBy: ZodNullable<ZodString>;
  createdAt: ZodISODateTime;
  failCount: ZodNumber;
  failureReason: ZodNullable<ZodString>;
  heartbeatInterval: ZodOptional<ZodNumber>;
  id: ZodString;
  lastHeartbeat: ZodNullable<ZodISODateTime>;
  lockedAt: ZodNullable<ZodISODateTime>;
  name: ZodString;
  nextRunAt: ZodISODateTime;
  payload: ZodNonOptional<ZodUnknown>;
  repeatInterval: ZodOptional<ZodString>;
  status: ZodEnum<{
     cancelled: "cancelled";
     completed: "completed";
     failed: "failed";
     pending: "pending";
     processing: "processing";
  }>;
  uniqueKey: ZodOptional<ZodString>;
  updatedAt: ZodISODateTime;
}, $strict>, Record<never, never>, Record<never, never>>>;
jobs: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, ZodObject<{
  cursor: ZodOptional<ZodString>;
  limit: ZodOptional<ZodString>;
  name: ZodOptional<ZodString>;
  status: ZodOptional<ZodUnion<readonly [ZodEnum<{
     cancelled: "cancelled";
     completed: "completed";
     failed: "failed";
     pending: "pending";
     processing: "processing";
   }>, ZodArray<ZodEnum<{
     cancelled: ...;
     completed: ...;
     failed: ...;
     pending: ...;
     processing: ...;
  }>>]>>;
}, $strict>, ZodObject<{
  cursor: ZodNullable<ZodString>;
  hasNextPage: ZodBoolean;
  hasPreviousPage: ZodBoolean;
  jobs: ZodArray<ZodObject<{
     claimedBy: ZodNullable<ZodString>;
     createdAt: ZodISODateTime;
     failCount: ZodNumber;
     failureReason: ZodNullable<ZodString>;
     heartbeatInterval: ZodOptional<ZodNumber>;
     id: ZodString;
     lastHeartbeat: ZodNullable<ZodISODateTime>;
     lockedAt: ZodNullable<ZodISODateTime>;
     name: ZodString;
     nextRunAt: ZodISODateTime;
     payload: ZodNonOptional<ZodUnknown>;
     repeatInterval: ZodOptional<ZodString>;
     status: ZodEnum<{
        cancelled: "cancelled";
        completed: "completed";
        failed: "failed";
        pending: "pending";
        processing: "processing";
     }>;
     uniqueKey: ZodOptional<ZodString>;
     updatedAt: ZodISODateTime;
  }, $strict>>;
}, $strict>, Record<never, never>, Record<never, never>>>;
jobStats: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, ZodObject<{
  name: ZodOptional<ZodString>;
}, $strict>, ZodObject<{
  avgProcessingDurationMs: ZodOptional<ZodNumber>;
  cancelled: ZodNumber;
  completed: ZodNumber;
  failed: ZodNumber;
  pending: ZodNumber;
  processing: ZodNumber;
  total: ZodNumber;
}, $strict>, Record<never, never>, Record<never, never>>>;
queueViews: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, Schema<unknown, unknown>, ZodObject<{
  queueViews: ZodArray<ZodObject<{
     hasPersistedJobs: ZodBoolean;
     hasRegisteredWorker: ZodBoolean;
     name: ZodString;
     stats: ZodObject<{
        avgProcessingDurationMs: ZodOptional<...>;
        cancelled: ZodNumber;
        completed: ZodNumber;
        failed: ZodNumber;
        pending: ZodNumber;
        processing: ZodNumber;
        total: ZodNumber;
     }, $strict>;
     worker: ZodNullable<ZodObject<{
        activeCount: ...;
        concurrency: ...;
     }, $strict>>;
  }, $strict>>;
}, $strict>, Record<never, never>, Record<never, never>>>;
rescheduleJob: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, ZodObject<{
  body: ZodObject<{
     nextRunAt: ZodISODateTime;
  }, $strict>;
  headers: ZodOptional<ZodObject<{
  }, $loose>>;
  params: ZodObject<{
     id: ZodString;
  }, $strict>;
  query: ZodOptional<ZodObject<{
  }, $strict>>;
}, $strict>, ZodObject<{
  claimedBy: ZodNullable<ZodString>;
  createdAt: ZodISODateTime;
  failCount: ZodNumber;
  failureReason: ZodNullable<ZodString>;
  heartbeatInterval: ZodOptional<ZodNumber>;
  id: ZodString;
  lastHeartbeat: ZodNullable<ZodISODateTime>;
  lockedAt: ZodNullable<ZodISODateTime>;
  name: ZodString;
  nextRunAt: ZodISODateTime;
  payload: ZodNonOptional<ZodUnknown>;
  repeatInterval: ZodOptional<ZodString>;
  status: ZodEnum<{
     cancelled: "cancelled";
     completed: "completed";
     failed: "failed";
     pending: "pending";
     processing: "processing";
  }>;
  uniqueKey: ZodOptional<ZodString>;
  updatedAt: ZodISODateTime;
}, $strict>, MergedErrorMap<Record<never, never>, {
  BAD_REQUEST: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 400;
  };
  CONFLICT: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 409;
  };
  FORBIDDEN: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 403;
  };
  INTERNAL_SERVER_ERROR: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 500;
  };
  NOT_FOUND: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 404;
  };
}>, Record<never, never>>>;
retryJob: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, ZodObject<{
  body: ZodOptional<ZodUnknown>;
  headers: ZodOptional<ZodObject<{
  }, $loose>>;
  params: ZodObject<{
     id: ZodString;
  }, $strict>;
  query: ZodOptional<ZodObject<{
  }, $strict>>;
}, $strict>, ZodObject<{
  claimedBy: ZodNullable<ZodString>;
  createdAt: ZodISODateTime;
  failCount: ZodNumber;
  failureReason: ZodNullable<ZodString>;
  heartbeatInterval: ZodOptional<ZodNumber>;
  id: ZodString;
  lastHeartbeat: ZodNullable<ZodISODateTime>;
  lockedAt: ZodNullable<ZodISODateTime>;
  name: ZodString;
  nextRunAt: ZodISODateTime;
  payload: ZodNonOptional<ZodUnknown>;
  repeatInterval: ZodOptional<ZodString>;
  status: ZodEnum<{
     cancelled: "cancelled";
     completed: "completed";
     failed: "failed";
     pending: "pending";
     processing: "processing";
  }>;
  uniqueKey: ZodOptional<ZodString>;
  updatedAt: ZodISODateTime;
}, $strict>, MergedErrorMap<Record<never, never>, {
  BAD_REQUEST: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 400;
  };
  CONFLICT: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 409;
  };
  FORBIDDEN: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 403;
  };
  INTERNAL_SERVER_ERROR: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 500;
  };
  NOT_FOUND: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 404;
  };
}>, Record<never, never>>>;
retryJobs: Lazyable<Procedure<ManagementOpenApiContext<TContext>, any, ZodObject<{
  name: ZodOptional<ZodString>;
  newerThan: ZodOptional<ZodISODateTime>;
  olderThan: ZodOptional<ZodISODateTime>;
  status: ZodOptional<ZodUnion<readonly [ZodEnum<{
     cancelled: "cancelled";
     completed: "completed";
     failed: "failed";
     pending: "pending";
     processing: "processing";
   }>, ZodArray<ZodEnum<{
     cancelled: ...;
     completed: ...;
     failed: ...;
     pending: ...;
     processing: ...;
  }>>]>>;
}, $strict>, ZodObject<{
  count: ZodNumber;
  errors: ZodArray<ZodObject<{
     error: ZodString;
     jobId: ZodString;
  }, $strict>>;
}, $strict>, MergedErrorMap<Record<never, never>, {
  BAD_REQUEST: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 400;
  };
  CONFLICT: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 409;
  };
  FORBIDDEN: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 403;
  };
  INTERNAL_SERVER_ERROR: {
     data: ZodObject<{
        error: ZodString;
     }, $strict>;
     status: 500;
  };
}>, Record<never, never>>>;