# Mixins

## Retrieving site mixins

> Retrieves all mixins for a specified site.

```json
{"openapi":"3.0.0","info":{"title":"Site Settings Service","version":"0.0.1"},"tags":[{"name":"Mixins"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["site.site_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"refreshUrl":"","scopes":{"site.site_read":"Needed to retrieve information about sites.","site.site_manage":"Needed to manage sites."},"tokenUrl":"https://api.emporix.io/oauth/token"}}}},"schemas":{"Mixins":{"title":"Mixins","type":"object","description":"Represents mixins. The object is represented as a map with keys and values, where key represents a mixin group name and value represents a map with keys and values.","additionalProperties":true},"ErrorMessage":{"type":"object","properties":{"type":{"type":"string","description":"Classification of the error type.\n\n**Note**: The error type should be written in lowercase and include underscores, for example validation_failure."},"status":{"type":"number","minimum":100,"maximum":599,"description":"Original HTTP error code. It should be consistent with the HTTP response code."},"message":{"type":"string","description":"Descriptive error message for debugging purposes."},"details":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}}}}}}},"responses":{"400_invalid_tenant":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"401_invalidToken":{"description":"","content":{"application/json":{"schema":{"description":"","type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string","minLength":1},"detail":{"type":"object","properties":{"errorcode":{"type":"string","minLength":1}}}}}}}}}},"403_insufficient_permissions":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"paths":{"/site/{tenant}/sites/{siteCode}/mixins":{"get":{"summary":"Retrieving site mixins","tags":["Mixins"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mixins"}}}},"400":{"$ref":"#/components/responses/400_invalid_tenant"},"401":{"$ref":"#/components/responses/401_invalidToken"},"403":{"$ref":"#/components/responses/403_insufficient_permissions"}},"operationId":"GET-site-settings-list-site-mixins","parameters":[],"description":"Retrieves all mixins for a specified site."}}}}
```

## Creating a site mixin

> Creates a mixin for a specified site.

```json
{"openapi":"3.0.0","info":{"title":"Site Settings Service","version":"0.0.1"},"tags":[{"name":"Mixins"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["site.site_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"refreshUrl":"","scopes":{"site.site_read":"Needed to retrieve information about sites.","site.site_manage":"Needed to manage sites."},"tokenUrl":"https://api.emporix.io/oauth/token"}}}},"schemas":{"ResourceLocation":{"title":"ResourceLocation","type":"object","properties":{"id":{"type":"string","description":"Resource identifier."}},"description":""},"ErrorMessage":{"type":"object","properties":{"type":{"type":"string","description":"Classification of the error type.\n\n**Note**: The error type should be written in lowercase and include underscores, for example validation_failure."},"status":{"type":"number","minimum":100,"maximum":599,"description":"Original HTTP error code. It should be consistent with the HTTP response code."},"message":{"type":"string","description":"Descriptive error message for debugging purposes."},"details":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}}}}}},"Mixin":{"title":"Mixin","type":"object","description":"Represents a single mixin. The payload is represented as a map with a single key and value, where key represents a mixin group name and value represents a map with keys and values.","additionalProperties":true}},"responses":{"401_invalidToken":{"description":"","content":{"application/json":{"schema":{"description":"","type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string","minLength":1},"detail":{"type":"object","properties":{"errorcode":{"type":"string","minLength":1}}}}}}}}}},"403_insufficient_permissions":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"paths":{"/site/{tenant}/sites/{siteCode}/mixins":{"post":{"summary":"Creating a site mixin","operationId":"POST-site-settings-create-site-mixin","responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceLocation"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"401":{"$ref":"#/components/responses/401_invalidToken"},"403":{"$ref":"#/components/responses/403_insufficient_permissions"},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mixin"}}},"description":""},"description":"Creates a mixin for a specified site.","tags":["Mixins"]}}}}
```

## Retrieving a site mixin

