> For the complete documentation index, see [llms.txt](https://docs.mediarithmics.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mediarithmics.io/api-reference/marketplace/managing-offers.md).

# Managing Offers

Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers.

## GET /service\_categories/{category\_id}

> Find a category

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_categories/{category_id}":{"get":{"description":"","responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceCategoryPublicResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"operationId":"findCategory","summary":"Find a category","tags":["Managing offers"],"parameters":[{"explode":false,"schema":{"type":"integer","format":"int64"},"style":"simple","name":"category_id","in":"path","required":true},{"name":"locale","required":false,"style":"form","schema":{"$ref":"#/components/schemas/Locale"},"description":"locale","explode":true,"in":"query"}]}}},"components":{"schemas":{"ServiceCategoryPublicResource":{"type":"object","properties":{"description":{"type":"string","readOnly":false},"id":{"type":"string","readOnly":true},"provider_id":{"type":"string","readOnly":true},"locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"list_weight":{"type":"number","format":"float","default":0,"readOnly":false},"parent_category_id":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false},"category_subtype":{"$ref":"#/components/schemas/ServiceCategorySubtype"}},"required":["description","id","list_weight","locale","name","provider_id"]},"ServiceCategorySubtype":{"type":"object"},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]},"Locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## PUT /service\_categories/{category\_id}

> Unpdate a category

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_categories/{category_id}":{"put":{"parameters":[{"explode":false,"name":"category_id","schema":{"type":"integer","format":"int64"},"in":"path","style":"simple","required":true}],"description":"","summary":"Unpdate a category","requestBody":{"description":"The category to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCategoryPublicResource"}}},"required":true},"tags":["Managing offers"],"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceCategoryPublicResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"operationId":"updateCategory"}}},"components":{"schemas":{"ServiceCategoryPublicResource":{"type":"object","properties":{"description":{"type":"string","readOnly":false},"id":{"type":"string","readOnly":true},"provider_id":{"type":"string","readOnly":true},"locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"list_weight":{"type":"number","format":"float","default":0,"readOnly":false},"parent_category_id":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false},"category_subtype":{"$ref":"#/components/schemas/ServiceCategorySubtype"}},"required":["description","id","list_weight","locale","name","provider_id"]},"ServiceCategorySubtype":{"type":"object"},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## DELETE /service\_categories/{category\_id}

> Remove a category

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_categories/{category_id}":{"delete":{"responses":{"200":{"$ref":"#/components/responses/simple"},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"description":"","summary":"Remove a category","parameters":[{"schema":{"type":"integer","format":"int64"},"required":true,"explode":false,"style":"simple","in":"path","name":"category_id"}],"operationId":"deleteCategory","tags":["Managing offers"]}}},"components":{"responses":{"simple":{"description":"Success response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]}},"required":["status"]}}}},"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}},"schemas":{"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}}}}
```

## GET /device\_technical\_id\_registry\_service\_offers

> Search device id registry service offers

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/device_technical_id_registry_service_offers":{"get":{"tags":["Managing offers"],"parameters":[{"required":false,"name":"organisation_id","schema":{"type":"string"},"explode":true,"description":"Organisation ID","in":"query","style":"form"},{"schema":{"type":"integer","format":"int64"},"description":"Subscriber ID","required":false,"style":"form","explode":true,"in":"query","name":"subscriber_id"},{"schema":{"type":"boolean"},"description":"Has a signed agreement or not","required":false,"explode":true,"style":"form","in":"query","name":"signed_agreement"},{"explode":true,"in":"query","style":"form","schema":{"type":"integer","format":"int64"},"name":"conditions_id","description":"Conditions ID","required":false},{"explode":true,"name":"keywords","schema":{"type":"string"},"in":"query","description":"Keywords","required":false,"style":"form"},{"explode":true,"schema":{"type":"array","items":{"type":"string"}},"name":"order_by","required":false,"description":"Order by","style":"form","in":"query"},{"name":"first_result","in":"query","required":false,"explode":true,"style":"form","description":"First result","schema":{"type":"integer","format":"int32"}},{"in":"query","required":false,"description":"Max results","schema":{"type":"integer","format":"int32"},"name":"max_results","style":"form","explode":true}],"summary":"Search device id registry service offers","operationId":"findDeviceIdRegistryOffers","responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DeviceIdRegistryServiceItemOfferResource"}},"status":{"type":"string","enum":["ok"]},"first_result":{"type":"integer"},"max_results":{"type":"integer"},"count":{"type":"integer"},"total":{"type":"integer"}},"required":["count","data","first_result","max_results","status","total"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"description":""}}},"components":{"schemas":{"DeviceIdRegistryServiceItemOfferResource":{"allOf":[{"$ref":"#/components/schemas/AbstractServiceItemOfferResource"},{"type":"object","properties":{"automatic_on":{"$ref":"#/components/schemas/AutomaticRecordType"},"custom":{"type":"boolean","default":false,"readOnly":false},"name":{"type":"string","readOnly":false},"provider_id":{"type":"string","readOnly":true},"credited_account_name":{"type":"string","readOnly":false},"provider_name":{"type":"string","readOnly":true},"credited_account_id":{"type":"string","readOnly":false},"id":{"type":"string","readOnly":true},"device_id_registries":{"type":"array","items":{"$ref":"#/components/schemas/DeviceIdRegistryResource"},"readOnly":false}},"required":["credited_account_id","custom","device_id_registries","id","name","provider_id"]}]},"AbstractServiceItemOfferResource":{"type":"object"},"AutomaticRecordType":{"type":"string","enum":["AUDIENCE_SEGMENT"],"readOnly":false},"DeviceIdRegistryResource":{"type":"object","properties":{"created_by":{"type":"string","readOnly":true},"default_expiration_duration":{"type":"string","description":"A valid ISO 8601 Period String","readOnly":false},"id":{"type":"string","readOnly":true},"creation_ts":{"type":"integer","format":"int64","default":0,"readOnly":true},"drop_before_reduction":{"type":"boolean","default":false,"readOnly":false},"image_uri":{"type":"string","readOnly":false},"type":{"$ref":"#/components/schemas/DeviceIdRegistryType"},"organisation_id":{"type":"string","readOnly":false},"last_modified_by":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":false},"ignored_in_identity_resolution":{"type":"boolean","default":false,"readOnly":false},"last_modified_ts":{"type":"integer","format":"int64","default":0,"readOnly":true},"name":{"type":"string","readOnly":false},"token":{"type":"string","readOnly":false}},"required":["created_by","creation_ts","default_expiration_duration","description","drop_before_reduction","id","ignored_in_identity_resolution","name","organisation_id","token","type"]},"DeviceIdRegistryType":{"type":"string","enum":["INSTALLATION_ID","MUM_ID","NETWORK_DEVICE_ID","CUSTOM_DEVICE_ID","MOBILE_ADVERTISING_ID","MOBILE_VENDOR_ID","TV_ADVERTISING_ID","IP_V4_ADDRESS_ID","IP_V6_ADDRESS_ID"],"readOnly":false},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## GET /service\_offers/{offer\_id}/service\_item\_conditions

> Search service item conditions for the offer

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_offers/{offer_id}/service_item_conditions":{"get":{"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"first_result":{"type":"integer"},"total":{"type":"integer"},"max_results":{"type":"integer"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ServiceItemConditionsResource"}},"count":{"type":"integer"}},"required":["count","data","first_result","max_results","status","total"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"description":"","tags":["Managing offers"],"summary":"Search service item conditions for the offer","parameters":[{"explode":false,"schema":{"type":"integer","format":"int64"},"name":"offer_id","in":"path","required":true,"style":"simple"},{"required":false,"style":"form","schema":{"type":"string"},"name":"keywords","explode":true,"in":"query","description":"The keywords to match"},{"required":false,"style":"form","schema":{"type":"integer","format":"int32"},"in":"query","explode":true,"name":"first_result","description":"Offset from which the search must be performed"},{"description":"Number of maximum items that shall be return by this search","name":"max_results","style":"form","schema":{"type":"integer","format":"int32"},"explode":true,"in":"query","required":false}],"operationId":"findServiceItemConditionsForOffer"}}},"components":{"schemas":{"ServiceItemConditionsResource":{"discriminator":{"propertyName":"type","mapping":{"linear_service_item_conditions":"#/components/schemas/LinearServiceItemConditionsResource","plugin_service_item_conditions":"#/components/schemas/PluginServiceItemConditionsResource","provided_service_item_conditions":"#/components/schemas/ProvidedServiceItemConditionsResource"}},"oneOf":[{"$ref":"#/components/schemas/LinearServiceItemConditionsResource"},{"$ref":"#/components/schemas/PluginServiceItemConditionsResource"},{"$ref":"#/components/schemas/ProvidedServiceItemConditionsResource"}],"properties":{"type":{"type":"string","enum":["linear_service_item_conditions","plugin_service_item_conditions","provided_service_item_conditions"]}},"required":["type"]},"LinearServiceItemConditionsResource":{"type":"object","properties":{"fixed_value":{"type":"number","format":"float","default":0,"readOnly":false},"min_value":{"type":"number","format":"float","default":0,"readOnly":false},"percent_value":{"type":"number","format":"float","default":0,"readOnly":false},"currency":{"type":"string","enum":["EUR","USD","GBP"],"readOnly":false},"id":{"type":"string","readOnly":true},"service_item_id":{"type":"string","readOnly":true}},"required":["currency","fixed_value","id","min_value","percent_value","service_item_id"]},"PluginServiceItemConditionsResource":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"service_item_id":{"type":"string","readOnly":true},"valuator_id":{"type":"string","readOnly":false}},"required":["id","service_item_id","valuator_id"]},"ProvidedServiceItemConditionsResource":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"service_item_id":{"type":"string","readOnly":true}},"required":["id","service_item_id"]},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## GET /user\_account\_compartment\_service\_offers

> Search user account compartment service offers

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/user_account_compartment_service_offers":{"get":{"summary":"Search user account compartment service offers","parameters":[{"in":"query","name":"organisation_id","schema":{"type":"string"},"required":false,"explode":true,"style":"form","description":"Organisation ID"},{"style":"form","explode":true,"description":"Subscriber ID","schema":{"type":"string"},"required":false,"name":"subscriber_id","in":"query"},{"style":"form","in":"query","explode":true,"description":"Has a signed agreement or not","schema":{"type":"boolean"},"required":false,"name":"signed_agreement"},{"name":"conditions_id","in":"query","style":"form","description":"Conditions ID","explode":true,"schema":{"type":"string"},"required":false},{"name":"keywords","schema":{"type":"string"},"in":"query","style":"form","description":"Keywords","required":false,"explode":true},{"explode":true,"description":"Order by","required":false,"style":"form","in":"query","schema":{"type":"array","items":{"type":"string"}},"name":"order_by"},{"style":"form","name":"first_result","description":"First result","explode":true,"in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"required":false,"style":"form","description":"Max results","in":"query","name":"max_results","schema":{"type":"integer","format":"int32"},"explode":true}],"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UserAccountCompartmentServiceItemOfferResource"}},"max_results":{"type":"integer"},"first_result":{"type":"integer"},"total":{"type":"integer"},"count":{"type":"integer"},"status":{"type":"string","enum":["ok"]}},"required":["count","data","first_result","max_results","status","total"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"description":"","tags":["Managing offers"],"operationId":"findUserAccountCompartmentOffers"}}},"components":{"schemas":{"UserAccountCompartmentServiceItemOfferResource":{"allOf":[{"$ref":"#/components/schemas/AbstractServiceItemOfferResource"},{"type":"object","properties":{"user_account_compartments":{"type":"array","items":{"$ref":"#/components/schemas/UserAccountCompartmentResource"},"readOnly":false},"provider_id":{"type":"string","readOnly":true},"provider_name":{"type":"string","readOnly":true},"credited_account_id":{"type":"string","readOnly":false},"custom":{"type":"boolean","default":false,"readOnly":false},"id":{"type":"string","readOnly":true},"automatic_on":{"$ref":"#/components/schemas/AutomaticRecordType"},"name":{"type":"string","readOnly":false},"credited_account_name":{"type":"string","readOnly":false}},"required":["credited_account_id","custom","id","name","provider_id","user_account_compartments"]}]},"AbstractServiceItemOfferResource":{"type":"object"},"UserAccountCompartmentResource":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"default":{"type":"boolean","default":false,"readOnly":false},"organisation_id":{"type":"string","readOnly":false},"token":{"type":"string","readOnly":false},"type":{"$ref":"#/components/schemas/UserAccountCompartmentType"},"name":{"type":"string","readOnly":false},"archived":{"type":"boolean","default":false,"readOnly":false},"image_uri":{"type":"string","readOnly":false}},"required":["archived","default","id","organisation_id","type"]},"UserAccountCompartmentType":{"type":"string","enum":["CUSTOM_COMPARTMENT_ID","NETWORK_USER_ID"],"readOnly":false},"AutomaticRecordType":{"type":"string","enum":["AUDIENCE_SEGMENT"],"readOnly":false},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## GET /service\_offers/{offer\_id}/locale

> Search service offer locale

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_offers/{offer_id}/locale":{"get":{"tags":["Managing offers"],"parameters":[{"required":true,"schema":{"type":"integer","format":"int64"},"description":"The ID of the requested offer","style":"simple","in":"path","explode":false,"name":"offer_id"},{"explode":true,"style":"form","in":"query","required":false,"schema":{"type":"integer","format":"int64"},"name":"id"},{"in":"query","style":"form","name":"locale","description":"locale","required":false,"schema":{"$ref":"#/components/schemas/Locale"},"explode":true},{"name":"first_result","required":false,"description":"Offset from which the search must be performed","style":"form","in":"query","explode":true,"schema":{"type":"integer","format":"int32"}},{"required":false,"explode":true,"name":"max_results","in":"query","style":"form","description":"Number of maximum items that shall be return by this search","schema":{"type":"integer","format":"int32"}},{"in":"query","schema":{"type":"array","items":{"type":"string"}},"description":"Fields used to order the result","explode":true,"name":"order_by","required":false,"style":"form"},{"description":"The keywords to match with organisations locale names","required":false,"name":"keywords","explode":true,"schema":{"type":"string"},"style":"form","in":"query"},{"required":false,"style":"form","name":"archived","explode":true,"description":"Whether to filter with archived or not","in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"first_result":{"type":"integer"},"total":{"type":"integer"},"count":{"type":"integer"},"max_results":{"type":"integer"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ServiceOfferLocaleResource"}},"status":{"type":"string","enum":["ok"]}},"required":["count","data","first_result","max_results","status","total"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"operationId":"findServiceOffersLocale","summary":"Search service offer locale","description":""}}},"components":{"schemas":{"Locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"ServiceOfferLocaleResource":{"type":"object","properties":{"locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false},"service_item_offer_id":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":false}},"required":["description","id","locale","name","service_item_offer_id"]},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## POST /service\_offers/{offer\_id}/locale

> Create service offer

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_offers/{offer_id}/locale":{"post":{"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceOfferLocaleResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"summary":"Create service offer","operationId":"createServiceOfferLocale","parameters":[{"explode":false,"schema":{"type":"integer","format":"int64"},"name":"offer_id","in":"path","required":true,"style":"simple"}],"requestBody":{"description":"The service offer locale to create","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceOfferLocaleResource"}}},"required":true},"tags":["Managing offers"],"description":""}}},"components":{"schemas":{"ServiceOfferLocaleResource":{"type":"object","properties":{"locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false},"service_item_offer_id":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":false}},"required":["description","id","locale","name","service_item_offer_id"]},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## GET /service\_categories

> Search categories

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_categories":{"get":{"description":"","parameters":[{"style":"form","required":true,"explode":true,"schema":{"type":"integer","format":"int64"},"in":"query","name":"organisation_id"},{"required":false,"name":"root","explode":true,"style":"form","schema":{"type":"boolean"},"in":"query"},{"in":"query","style":"form","schema":{"type":"integer","format":"int64"},"required":false,"name":"parentCategoryId","explode":true},{"style":"form","explode":true,"schema":{"$ref":"#/components/schemas/Locale"},"name":"locale","in":"query","required":false,"description":"locale"},{"schema":{"type":"integer","format":"int32"},"required":false,"name":"first_result","style":"form","in":"query","explode":true,"description":"Offset from which the search must be performed"},{"required":false,"style":"form","description":"Number of maximum items that shall be return by this search","in":"query","explode":true,"schema":{"type":"integer","format":"int32"},"name":"max_results"}],"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"total":{"type":"integer"},"status":{"type":"string","enum":["ok"]},"data":{"type":"array","items":{"$ref":"#/components/schemas/ServiceCategoryPublicResource"}},"max_results":{"type":"integer"},"first_result":{"type":"integer"}},"required":["count","data","first_result","max_results","status","total"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"operationId":"findCategories","summary":"Search categories","tags":["Managing offers"]}}},"components":{"schemas":{"Locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"ServiceCategoryPublicResource":{"type":"object","properties":{"description":{"type":"string","readOnly":false},"id":{"type":"string","readOnly":true},"provider_id":{"type":"string","readOnly":true},"locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"list_weight":{"type":"number","format":"float","default":0,"readOnly":false},"parent_category_id":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false},"category_subtype":{"$ref":"#/components/schemas/ServiceCategorySubtype"}},"required":["description","id","list_weight","locale","name","provider_id"]},"ServiceCategorySubtype":{"type":"object"},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## POST /service\_categories

> Add a category

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_categories":{"post":{"operationId":"createCategory","responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceCategoryPublicResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"tags":["Managing offers"],"description":"","summary":"Add a category","requestBody":{"description":"The category to create","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCategoryPublicResource"}}},"required":true},"parameters":[{"in":"query","explode":true,"schema":{"type":"integer","format":"int64"},"name":"organisation_id","required":true,"style":"form"}]}}},"components":{"schemas":{"ServiceCategoryPublicResource":{"type":"object","properties":{"description":{"type":"string","readOnly":false},"id":{"type":"string","readOnly":true},"provider_id":{"type":"string","readOnly":true},"locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"list_weight":{"type":"number","format":"float","default":0,"readOnly":false},"parent_category_id":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false},"category_subtype":{"$ref":"#/components/schemas/ServiceCategorySubtype"}},"required":["description","id","list_weight","locale","name","provider_id"]},"ServiceCategorySubtype":{"type":"object"},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## DELETE /service\_categories/{category\_id}/locales/{locale\_id}

> Remove a category locale

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_categories/{category_id}/locales/{locale_id}":{"delete":{"parameters":[{"name":"category_id","required":true,"schema":{"type":"integer","format":"int64"},"in":"path","explode":false,"style":"simple"},{"style":"simple","required":true,"in":"path","name":"locale_id","schema":{"type":"integer","format":"int64"},"explode":false}],"tags":["Managing offers"],"operationId":"deleteCategoryLocale","description":"","responses":{"200":{"$ref":"#/components/responses/simple"},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"summary":"Remove a category locale"}}},"components":{"responses":{"simple":{"description":"Success response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]}},"required":["status"]}}}},"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}},"schemas":{"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}}}}
```

## GET /service\_offers/{offer\_id}/locale/{id}

> Get service offer locale by id

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_offers/{offer_id}/locale/{id}":{"get":{"description":"","tags":["Managing offers"],"summary":"Get service offer locale by id","parameters":[{"required":true,"explode":false,"name":"offer_id","schema":{"type":"integer","format":"int64"},"in":"path","style":"simple"},{"schema":{"type":"integer","format":"int64"},"style":"simple","required":true,"in":"path","name":"id","explode":false}],"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceOfferLocaleResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"operationId":"getServiceOfferLocale"}}},"components":{"schemas":{"ServiceOfferLocaleResource":{"type":"object","properties":{"locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false},"service_item_offer_id":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":false}},"required":["description","id","locale","name","service_item_offer_id"]},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## PUT /service\_offers/{offer\_id}/locale/{id}

> Update service offer locale by id

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_offers/{offer_id}/locale/{id}":{"put":{"operationId":"updateServiceOfferLocale","requestBody":{"description":"The service offer locale to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceOfferLocaleResource"}}},"required":true},"summary":"Update service offer locale by id","parameters":[{"in":"path","required":true,"style":"simple","name":"offer_id","explode":false,"schema":{"type":"integer","format":"int64"}},{"style":"simple","in":"path","name":"id","schema":{"type":"integer","format":"int64"},"explode":false,"required":true}],"tags":["Managing offers"],"description":"","responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceOfferLocaleResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}}}}},"components":{"schemas":{"ServiceOfferLocaleResource":{"type":"object","properties":{"locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false},"service_item_offer_id":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":false}},"required":["description","id","locale","name","service_item_offer_id"]},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## DELETE /service\_offers/{offer\_id}/locale/{id}

> Delete service offer locale

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_offers/{offer_id}/locale/{id}":{"delete":{"summary":"Delete service offer locale","parameters":[{"in":"path","explode":false,"required":true,"schema":{"type":"integer","format":"int64"},"name":"offer_id","style":"simple"},{"in":"path","name":"id","style":"simple","explode":false,"schema":{"type":"integer","format":"int64"},"required":true}],"operationId":"deleteServiceOfferLocale","responses":{"200":{"$ref":"#/components/responses/simple"},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"description":"","tags":["Managing offers"]}}},"components":{"responses":{"simple":{"description":"Success response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]}},"required":["status"]}}}},"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}},"schemas":{"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}}}}
```

## PUT /organisations/{organisation\_id}/agreements/{agreement\_id}/offers/{offer\_id}

> Add an offer to an agreement

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/organisations/{organisation_id}/agreements/{agreement_id}/offers/{offer_id}":{"put":{"responses":{"200":{"$ref":"#/components/responses/simple"},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"summary":"Add an offer to an agreement","tags":["Managing offers"],"parameters":[{"name":"organisation_id","in":"path","style":"simple","schema":{"type":"integer","format":"int64"},"explode":false,"description":"Organisation ID","required":true},{"name":"agreement_id","explode":false,"schema":{"type":"integer","format":"int64"},"required":true,"style":"simple","in":"path"},{"required":true,"explode":false,"schema":{"type":"integer","format":"int64"},"name":"offer_id","style":"simple","in":"path"}],"operationId":"addServiceOfferToAgreement","description":""}}},"components":{"responses":{"simple":{"description":"Success response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]}},"required":["status"]}}}},"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}},"schemas":{"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}}}}
```

## DELETE /organisations/{organisation\_id}/agreements/{agreement\_id}/offers/{offer\_id}

> Remove an offer from an agreement

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/organisations/{organisation_id}/agreements/{agreement_id}/offers/{offer_id}":{"delete":{"summary":"Remove an offer from an agreement","tags":["Managing offers"],"responses":{"200":{"$ref":"#/components/responses/simple"},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"description":"","operationId":"removeServiceOfferFromAgreement","parameters":[{"style":"simple","required":true,"in":"path","name":"organisation_id","description":"Organisation ID","schema":{"type":"integer","format":"int64"},"explode":false},{"name":"agreement_id","style":"simple","explode":false,"required":true,"schema":{"type":"integer","format":"int64"},"in":"path"},{"required":true,"style":"simple","schema":{"type":"integer","format":"int64"},"name":"offer_id","in":"path","explode":false}]}}},"components":{"responses":{"simple":{"description":"Success response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]}},"required":["status"]}}}},"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}},"schemas":{"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}}}}
```

## GET /service\_offers

> Search service offers

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_offers":{"get":{"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"max_results":{"type":"integer"},"status":{"type":"string","enum":["ok"]},"total":{"type":"integer"},"first_result":{"type":"integer"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ServiceItemOfferResource"}},"count":{"type":"integer"}},"required":["count","data","first_result","max_results","status","total"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"operationId":"findOffers","tags":["Managing offers"],"summary":"Search service offers","description":"","parameters":[{"schema":{"type":"integer","format":"int64"},"style":"form","in":"query","explode":true,"name":"organisation_id","required":true,"description":"Organisation ID"},{"schema":{"type":"integer","format":"int64"},"explode":true,"style":"form","description":"Subscriber ID","name":"subscriber_id","in":"query","required":false},{"schema":{"type":"integer","format":"int64"},"explode":true,"description":"Conditions ID","name":"conditions_id","in":"query","style":"form","required":false},{"in":"query","style":"form","required":false,"name":"keywords","description":"Keywords","schema":{"type":"string"},"explode":true},{"style":"form","description":"Order by","schema":{"type":"array","items":{"type":"string"}},"name":"order_by","required":false,"in":"query","explode":true},{"name":"first_result","description":"First result","schema":{"type":"integer","format":"int32"},"style":"form","in":"query","required":false,"explode":true},{"required":false,"in":"query","description":"Max results","schema":{"type":"integer","format":"int32"},"style":"form","explode":true,"name":"max_results"}]}}},"components":{"schemas":{"ServiceItemOfferResource":{"allOf":[{"$ref":"#/components/schemas/AbstractServiceItemOfferResource"},{"type":"object","properties":{"provider_id":{"type":"string","readOnly":true},"custom":{"type":"boolean","default":false,"readOnly":false},"name":{"type":"string","readOnly":false},"id":{"type":"string","readOnly":true},"automatic_on":{"$ref":"#/components/schemas/AutomaticRecordType"},"credited_account_name":{"type":"string","readOnly":false},"credited_account_id":{"type":"string","readOnly":false},"provider_name":{"type":"string","readOnly":true}},"required":["credited_account_id","custom","id","name","provider_id"]}]},"AbstractServiceItemOfferResource":{"type":"object"},"AutomaticRecordType":{"type":"string","enum":["AUDIENCE_SEGMENT"],"readOnly":false},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## POST /service\_offers

> Create a service offer

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_offers":{"post":{"operationId":"createServiceOffer","summary":"Create a service offer","parameters":[{"description":"Organisation ID","in":"query","required":true,"schema":{"type":"integer","format":"int64"},"style":"form","name":"organisation_id","explode":true}],"tags":["Managing offers"],"description":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceItemOfferResource"}}},"required":true},"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceItemOfferResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}}}}},"components":{"schemas":{"ServiceItemOfferResource":{"allOf":[{"$ref":"#/components/schemas/AbstractServiceItemOfferResource"},{"type":"object","properties":{"provider_id":{"type":"string","readOnly":true},"custom":{"type":"boolean","default":false,"readOnly":false},"name":{"type":"string","readOnly":false},"id":{"type":"string","readOnly":true},"automatic_on":{"$ref":"#/components/schemas/AutomaticRecordType"},"credited_account_name":{"type":"string","readOnly":false},"credited_account_id":{"type":"string","readOnly":false},"provider_name":{"type":"string","readOnly":true}},"required":["credited_account_id","custom","id","name","provider_id"]}]},"AbstractServiceItemOfferResource":{"type":"object"},"AutomaticRecordType":{"type":"string","enum":["AUDIENCE_SEGMENT"],"readOnly":false},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## PUT /organisations/{organisation\_id}/agreements/{agreement\_id}

> Update agreement

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/organisations/{organisation_id}/agreements/{agreement_id}":{"put":{"summary":"Update agreement","operationId":"updateServiceAgreement","tags":["Managing offers"],"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceItemAgreementResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"parameters":[{"in":"path","schema":{"type":"integer","format":"int64"},"name":"organisation_id","explode":false,"description":"Organisation ID","required":true,"style":"simple"},{"explode":false,"schema":{"type":"integer","format":"int64"},"name":"agreement_id","in":"path","required":true,"style":"simple"}],"requestBody":{"description":"The agreement to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceItemAgreementResource"}}},"required":true},"description":""}}},"components":{"schemas":{"ServiceItemAgreementResource":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"signed":{"type":"boolean","default":false,"readOnly":false},"debited_account_id":{"type":"string","readOnly":false},"signing_organisation_id":{"type":"string","readOnly":true},"agreement_type":{"$ref":"#/components/schemas/AgreementType"}},"required":["agreement_type","debited_account_id","id","signed","signing_organisation_id"]},"AgreementType":{"type":"string","enum":["RESELLER","REGULAR"],"readOnly":false},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## DELETE /organisations/{organisation\_id}/agreements/{agreement\_id}

> Delete agreement

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/organisations/{organisation_id}/agreements/{agreement_id}":{"delete":{"description":"","parameters":[{"in":"path","required":true,"schema":{"type":"integer","format":"int64"},"style":"simple","name":"organisation_id","explode":false,"description":"Organisation ID"},{"required":true,"explode":false,"name":"agreement_id","in":"path","schema":{"type":"integer","format":"int64"},"style":"simple"}],"responses":{"200":{"$ref":"#/components/responses/simple"},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"summary":"Delete agreement","tags":["Managing offers"],"operationId":"deleteServiceAgreement"}}},"components":{"responses":{"simple":{"description":"Success response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]}},"required":["status"]}}}},"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}},"schemas":{"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}}}}
```

## GET /service\_offers/{offer\_id}

> Get a service offer by id

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_offers/{offer_id}":{"get":{"summary":"Get a service offer by id","parameters":[{"name":"offer_id","in":"path","schema":{"type":"integer","format":"int64"},"explode":false,"description":"The ID of the requested service offer","required":true,"style":"simple"}],"operationId":"findOffer","tags":["Managing offers"],"description":"","responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceItemOfferResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}}}}},"components":{"schemas":{"ServiceItemOfferResource":{"allOf":[{"$ref":"#/components/schemas/AbstractServiceItemOfferResource"},{"type":"object","properties":{"provider_id":{"type":"string","readOnly":true},"custom":{"type":"boolean","default":false,"readOnly":false},"name":{"type":"string","readOnly":false},"id":{"type":"string","readOnly":true},"automatic_on":{"$ref":"#/components/schemas/AutomaticRecordType"},"credited_account_name":{"type":"string","readOnly":false},"credited_account_id":{"type":"string","readOnly":false},"provider_name":{"type":"string","readOnly":true}},"required":["credited_account_id","custom","id","name","provider_id"]}]},"AbstractServiceItemOfferResource":{"type":"object"},"AutomaticRecordType":{"type":"string","enum":["AUDIENCE_SEGMENT"],"readOnly":false},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## PUT /service\_offers/{offer\_id}

> Update a service offer

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_offers/{offer_id}":{"put":{"description":"","summary":"Update a service offer","tags":["Managing offers"],"parameters":[{"name":"offer_id","required":true,"in":"path","schema":{"type":"integer","format":"int64"},"style":"simple","explode":false,"description":"The ID of the requested service offer"}],"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceItemOfferResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceItemOfferResource"}}},"required":true},"operationId":"updateServiceOffer"}}},"components":{"schemas":{"ServiceItemOfferResource":{"allOf":[{"$ref":"#/components/schemas/AbstractServiceItemOfferResource"},{"type":"object","properties":{"provider_id":{"type":"string","readOnly":true},"custom":{"type":"boolean","default":false,"readOnly":false},"name":{"type":"string","readOnly":false},"id":{"type":"string","readOnly":true},"automatic_on":{"$ref":"#/components/schemas/AutomaticRecordType"},"credited_account_name":{"type":"string","readOnly":false},"credited_account_id":{"type":"string","readOnly":false},"provider_name":{"type":"string","readOnly":true}},"required":["credited_account_id","custom","id","name","provider_id"]}]},"AbstractServiceItemOfferResource":{"type":"object"},"AutomaticRecordType":{"type":"string","enum":["AUDIENCE_SEGMENT"],"readOnly":false},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## GET /organisations/{organisation\_id}/agreements

> Find agreements

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/organisations/{organisation_id}/agreements":{"get":{"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ServiceItemAgreementResource"}},"max_results":{"type":"integer"},"first_result":{"type":"integer"},"total":{"type":"integer"},"status":{"type":"string","enum":["ok"]},"count":{"type":"integer"}},"required":["count","data","first_result","max_results","status","total"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"operationId":"findServiceAgreements","description":"","parameters":[{"description":"Organisation ID","in":"path","explode":false,"required":true,"style":"simple","name":"organisation_id","schema":{"type":"integer","format":"int64"}},{"explode":true,"in":"query","required":false,"name":"provider_id","style":"form","schema":{"type":"integer","format":"int64"}},{"explode":true,"style":"form","in":"query","required":false,"name":"service_offer_id","schema":{"type":"integer","format":"int64"}}],"summary":"Find agreements","tags":["Managing offers"]}}},"components":{"schemas":{"ServiceItemAgreementResource":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"signed":{"type":"boolean","default":false,"readOnly":false},"debited_account_id":{"type":"string","readOnly":false},"signing_organisation_id":{"type":"string","readOnly":true},"agreement_type":{"$ref":"#/components/schemas/AgreementType"}},"required":["agreement_type","debited_account_id","id","signed","signing_organisation_id"]},"AgreementType":{"type":"string","enum":["RESELLER","REGULAR"],"readOnly":false},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## POST /organisations/{organisation\_id}/agreements

> Add an agreement

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/organisations/{organisation_id}/agreements":{"post":{"parameters":[{"required":true,"name":"organisation_id","in":"path","style":"simple","explode":false,"description":"Organisation ID","schema":{"type":"integer","format":"int64"}}],"summary":"Add an agreement","operationId":"createServiceAgreement","tags":["Managing offers"],"requestBody":{"description":"The agreement to create","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceItemAgreementResource"}}},"required":true},"description":"","responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceItemAgreementResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}}}}},"components":{"schemas":{"ServiceItemAgreementResource":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"signed":{"type":"boolean","default":false,"readOnly":false},"debited_account_id":{"type":"string","readOnly":false},"signing_organisation_id":{"type":"string","readOnly":true},"agreement_type":{"$ref":"#/components/schemas/AgreementType"}},"required":["agreement_type","debited_account_id","id","signed","signing_organisation_id"]},"AgreementType":{"type":"string","enum":["RESELLER","REGULAR"],"readOnly":false},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## PUT /service\_offers/{offer\_id}/service\_item\_conditions/{conditions\_id}

