# Status Updates (polling)

Retrieve invoice status changes from the Ropo One platform.

Use this for lifecycle tracking and reconciliation.

NOTE, this service is parallel with [Status Notification (events) Service](/guides/general-add-ons/status-notifications-events.md). Recommendation is to use events service where Ropo acts as active party when status changes occurs.&#x20;

### How to query

* Recommended: call the endpoint without optional parameters.
  * You get all unrecorded status changes.&#x20;
    * Each request returns maximum of 1000 status changes.
    * to get all status changes keep polling until service returns http status code 204
* Optional: use **one** filter parameter:
  * Use parameters only if needed to update statuses for single day or single invoice. For continuous polling use service without parameters
    * `date`: returns changes for that date (`YYYY-MM-DD`).
    * `billnum`: returns changes for one invoice.
      * Use this only for single-invoice checks.

<details>

<summary>Legacy notes</summary>

If only mandatory parameters are sent, the interface returns all unrecorded state changes, this is the recommended way to use the interface. Only one of the optional parameters can be sent.

Parameter: date The interface returns the status changes for that day Date format: YYY-MM-DD

Parameter: billnum The interface returns the status changes for that invoice number. This parameter is not recommended to use for mass queries

This should be used only for single request only. For multiple invoice updates and querys it is recommended to use the interface with out parameters or with date parameter.

</details>

## GET /jobs/statusupdates

> Get jobs status update information

```json
{"openapi":"3.1.0","info":{"title":"Ropo One","version":"1.0.0"},"tags":[{"name":"jobs","description":"Manage Jobs"}],"servers":[{"url":"/rest","description":"Ropo One"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","bearerFormat":"JWT","scheme":"bearer"}},"schemas":{"JobsStatusUpdatesResult":{"title":"JobsStatusUpdatesResult","description":"JobsStatusUpdatesResult","properties":{"result":{"$ref":"#/components/schemas/JobsStatusUpdatesStatus"}},"type":"object"},"JobsStatusUpdatesStatus":{"title":"JobsStatusUpdatesStatus","description":"JobsStatusUpdatesStatus","properties":{"status":{"type":"array","items":{"$ref":"#/components/schemas/JobsStatusUpdatesStatusRecord"}}},"type":"object"},"JobsStatusUpdatesStatusRecord":{"title":"JobsStatusUpdatesStatusRecord","description":"JobsStatusUpdatesStatusRecord","properties":{"jobid":{"description":"Job id.","type":"integer"},"statusid":{"description":"Id of the status update.","type":"string"},"billnum":{"description":"Invoice number.","type":"string"},"openamount":{"description":"Current open amount of invoice inclusing costs.","type":"number"},"origamount":{"description":"Original amount of the invoice including costs.","type":"number"},"opencapital":{"description":"Open capital.","type":"number"},"openinterest":{"description":"Open interest.","type":"number"},"openexpenses":{"description":"Open expenses.","type":"number"},"statustype":{"description":"Type of the status. Valid values are 'payment' and 'comment'.","type":"string","enum":["payment","comment"]},"statustime":{"description":"Time of the status update in 'YYYY-MM-DD HH:mm:ss' format.","type":"string"},"statusref":{"description":"Short description of the update.","type":"string"},"statustext":{"description":"If statustype is 'comment' value contains more informative description of the update. In case statustype is 'payment', this contains payment code.","type":"string"},"statuscode":{"description":"If statustype is 'comment' value contains status type code. In case statustype is 'payment', this will be empty.","type":"integer"},"paydate":{"description":"Paydate or empty. Format of the value is YYYY-M-DD.","type":"string"},"amount":{"description":"Paid or canceled amount.","type":"number"}},"type":"object"},"JobsStatusUpdatesCommonErrorResult":{"title":"JobsStatusUpdatesCommonErrorResult","description":"JobsStatusUpdatesCommonErrorResult","properties":{"result":{"$ref":"#/components/schemas/JobsStatusUpdatesCommonError","description":"object."}},"type":"object"},"JobsStatusUpdatesCommonError":{"title":"JobsStatusUpdatesCommonError","description":"JobsStatusUpdatesCommonError","properties":{"commonerror":{"description":"Descriptive string of an error.","type":"string"}},"type":"object"}}},"paths":{"/jobs/statusupdates":{"get":{"tags":["jobs"],"summary":"Get jobs status update information","operationId":"JobsGetStatusUpdatesAction","parameters":[{"name":"date","in":"query","description":"Date (YYYY-MM-DD) to define to get all status update of given day.","required":false,"schema":{"type":"string"}},{"name":"billnum","in":"query","description":"Invoice number. Response will contain all status updates for the invoice.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsStatusUpdatesResult"}}}},"204":{"description":"No Content, No status updates to return"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsStatusUpdatesCommonErrorResult"}}}},"401":{"description":"Unauthorized"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dev.ropo.com/guides/general-add-ons/status-updates-polling.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