> Retrieves a specified site mixin.

```json
{"openapi":"3.0.0","info":{"title":"Site Settings Service","version":"0.0.1"},"tags":[{"name":"Mixins"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["site.site_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"refreshUrl":"","scopes":{"site.site_read":"Needed to retrieve information about sites.","site.site_manage":"Needed to manage sites."},"tokenUrl":"https://api.emporix.io/oauth/token"}}}},"schemas":{"Mixin":{"title":"Mixin","type":"object","description":"Represents a single mixin. The payload is represented as a map with a single key and value, where key represents a mixin group name and value represents a map with keys and values.","additionalProperties":true},"ErrorMessage":{"type":"object","properties":{"type":{"type":"string","description":"Classification of the error type.\n\n**Note**: The error type should be written in lowercase and include underscores, for example validation_failure."},"status":{"type":"number","minimum":100,"maximum":599,"description":"Original HTTP error code. It should be consistent with the HTTP response code."},"message":{"type":"string","description":"Descriptive error message for debugging purposes."},"details":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}}}}}}},"responses":{"400_invalid_tenant":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"401_invalidToken":{"description":"","content":{"application/json":{"schema":{"description":"","type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string","minLength":1},"detail":{"type":"object","properties":{"errorcode":{"type":"string","minLength":1}}}}}}}}}},"403_insufficient_permissions":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404_mixinNotFound":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"paths":{"/site/{tenant}/sites/{siteCode}/mixins/{mixinName}":{"get":{"summary":"Retrieving a site mixin","tags":["Mixins"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mixin"}}}},"400":{"$ref":"#/components/responses/400_invalid_tenant"},"401":{"$ref":"#/components/responses/401_invalidToken"},"403":{"$ref":"#/components/responses/403_insufficient_permissions"},"404":{"$ref":"#/components/responses/404_mixinNotFound"}},"operationId":"GET-site-settings-retrieve-site-mixin","description":"Retrieves a specified site mixin."}}}}
```

## Fully updating a site mixin

> Fully updates a specified site mixin.

```json
{"openapi":"3.0.0","info":{"title":"Site Settings Service","version":"0.0.1"},"tags":[{"name":"Mixins"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["site.site_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"refreshUrl":"","scopes":{"site.site_read":"Needed to retrieve information about sites.","site.site_manage":"Needed to manage sites."},"tokenUrl":"https://api.emporix.io/oauth/token"}}}},"responses":{"400_invalid_tenant":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"401_invalidToken":{"description":"","content":{"application/json":{"schema":{"description":"","type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string","minLength":1},"detail":{"type":"object","properties":{"errorcode":{"type":"string","minLength":1}}}}}}}}}},"403_insufficient_permissions":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404_mixinNotFound":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"schemas":{"ErrorMessage":{"type":"object","properties":{"type":{"type":"string","description":"Classification of the error type.\n\n**Note**: The error type should be written in lowercase and include underscores, for example validation_failure."},"status":{"type":"number","minimum":100,"maximum":599,"description":"Original HTTP error code. It should be consistent with the HTTP response code."},"message":{"type":"string","description":"Descriptive error message for debugging purposes."},"details":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}}}}}},"Mixin":{"title":"Mixin","type":"object","description":"Represents a single mixin. The payload is represented as a map with a single key and value, where key represents a mixin group name and value represents a map with keys and values.","additionalProperties":true}}},"paths":{"/site/{tenant}/sites/{siteCode}/mixins/{mixinName}":{"put":{"summary":"Fully updating a site mixin","operationId":"PUT-site-settings-update-site-mixin","responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/400_invalid_tenant"},"401":{"$ref":"#/components/responses/401_invalidToken"},"403":{"$ref":"#/components/responses/403_insufficient_permissions"},"404":{"$ref":"#/components/responses/404_mixinNotFound"}},"description":"Fully updates a specified site mixin.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mixin"}}}},"tags":["Mixins"]}}}}
```

