Skip to main content

Service Fulfillment Policies

5 API calls in this section.

List Fulfillment Policies

Delivery & Last-Mile / Service Fulfillment Policies
GET/delivery/service-policy-profiles?tenant_id={{tenant_id}}&language=en
Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request GET "$ONDI_BASE_URL/delivery/service-policy-profiles?tenant_id={{tenant_id}}&language=en" \2  --header "Authorization: Bearer {{access_token}}"

Query parameters

tenant_idOptional
query string

{{tenant_id}}

languageOptional
query string

en

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

Success200OK
Response body
json
1{2  "success": true,3  "data": [4    {5      "id": "uuid",6      "tenant_id": "uuid",7      "name": "Express Policy",8      "assignment_mode": "automatic",9      "proof_settings": {10        "driver_pickup": {11          "photo_required": false,12          "signature_required": false13        },14        "driver_delivery": {15          "photo_required": true,16          "signature_required": true17        }18      },19      "active": true,20      "created_at": "2025-01-01T00:00:00Z",21      "updated_at": "2025-01-01T00:00:00Z"22    }23  ]24}

Get Fulfillment Policy

Delivery & Last-Mile / Service Fulfillment Policies
GET/delivery/service-policy-profiles/:id?tenant_id={{tenant_id}}&language=en
Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request GET "$ONDI_BASE_URL/delivery/service-policy-profiles/:id?tenant_id={{tenant_id}}&language=en" \2  --header "Authorization: Bearer {{access_token}}"

Path parameters

idRequired
path string

Fulfillment policy profile UUID

Query parameters

tenant_idOptional
query string

{{tenant_id}}

languageOptional
query string

en

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

Success200OK
Response body
json
1{2  "success": true,3  "data": {4    "id": "uuid",5    "tenant_id": "uuid",6    "name": "Express Policy",7    "assignment_mode": "automatic",8    "proof_settings": {9      "driver_pickup": {10        "photo_required": false,11        "signature_required": false12      },13      "driver_delivery": {14        "photo_required": true,15        "signature_required": true16      }17    },18    "active": true,19    "created_at": "2025-01-01T00:00:00Z",20    "updated_at": "2025-01-01T00:00:00Z"21  }22}
Not Found404Not Found
Response body
json
1{2  "success": false,3  "message": "not_found"4}

Create Fulfillment Policy

Delivery & Last-Mile / Service Fulfillment Policies
POST/delivery/service-policy-profiles?tenant_id={{tenant_id}}&language=en
Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request POST "$ONDI_BASE_URL/delivery/service-policy-profiles?tenant_id={{tenant_id}}&language=en" \2  --header "Authorization: Bearer {{access_token}}" \3  --header "Content-Type: application/json" \4  --header "Content-Type: application/json" \5  --data '{6  "name": "Express Policy",7  "assignment_mode": "automatic",8  "proof_settings": {9    "driver_pickup": {10      "photo_required": false,11      "signature_required": false12    },13    "driver_delivery": {14      "photo_required": true,15      "signature_required": true16    }17  }18}'
Request body
json
1{2  "name": "Express Policy",3  "assignment_mode": "automatic",4  "proof_settings": {5    "driver_pickup": {6      "photo_required": false,7      "signature_required": false8    },9    "driver_delivery": {10      "photo_required": true,11      "signature_required": true12    }13  }14}

Query parameters

tenant_idOptional
query string

{{tenant_id}}

languageOptional
query string

en

Request body fields

nameExample
string

Example field from the request body.

assignment_modeExample
string

Example field from the request body.

proof_settingsExample
object

Example field from the request body.

proof_settings.driver_pickupExample
object

Example field from the request body.

proof_settings.driver_pickup.photo_requiredExample
boolean

Example field from the request body.

proof_settings.driver_pickup.signature_requiredExample
boolean

Example field from the request body.

proof_settings.driver_deliveryExample
object

Example field from the request body.

proof_settings.driver_delivery.photo_requiredExample
boolean

Example field from the request body.

proof_settings.driver_delivery.signature_requiredExample
boolean

Example field from the request body.

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Content-TypeOptional
header string

application/json

Responses

Created201Created
Response body
json
1{2  "success": true,3  "data": {4    "id": "uuid",5    "tenant_id": "uuid",6    "name": "Express Policy",7    "assignment_mode": "automatic",8    "proof_settings": {9      "driver_pickup": {10        "photo_required": false,11        "signature_required": false12      },13      "driver_delivery": {14        "photo_required": true,15        "signature_required": true16      }17    },18    "active": true,19    "created_at": "2025-01-01T00:00:00Z",20    "updated_at": "2025-01-01T00:00:00Z"21  }22}
Validation Error400Bad Request
Response body
json
1{2  "success": false,3  "message": "name is required"4}

Update Fulfillment Policy

Delivery & Last-Mile / Service Fulfillment Policies
PUT/delivery/service-policy-profiles/:id?tenant_id={{tenant_id}}&language=en
Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request PUT "$ONDI_BASE_URL/delivery/service-policy-profiles/:id?tenant_id={{tenant_id}}&language=en" \2  --header "Authorization: Bearer {{access_token}}" \3  --header "Content-Type: application/json" \4  --header "Content-Type: application/json" \5  --data '{6  "name": "Updated Express Policy",7  "proof_settings": {8    "driver_delivery": {9      "photo_required": true,10      "signature_required": false11    }12  }13}'
Request body
json
1{2  "name": "Updated Express Policy",3  "proof_settings": {4    "driver_delivery": {5      "photo_required": true,6      "signature_required": false7    }8  }9}

Path parameters

idRequired
path string

Fulfillment policy profile UUID

Query parameters

tenant_idOptional
query string

{{tenant_id}}

languageOptional
query string

en

Request body fields

nameExample
string

Example field from the request body.

proof_settingsExample
object

Example field from the request body.

proof_settings.driver_deliveryExample
object

Example field from the request body.

proof_settings.driver_delivery.photo_requiredExample
boolean

Example field from the request body.

proof_settings.driver_delivery.signature_requiredExample
boolean

Example field from the request body.

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Content-TypeOptional
header string

application/json

Responses

Success200OK
Response body
json
1{2  "success": true,3  "data": {4    "id": "uuid",5    "tenant_id": "uuid",6    "name": "Express Policy",7    "assignment_mode": "automatic",8    "proof_settings": {9      "driver_pickup": {10        "photo_required": false,11        "signature_required": false12      },13      "driver_delivery": {14        "photo_required": true,15        "signature_required": true16      }17    },18    "active": true,19    "created_at": "2025-01-01T00:00:00Z",20    "updated_at": "2025-01-01T00:00:00Z"21  }22}

Delete (Deactivate) Fulfillment Policy

Delivery & Last-Mile / Service Fulfillment Policies
DELETE/delivery/service-policy-profiles/:id?tenant_id={{tenant_id}}&language=en
Send a bearer token in the Authorization header for an authenticated OnDi user session.
Request
curl
1curl --request DELETE "$ONDI_BASE_URL/delivery/service-policy-profiles/:id?tenant_id={{tenant_id}}&language=en" \2  --header "Authorization: Bearer {{access_token}}"

Path parameters

idRequired
path string

Fulfillment policy profile UUID

Query parameters

tenant_idOptional
query string

{{tenant_id}}

languageOptional
query string

en

Headers

AuthorizationOptional
header string

Bearer {{access_token}}

Responses

Success200OK
Response body
json
1{2  "success": true,3  "message": "deactivated"4}
In Use409Conflict
Response body
json
1{2  "success": false,3  "message": "policy_in_use",4  "service_count": 35}