Get drafts by service

This endpoint returns the drafts of a service for the day specified in the request.

GET /api/v1/businesses/{businessId}/services/{serviceId}/drafts?day={yyyy-MM-dd}

If the data included in the request is correct —both businessId and serviceId—, the response will be a 200 OK with the drafts for the specified date, containing the following information:

Response example

[
    {
        "orquestId": 2221111,
        "name": "JUNE-23",
        "creator": "username@gmail.com",
        "updater": "username@gmail.com",
        "created": "2025-05-25T15:53:27.031Z",
        "updated": "2025-05-25T15:53:27.031Z",
        "status": "PUBLISHED",
        "from": "2025-06-23",
        "to": "2025-06-29",
        "product": "0001-GENERAL",
        "service": "0001"
    },
    {
        "orquestId": 22221112,
        "name": "JUNE-23",
        "creator": "username@gmail.com",
        "updater": "username@gmail.com",
        "created": "2025-05-19T12:03:34.424Z",
        "updated": "2025-05-25T15:52:53.632Z",
        "status": "NONE",
        "from": "2025-06-23",
        "to": "2025-06-29",
        "product": "0001-GENERAL",
        "service": "0001"
    }
]
Details
  • orquestId: internal identifier of the draft in Orquest.

  • name: name of the draft.

  • creator: user who created the draft.

  • updater: last user who updated the draft.

  • created: date and time of creation in the format yyyy-MM-ddTHH:mm:ss.SSSZ.

  • updated: date and time of the last update in the format yyyy-MM-ddTHH:mm:ss.SSSZ.

  • status: status of the draft. Possible values are NONE (not scheduled), QUEUED (in queue), PROCESSING (being scheduled), GENERATED (shifts generated, but no manual changes), FAILED (failed), CANCELED (canceled), and PUBLISHED (published with or without changes after generating shifts).

  • from: start date of the interval covered by the draft.

  • to: end date of the interval covered by the draft.

  • product: external identifier of the product referenced by the draft.

  • service: external identifier of the service referenced by the draft.

The default status when creating a new draft is NONE. However, when a draft that was generated by the engine (GENERATED) is manually modified, it reverts to the NONE status.

When published, a copy is created and assigned the PUBLISHED status. Because of this, as shown in the example, the same draft named JUNE-23 appears once with status NONE and once with status PUBLISHED.

Considerations

If there are no drafts for the requested date, the request will return an empty array [].

Filtering results

This request allows filtering the results by draft status. To do so, add the status parameter to the URL:

GET /api/v1/businesses/{businessId}/services/{serviceId}/drafts?day={yyyy-MM-dd}&status={STATUS}
Example
GET /api/v1/businesses/BUSINESSID/services/0001/drafts?day=2025-02-25&status=PUBLISHED

Response:

[
    {
        "orquestId": 2221111,
        "name": "JUNE-23",
        "creator": "username@gmail.com",
        "updater": "username@gmail.com",
        "created": "2025-05-25T15:53:27.031Z",
        "updated": "2025-05-25T15:53:27.031Z",
        "status": "PUBLISHED",
        "from": "2025-06-23",
        "to": "2025-06-29",
        "product": "0001-GENERAL",
        "service": "0001"
    }
]

Error codes

In addition to the common errors, this endpoint can return the following codes:

Code Message Description

400 Bad Request

-

The value provided in the status parameter is not one of the allowed values. It is recommended to use one of the following values: NONE, QUEUED, PROCESSING, GENERATED, FAILED, CANCELED or PUBLISHED.

What is a draft?