## Deleting a site mixin

> Deletes a specified site mixin.

```json
{"openapi":"3.0.0","info":{"title":"Site Settings Service","version":"0.0.1"},"tags":[{"name":"Mixins"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["site.site_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"refreshUrl":"","scopes":{"site.site_read":"Needed to retrieve information about sites.","site.site_manage":"Needed to manage sites."},"tokenUrl":"https://api.emporix.io/oauth/token"}}}},"responses":{"400_invalid_tenant":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"401_invalidToken":{"description":"","content":{"application/json":{"schema":{"description":"","type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string","minLength":1},"detail":{"type":"object","properties":{"errorcode":{"type":"string","minLength":1}}}}}}}}}},"403_insufficient_permissions":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404_mixinNotFound":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"schemas":{"ErrorMessage":{"type":"object","properties":{"type":{"type":"string","description":"Classification of the error type.\n\n**Note**: The error type should be written in lowercase and include underscores, for example validation_failure."},"status":{"type":"number","minimum":100,"maximum":599,"description":"Original HTTP error code. It should be consistent with the HTTP response code."},"message":{"type":"string","description":"Descriptive error message for debugging purposes."},"details":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}}}}}}}},"paths":{"/site/{tenant}/sites/{siteCode}/mixins/{mixinName}":{"delete":{"summary":"Deleting a site mixin","operationId":"DELETE-site-settings-remove-site-mixin","responses":{"204":{"description":"No Content"},"400":{"$ref":"#/components/responses/400_invalid_tenant"},"401":{"$ref":"#/components/responses/401_invalidToken"},"403":{"$ref":"#/components/responses/403_insufficient_permissions"},"404":{"$ref":"#/components/responses/404_mixinNotFound"}},"description":"Deletes a specified site mixin.","tags":["Mixins"]}}}}
```

## Partially updating a site mixin

> Partially updates a specified site mixin.

```json
{"openapi":"3.0.0","info":{"title":"Site Settings Service","version":"0.0.1"},"tags":[{"name":"Mixins"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["site.site_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"refreshUrl":"","scopes":{"site.site_read":"Needed to retrieve information about sites.","site.site_manage":"Needed to manage sites."},"tokenUrl":"https://api.emporix.io/oauth/token"}}}},"responses":{"400_invalid_tenant":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"401_invalidToken":{"description":"","content":{"application/json":{"schema":{"description":"","type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string","minLength":1},"detail":{"type":"object","properties":{"errorcode":{"type":"string","minLength":1}}}}}}}}}},"403_insufficient_permissions":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"schemas":{"ErrorMessage":{"type":"object","properties":{"type":{"type":"string","description":"Classification of the error type.\n\n**Note**: The error type should be written in lowercase and include underscores, for example validation_failure."},"status":{"type":"number","minimum":100,"maximum":599,"description":"Original HTTP error code. It should be consistent with the HTTP response code."},"message":{"type":"string","description":"Descriptive error message for debugging purposes."},"details":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"}}}}}},"Mixin":{"title":"Mixin","type":"object","description":"Represents a single mixin. The payload is represented as a map with a single key and value, where key represents a mixin group name and value represents a map with keys and values.","additionalProperties":true}}},"paths":{"/site/{tenant}/sites/{siteCode}/mixins/{mixinName}":{"patch":{"summary":"Partially updating a site mixin","operationId":"PATCH-site-settings-update-site-mixin","responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/400_invalid_tenant"},"401":{"$ref":"#/components/responses/401_invalidToken"},"403":{"$ref":"#/components/responses/403_insufficient_permissions"}},"description":"Partially updates a specified site mixin.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mixin"}}}},"tags":["Mixins"]}}}}
```


---

# Agent Instructions: Querying This Documentation

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

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

```
GET https://developer.emporix.io/api-references-1/readme/api-reference-37/mixins.md?ask=<question>
```

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

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