| Create a new offer | POST | /provider/offers | Create a new service offering as a provider. |
| List all your offers | GET | /provider/offers | Retrieve all offers created by your provider team. |
| Get a specific offer | GET | /provider/offers/{id} | Retrieve details of a specific offer you created. |
| Update an offer | PATCH | /provider/offers/{id} | Update an existing offer. |
| Delete an offer | DELETE | /provider/offers/{id} | Permanently delete an offer. |
| Publish an offer | POST | /provider/offers/{id}/publish | Validate an offer against the publish-readiness rules and, if it passes, set its status to active. |
| Duplicate an offer | POST | /provider/offers/{id}/duplicate | Create a new draft offer pre-filled from an existing one. |
| Download CSV template for bulk offer upload | GET | /provider/offers/bulk-upload/template | Download a CSV template file with headers and an example row. |
| Bulk upload offers from CSV | POST | /provider/offers/bulk-upload | Upload a CSV file to create multiple offers at once. |
| Validate CSV file without creating offers | POST | /provider/offers/bulk-upload/validate | Upload a CSV file to validate its structure and data without actually creating offers. |
| Bulk update offers from CSV | POST | /provider/offers/bulk-update | Upload a CSV file to update multiple existing offers at once, using the same template as bulk upload (GET /bulk-upload/template). |
| Validate a bulk-update CSV without updating offers | POST | /provider/offers/bulk-update/validate | Upload a CSV file to validate it against the bulk-update rules without writing anything. |