> Add a condition to an offer

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_offers/{offer_id}/service_item_conditions/{conditions_id}":{"put":{"parameters":[{"name":"offer_id","required":true,"explode":false,"style":"simple","schema":{"type":"integer","format":"int64"},"in":"path"},{"explode":false,"style":"simple","required":true,"in":"path","name":"conditions_id","schema":{"type":"integer","format":"int64"}}],"description":"","summary":"Add a condition to an offer","operationId":"addConditionsToOffer","tags":["Managing offers"],"responses":{"200":{"$ref":"#/components/responses/simple"},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}}}}},"components":{"responses":{"simple":{"description":"Success response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]}},"required":["status"]}}}},"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}},"schemas":{"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}}}}
```

## DELETE /service\_offers/{offer\_id}/service\_item\_conditions/{conditions\_id}

> Remove a condition from an offer

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_offers/{offer_id}/service_item_conditions/{conditions_id}":{"delete":{"summary":"Remove a condition from an offer","parameters":[{"name":"offer_id","in":"path","explode":false,"schema":{"type":"integer","format":"int64"},"required":true,"style":"simple"},{"required":true,"name":"conditions_id","in":"path","explode":false,"style":"simple","schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"$ref":"#/components/responses/simple"},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"description":"","tags":["Managing offers"],"operationId":"removeConditionsFromOffer"}}},"components":{"responses":{"simple":{"description":"Success response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]}},"required":["status"]}}}},"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}},"schemas":{"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}}}}
```

