Opply Tasks API
The Tasks API from Opply — 17 operation(s) for tasks.
The Tasks API from Opply — 17 operation(s) for tasks.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/opply-tasks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Opply Activity Feed Tasks API
version: 0.0.0
servers:
- url: https://api.opply.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Tasks
paths:
/api/v1/chat/:
get:
operationId: api_v1_chat_list
description: Comments on tasks (channel-neutral ``Message`` rows).
summary: List a task's chat messages
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- in: query
name: task_uuid
schema:
type: string
format: uuid
description: UUID of the task whose chat to list.
required: true
- in: query
name: thread
schema:
type: string
enum:
- main
- plan
default: main
description: 'Which of the task''s chat threads to target: `main` (default — the task conversation) or `plan` (the plan-discussion thread on the Plan tab).'
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedMessageReadList'
description: ''
post:
operationId: api_v1_chat_create
description: Comments on tasks (channel-neutral ``Message`` rows).
summary: Post a chat message
tags:
- Tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MessageWrite'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MessageWrite'
multipart/form-data:
schema:
$ref: '#/components/schemas/MessageWrite'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MessageRead'
description: ''
/api/v1/chat/{uuid}/react/:
post:
operationId: api_v1_chat_react_create
description: POST adds the caller's reaction (idempotent); DELETE removes it. The emoji (a query param) must be one of the fixed MessageReactionEmoji palette. Returns the message with its updated aggregated reactions.
summary: Add or remove an emoji reaction on a chat message
parameters:
- in: query
name: emoji
schema:
type: string
enum:
- ✅
- ❤️
- 🎉
- 👀
- 👍
- 😂
description: The reaction emoji (fixed palette).
required: true
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MessageRead'
description: ''
delete:
operationId: api_v1_chat_react_destroy
description: POST adds the caller's reaction (idempotent); DELETE removes it. The emoji (a query param) must be one of the fixed MessageReactionEmoji palette. Returns the message with its updated aggregated reactions.
summary: Add or remove an emoji reaction on a chat message
parameters:
- in: query
name: emoji
schema:
type: string
enum:
- ✅
- ❤️
- 🎉
- 👀
- 👍
- 😂
description: The reaction emoji (fixed palette).
required: true
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MessageRead'
description: ''
/api/v1/chat/mark-read/:
post:
operationId: api_v1_chat_mark_read_create
description: 'Advance the caller''s read cursor on a task''s chat to now.
Anyone who can see the task (and thus its chat) may mark it read for
themselves — read-state is per-user and innocuous. Resolves the task
caller-scoped, so an out-of-scope uuid is a 404. ``thread`` picks
which conversation''s cursor advances (main default | plan).'
summary: Mark a task's chat read
parameters:
- in: query
name: task_uuid
schema:
type: string
format: uuid
description: UUID of the task whose chat to mark read.
required: true
- in: query
name: thread
schema:
type: string
enum:
- main
- plan
default: main
description: 'Which of the task''s chat threads to target: `main` (default — the task conversation) or `plan` (the plan-discussion thread on the Plan tab).'
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: {}
description: ''
/api/v1/task-recurrences/{uuid}/:
get:
operationId: api_v1_task_recurrences_retrieve
description: 'Manage an existing recurring-task series (the template''s recurrence).
Creation happens implicitly when a task is created with a ``recurrence``
block (see ``TaskSerializer``); this surface is for reading the series,
editing its schedule / default assignee for *future* occurrences, and
pausing / resuming it. Hard-scoped to the caller''s company via the
queryset — a leaked UUID can''t reach another tenant''s series.'
summary: Get a recurring-task series
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskRecurrence'
description: ''
patch:
operationId: api_v1_task_recurrences_partial_update
description: 'Manage an existing recurring-task series (the template''s recurrence).
Creation happens implicitly when a task is created with a ``recurrence``
block (see ``TaskSerializer``); this surface is for reading the series,
editing its schedule / default assignee for *future* occurrences, and
pausing / resuming it. Hard-scoped to the caller''s company via the
queryset — a leaked UUID can''t reach another tenant''s series.'
summary: Partially update a recurring-task series
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- Tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedTaskRecurrence'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedTaskRecurrence'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedTaskRecurrence'
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskRecurrence'
description: ''
/api/v1/task-recurrences/{uuid}/disable/:
post:
operationId: api_v1_task_recurrences_disable_create
description: 'Manage an existing recurring-task series (the template''s recurrence).
Creation happens implicitly when a task is created with a ``recurrence``
block (see ``TaskSerializer``); this surface is for reading the series,
editing its schedule / default assignee for *future* occurrences, and
pausing / resuming it. Hard-scoped to the caller''s company via the
queryset — a leaked UUID can''t reach another tenant''s series.'
summary: Pause a recurring-task series (Turn off repeat)
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskRecurrence'
description: ''
/api/v1/task-recurrences/{uuid}/enable/:
post:
operationId: api_v1_task_recurrences_enable_create
description: 'Manage an existing recurring-task series (the template''s recurrence).
Creation happens implicitly when a task is created with a ``recurrence``
block (see ``TaskSerializer``); this surface is for reading the series,
editing its schedule / default assignee for *future* occurrences, and
pausing / resuming it. Hard-scoped to the caller''s company via the
queryset — a leaked UUID can''t reach another tenant''s series.'
summary: Resume a recurring-task series
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskRecurrence'
description: ''
/api/v1/tasks/:
get:
operationId: api_v1_tasks_list
description: 'ViewSet for managing tasks.
Tasks can be attached to entities (companies) or standalone.
MoR users can only see tasks for companies they manage.'
summary: List tasks
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedTaskList'
description: ''
post:
operationId: api_v1_tasks_create
description: 'ViewSet for managing tasks.
Tasks can be attached to entities (companies) or standalone.
MoR users can only see tasks for companies they manage.'
summary: Create a task
tags:
- Tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Task'
multipart/form-data:
schema:
$ref: '#/components/schemas/Task'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: ''
/api/v1/tasks/{uuid}/:
get:
operationId: api_v1_tasks_retrieve
description: 'ViewSet for managing tasks.
Tasks can be attached to entities (companies) or standalone.
MoR users can only see tasks for companies they manage.'
summary: Get a task
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: ''
put:
operationId: api_v1_tasks_update
description: 'ViewSet for managing tasks.
Tasks can be attached to entities (companies) or standalone.
MoR users can only see tasks for companies they manage.'
summary: Update a task
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Task'
multipart/form-data:
schema:
$ref: '#/components/schemas/Task'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: ''
patch:
operationId: api_v1_tasks_partial_update
description: 'ViewSet for managing tasks.
Tasks can be attached to entities (companies) or standalone.
MoR users can only see tasks for companies they manage.'
summary: Partially update a task
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedTask'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedTask'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedTask'
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: ''
delete:
operationId: api_v1_tasks_destroy
description: 'ViewSet for managing tasks.
Tasks can be attached to entities (companies) or standalone.
MoR users can only see tasks for companies they manage.'
summary: Delete a task
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/v1/tasks/{uuid}/attachments/:
get:
operationId: api_v1_tasks_attachments_retrieve
description: 'ViewSet for managing tasks.
Tasks can be attached to entities (companies) or standalone.
MoR users can only see tasks for companies they manage.'
summary: List task attachments
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskAttachment'
description: ''
post:
operationId: api_v1_tasks_attachments_create
description: 'ViewSet for managing tasks.
Tasks can be attached to entities (companies) or standalone.
MoR users can only see tasks for companies they manage.'
summary: List task attachments
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskAttachment'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TaskAttachment'
multipart/form-data:
schema:
$ref: '#/components/schemas/TaskAttachment'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskAttachment'
description: ''
/api/v1/tasks/{uuid}/attachments/{attachment_uuid}/:
delete:
operationId: api_v1_tasks_attachments_destroy
description: 'ViewSet for managing tasks.
Tasks can be attached to entities (companies) or standalone.
MoR users can only see tasks for companies they manage.'
summary: Delete a task attachment
parameters:
- in: path
name: attachment_uuid
schema:
type: string
required: true
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/v1/tasks/{uuid}/plan/approve/:
post:
operationId: api_v1_tasks_plan_approve_create
description: 'ViewSet for managing tasks.
Tasks can be attached to entities (companies) or standalone.
MoR users can only see tasks for companies they manage.'
summary: Approve the pending agent plan (version-pinned)
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskPlanApprove'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TaskPlanApprove'
multipart/form-data:
schema:
$ref: '#/components/schemas/TaskPlanApprove'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskPlan'
description: ''
/api/v1/tasks/{uuid}/plan/reject/:
post:
operationId: api_v1_tasks_plan_reject_create
description: 'ViewSet for managing tasks.
Tasks can be attached to entities (companies) or standalone.
MoR users can only see tasks for companies they manage.'
summary: Reject the pending agent plan (task returns to humans, agent unassigned)
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskPlanReject'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TaskPlanReject'
multipart/form-data:
schema:
$ref: '#/components/schemas/TaskPlanReject'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskPlan'
description: ''
/api/v1/tasks/{uuid}/repeat/:
post:
operationId: api_v1_tasks_repeat_create
description: "Make an existing task recurring, change its rule, or stop it repeating.\n\n- ``POST`` with a recurrence config: if the task already belongs to a\n series, update that series' rule; otherwise promote it in place (mint a\n template, make this task occurrence #1).\n- ``DELETE``: \"Does not repeat\" — stop the series (occurrences survive)."
summary: Set, update, or clear a task's recurrence
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: ''
delete:
operationId: api_v1_tasks_repeat_destroy
description: "Make an existing task recurring, change its rule, or stop it repeating.\n\n- ``POST`` with a recurrence config: if the task already belongs to a\n series, update that series' rule; otherwise promote it in place (mint a\n template, make this task occurrence #1).\n- ``DELETE``: \"Does not repeat\" — stop the series (occurrences survive)."
summary: Set, update, or clear a task's recurrence
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/v1/tasks/{uuid}/route/:
post:
operationId: api_v1_tasks_route_create
description: Reassign a task routed to 'Opply' to the resolved worker for the given role (account_manager / mor_agent / buyer_agent / return_to_buyer). The backend resolves the concrete user; agent targets are dispatched via a fresh run. Router-agent (or MoR-side current assignee) only.
summary: Route a MoR-routed task to a worker (by role)
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RouteTaskInput'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RouteTaskInput'
multipart/form-data:
schema:
$ref: '#/components/schemas/RouteTaskInput'
required: true
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: ''
/api/v1/tasks/{uuid}/route-targets/:
get:
operationId: api_v1_tasks_route_targets_retrieve
description: Which account manager / MoR agents / buyer agents this routed task can be routed to. Router-agent (or MoR-side current assignee) only.
summary: List the routable targets for a MoR-routed task
parameters:
- in: path
name: uuid
schema:
type: string
required: true
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RouteTargetsResponse'
description: ''
/api/v1/tasks/me/:
get:
operationId: api_v1_tasks_me_retrieve
description: 'List tasks assigned to the current user.
Returns tasks from two sources:
1. Task records (activities app) - where assignee is current user
2. OrderActivity records (app_orders) - where task_assignee is current user
Both are merged into a unified response format.'
summary: List tasks assigned to current user
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Task'
description: ''
/api/v1/tasks/related-search/:
get:
operationId: api_v1_tasks_related_search_list
description: 'Unified "Related to" search across the caller''s orders, suppliers,
contracts, ingredients and tasks. Returns a flat list grouped client-side
by ``type``; empty without a `search` query (except for MoR callers).'
summary: Search linkable related items
parameters:
- in: query
name: exclude_task
schema:
type: string
description: UUID of the task currently being edited, excluded from task results so it can't be related to itself.
- in: query
name: search
schema:
type: string
description: Search text used to match linkable related items (orders, suppliers, contracts, ingredients, tasks). Results are empty without it.
tags:
- Tasks
security:
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RelatedTarget'
description: ''
components:
schemas:
MessageRead:
type: object
properties:
uuid:
type: string
format: uuid
readOnly: true
author:
allOf:
- $ref: '#/components/schemas/UserMinimal'
readOnly: true
body:
type: string
readOnly: true
body_plain:
type: string
readOnly: true
mentioned_users:
type: array
items:
$ref: '#/components/schemas/UserMinimal'
readOnly: true
reactions:
type: array
items:
$ref: '#/components/schemas/MessageReactionSummary'
readOnly: true
created:
type: string
format: date-time
readOnly: true
modified:
type: string
format: date-time
readOnly: true
is_unread:
type: boolean
description: 'Whether this message is unread *for the caller* — drives the FE''s
"new messages" divider.
Unread = created after the caller''s read cursor AND not authored by
them (mirrors the ``unread_chat_count`` annotation in ``views/tasks``).
The viewset''s ``list`` passes ``viewer_id`` + ``unread_after`` (the
caller''s ``last_read_at``, or ``None`` when they''ve never opened the
chat → every message is unread). When the context is absent (the create
response, schema generation) nothing is unread.'
readOnly: true
is_own:
type: boolean
description: 'Whether the CALLER authored this message — computed against the raw
``author_id`` BEFORE any routed-task masking, and leaking nothing (it''s
true only for the caller''s own rows).
Exists because masking collapses every agent/MoR author into one
"Opply" payload with the router shadow''s uuid: a masked reader — most
importantly the chat-phase agent reading its transcripts via
``get_my_task`` — cannot otherwise tell its OWN earlier replies apart
from other actors'' messages.'
readOnly: true
attachments:
type: array
items:
$ref: '#/components/schemas/MessageAttachmentRef'
readOnly: true
required:
- attachments
- author
- body
- body_plain
- created
- is_own
- is_unread
- mentioned_users
- modified
- reactions
- uuid
MessageAttachmentRef:
type: object
description: 'One attachment ref carried on a message''s ``metadata["attachments"]``
(SC-4146). Channel-neutral and reusable by **any** message serializer (agent
chat today; task chat / private notes next) — nest it with ``many=True,
required=False`` so a message that carried no attachments omits the key.
Read-only projection of the dicts written by
:func:`~apps.files.services.message_attachments.resolve_and_gate_attachments`;
carries no bytes / URL — the FE mints a short-TTL presigned URL from ``uuid``
when it renders a preview. ``disposition``''s enum name is pinned via
``ENUM_NAME_OVERRIDES`` (``MessageAttachmentDispositionEnum``) so the shared
component doesn''t collide in the generated OpenAPI schema.'
properties:
uuid:
type: string
format: uuid
readOnly: true
filename:
type: string
readOnly: true
mime:
type: string
readOnly: true
disposition:
allOf:
- $ref: '#/components/schemas/MessageAttachmentDispositionEnum'
readOnly: true
required:
- disposition
- filename
- mime
- uuid
TaskRecurrence:
type: object
description: Read/update surface for an existing series (the template's recurrence).
properties:
uuid:
type: string
format: uuid
readOnly: true
task:
type: string
readOnly: true
is_enabled:
type: boolean
readOnly: true
description: When false the series is paused — the beat skips it ('Turn off repeat').
frequency:
$ref: '#/components/schemas/TaskRecurrenceFrequencyEnum'
interval:
type: integer
minimum: 1
weekdays:
type: array
items:
$ref: '#/components/schemas/TaskRecurrenceWeekdayEnum'
description: 'Weekly recurrences only: weekdays the series fires on (iCal codes MO..SU).'
day_of_month:
type:
- integer
- 'null'
maximum: 31
minimum: 1
monthly_mode:
allOf:
- $ref: '#/components/schemas/TaskRecurrenceMonthlyModeEnum'
description: 'Monthly recurrences: fire on a fixed day-of-month, or on the Nth weekday.
* `day_of_month` - Day of month
* `nth_weekday` - Nth weekday'
weekday_ordinal:
type:
- integer
- 'null'
maximum: 32767
minimum: -32768
description: 'Monthly nth_weekday mode: which occurrence of weekdays[0] to fire on (1-4, or -1 for the last). Signed, so -1 fits.'
cron_expression:
type:
- string
- 'null'
description: 'frequency=cron: standard 5-field cron expression (min hour dom mon dow). Evaluated with croniter in the recurrence timezone; the interval/weekday/day-of-month fields are ignored. Materialised by the every-minute materialize_due_cron_recurrences beat (~1-min effective granularity).'
maxLength: 120
starts_at:
type: string
format: date-time
description: rrule dtstart anchor. The first slot is the first occurrence >= this moment.
timezone:
type: string
ends_mode:
$ref: '#/components/schemas/TaskRecurrenceEndsModeEnum'
ends_on:
type:
- string
- 'null'
format: date
description: 'ends_mode=on_date: no occurrence is materialised after this date.'
ends_after_count:
type:
- integer
- 'null'
maximum: 2147483647
minimum: 0
description: 'ends_mode=after_count: stop after this many occurrences have been materialised.'
occurrences_created:
type: integer
readOnly: true
description: Occurrences materialised so far (enforces ends_after_count).
next_run_at:
type: string
format: date-time
readOnly: true
description: Next slot the beat will materialise. The beat's hot-query column.
last_run_at:
type:
- string
- 'null'
format: date-time
readOnly: true
overlap_policy:
allOf:
- $ref: '#/components/schemas/TaskRecurrenceOverlapPolicyEnum'
description: 'What to do at a new slot when a prior occurrence is still open.
* `skip` - Skip
# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/opply/refs/heads/main/openapi/opply-tasks-api-openapi.yml