## GET /service\_categories/{category\_id}/locales

> Find category locales

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_categories/{category_id}/locales":{"get":{"tags":["Managing offers"],"operationId":"findCategoryLocales","description":"","parameters":[{"in":"path","required":true,"name":"category_id","style":"simple","explode":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"type":"array","items":{"$ref":"#/components/schemas/ServiceCategoryLocalePublicResource"}},"total":{"type":"integer"},"first_result":{"type":"integer"},"max_results":{"type":"integer"},"count":{"type":"integer"}},"required":["count","data","first_result","max_results","status","total"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"summary":"Find category locales"}}},"components":{"schemas":{"ServiceCategoryLocalePublicResource":{"type":"object","properties":{"locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"service_category_id":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false},"id":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":false}},"required":["description","id","locale","name","service_category_id"]},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## POST /service\_categories/{category\_id}/locales

> Add a category locale

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_categories/{category_id}/locales":{"post":{"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceCategoryLocalePublicResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"description":"","requestBody":{"description":"The category locale to create","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCategoryLocalePublicResource"}}},"required":true},"summary":"Add a category locale","tags":["Managing offers"],"operationId":"createCategoryLocale","parameters":[{"in":"path","explode":false,"schema":{"type":"integer","format":"int64"},"required":true,"style":"simple","name":"category_id"}]}}},"components":{"schemas":{"ServiceCategoryLocalePublicResource":{"type":"object","properties":{"locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"service_category_id":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false},"id":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":false}},"required":["description","id","locale","name","service_category_id"]},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## PUT /service\_categories/{category\_id}/locales

> Update a category locale

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Managing offers","description":"Operations related to Offers, the bundles of Services that can be exchanged (free or paid) on the marketplace by Providers to Consumers."}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/service_categories/{category_id}/locales":{"put":{"parameters":[{"required":true,"explode":false,"name":"category_id","schema":{"type":"integer","format":"int64"},"in":"path","style":"simple"}],"tags":["Managing offers"],"operationId":"updateCategoryLocale","summary":"Update a category locale","responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/ServiceCategoryLocalePublicResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"requestBody":{"description":"The category locale to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCategoryLocalePublicResource"}}},"required":true},"description":""}}},"components":{"schemas":{"ServiceCategoryLocalePublicResource":{"type":"object","properties":{"locale":{"type":"string","enum":["fr-FR","de-DE","en-GB","en-US","es-ES"],"readOnly":false},"service_category_id":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false},"id":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":false}},"required":["description","id","locale","name","service_category_id"]},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.mediarithmics.io/api-reference/marketplace/managing-offers.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
