# Avatar Creators

## GET /v1/avatars/{projectId}/creator-configs

> List all creator configs for a project

```json
{"openapi":"3.0.0","info":{"title":"M-Serve","version":"0.1.0"},"servers":[{"url":"https://api.msquared.io"}],"paths":{"/v1/avatars/{projectId}/creator-configs":{"get":{"summary":"List all creator configs for a project","operationId":"v1_avatarsService_listCreatorConfigs","tags":["avatars","creator_configs"],"parameters":[{"name":"projectId","in":"path","required":true,"description":"The ID of the Project the Creator Config belongs to","schema":{"type":"string"}},{"name":"offset","in":"query","description":"The offset into queried items to return","required":false,"schema":{"type":"integer","minimum":0,"format":"int32"}},{"name":"limit","in":"query","description":"The maximum number of items to return (maximum 100)","required":false,"schema":{"type":"integer","minimum":0,"maximum":100,"format":"int32"}},{"name":"search","in":"query","description":"The search query to filter the results","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1_avatarsService_GetCreatorConfigsResponse"}}}},"default":{"$ref":"#/components/responses/Error"}}}}},"components":{"schemas":{"v1_avatarsService_GetCreatorConfigsResponse":{"type":"object","additionalProperties":false,"required":["creatorConfigs","totalResults","offset","limit","canWrite"],"properties":{"creatorConfigs":{"type":"array","items":{"$ref":"#/components/schemas/CreatorConfig"}},"totalResults":{"type":"integer","description":"The total number of results, before applying the limit and offset"},"offset":{"type":"integer","description":"The offset into queried items to return"},"limit":{"type":"integer","description":"The maximum number of items to return"},"canWrite":{"type":"boolean","description":"Whether the user has write permissions"}}},"CreatorConfig":{"type":"object","additionalProperties":false,"required":["id","name","catalog"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"catalog":{"type":"object","oneOf":[{"type":"object","additionalProperties":false,"required":["mode"],"properties":{"mode":{"type":"string","const":"default"}}},{"type":"object","additionalProperties":false,"required":["mode","endpoint"],"properties":{"mode":{"type":"string","const":"endpoint"},"endpoint":{"type":"string"}}}]},"allowedHost":{"type":["string","null"]},"createdAt":{"type":"string"},"createdBy":{"$ref":"#/components/schemas/UserIdOrAPIKeyId"}}},"UserIdOrAPIKeyId":{"oneOf":[{"type":"object","additionalProperties":false,"required":["userId","type"],"properties":{"userId":{"type":"string"},"type":{"type":"string","enum":["user"]}}},{"type":"object","additionalProperties":false,"required":["apiKeyId","type"],"properties":{"apiKeyId":{"type":"string"},"type":{"type":"string","enum":["apiKey"]}}}]},"Error":{"type":"object","additionalProperties":false,"required":["message"],"properties":{"message":{"type":"string"}}}},"responses":{"Error":{"description":"An error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## GET /v1/avatars/{projectId}/creator-configs/{creatorConfigId}

> Get a creator config

```json
{"openapi":"3.0.0","info":{"title":"M-Serve","version":"0.1.0"},"servers":[{"url":"https://api.msquared.io"}],"paths":{"/v1/avatars/{projectId}/creator-configs/{creatorConfigId}":{"get":{"summary":"Get a creator config","operationId":"v1_avatarsService_getCreatorConfig","tags":["avatars","creator_configs"],"parameters":[{"name":"projectId","in":"path","required":true,"description":"The ID of the Project the Creator Config belongs to","schema":{"type":"string"}},{"name":"creatorConfigId","in":"path","required":true,"description":"The ID of the Creator Config to get","schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1_avatarsService_GetCreatorConfigResponse"}}}},"default":{"$ref":"#/components/responses/Error"}}}}},"components":{"schemas":{"v1_avatarsService_GetCreatorConfigResponse":{"allOf":[{"$ref":"#/components/schemas/CreatorConfig"},{"type":"object","additionalProperties":false,"required":["embeddableUrl","canWrite"],"properties":{"embeddableUrl":{"type":"string","description":"URL that can be embedded by clients"},"canWrite":{"type":"boolean","description":"Whether the user has write permissions"}}}]},"CreatorConfig":{"type":"object","additionalProperties":false,"required":["id","name","catalog"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"catalog":{"type":"object","oneOf":[{"type":"object","additionalProperties":false,"required":["mode"],"properties":{"mode":{"type":"string","const":"default"}}},{"type":"object","additionalProperties":false,"required":["mode","endpoint"],"properties":{"mode":{"type":"string","const":"endpoint"},"endpoint":{"type":"string"}}}]},"allowedHost":{"type":["string","null"]},"createdAt":{"type":"string"},"createdBy":{"$ref":"#/components/schemas/UserIdOrAPIKeyId"}}},"UserIdOrAPIKeyId":{"oneOf":[{"type":"object","additionalProperties":false,"required":["userId","type"],"properties":{"userId":{"type":"string"},"type":{"type":"string","enum":["user"]}}},{"type":"object","additionalProperties":false,"required":["apiKeyId","type"],"properties":{"apiKeyId":{"type":"string"},"type":{"type":"string","enum":["apiKey"]}}}]},"Error":{"type":"object","additionalProperties":false,"required":["message"],"properties":{"message":{"type":"string"}}}},"responses":{"Error":{"description":"An error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## DELETE /v1/avatars/{projectId}/creator-configs/{creatorConfigId}

> Delete a creator config

```json
{"openapi":"3.0.0","info":{"title":"M-Serve","version":"0.1.0"},"servers":[{"url":"https://api.msquared.io"}],"paths":{"/v1/avatars/{projectId}/creator-configs/{creatorConfigId}":{"delete":{"summary":"Delete a creator config","operationId":"v1_avatarsService_deleteCreatorConfig","tags":["avatars","creator_configs"],"parameters":[{"name":"projectId","in":"path","required":true,"description":"The ID of the Project the Creator Config belongs to","schema":{"type":"string"}},{"name":"creatorConfigId","in":"path","required":true,"description":"The ID of the Creator Config to delete","schema":{"type":"string"}}],"responses":{"204":{"description":"Success"},"default":{"$ref":"#/components/responses/Error"}}}}},"components":{"responses":{"Error":{"description":"An error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","additionalProperties":false,"required":["message"],"properties":{"message":{"type":"string"}}}}}}
```

## PATCH /v1/avatars/{projectId}/creator-configs/{creatorConfigId}

> Update a creator config

```json
{"openapi":"3.0.0","info":{"title":"M-Serve","version":"0.1.0"},"servers":[{"url":"https://api.msquared.io"}],"paths":{"/v1/avatars/{projectId}/creator-configs/{creatorConfigId}":{"patch":{"summary":"Update a creator config","operationId":"v1_avatarsService_updateCreatorConfig","tags":["avatars","creator_configs"],"parameters":[{"name":"projectId","in":"path","required":true,"description":"The ID of the Project the Creator Config belongs to","schema":{"type":"string"}},{"name":"creatorConfigId","in":"path","required":true,"description":"The ID of the Creator Config to update","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1_avatarsService_UpdateCreatorConfigRequest"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1_avatarsService_UpdateCreatorConfigResponse"}}}},"default":{"$ref":"#/components/responses/Error"}}}}},"components":{"schemas":{"v1_avatarsService_UpdateCreatorConfigRequest":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"catalog":{"type":"object","oneOf":[{"type":"object","additionalProperties":false,"required":["mode"],"properties":{"mode":{"type":"string","const":"default"}}},{"type":"object","additionalProperties":false,"required":["mode","endpoint"],"properties":{"mode":{"type":"string","const":"endpoint"},"endpoint":{"type":"string"}}}]},"allowedHost":{"type":["string","null"]}}},"v1_avatarsService_UpdateCreatorConfigResponse":{"$ref":"#/components/schemas/CreatorConfig"},"CreatorConfig":{"type":"object","additionalProperties":false,"required":["id","name","catalog"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"catalog":{"type":"object","oneOf":[{"type":"object","additionalProperties":false,"required":["mode"],"properties":{"mode":{"type":"string","const":"default"}}},{"type":"object","additionalProperties":false,"required":["mode","endpoint"],"properties":{"mode":{"type":"string","const":"endpoint"},"endpoint":{"type":"string"}}}]},"allowedHost":{"type":["string","null"]},"createdAt":{"type":"string"},"createdBy":{"$ref":"#/components/schemas/UserIdOrAPIKeyId"}}},"UserIdOrAPIKeyId":{"oneOf":[{"type":"object","additionalProperties":false,"required":["userId","type"],"properties":{"userId":{"type":"string"},"type":{"type":"string","enum":["user"]}}},{"type":"object","additionalProperties":false,"required":["apiKeyId","type"],"properties":{"apiKeyId":{"type":"string"},"type":{"type":"string","enum":["apiKey"]}}}]},"Error":{"type":"object","additionalProperties":false,"required":["message"],"properties":{"message":{"type":"string"}}}},"responses":{"Error":{"description":"An error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## POST /v1/avatars/{projectId}/creator-configs

> Create a new creator config

```json
{"openapi":"3.0.0","info":{"title":"M-Serve","version":"0.1.0"},"servers":[{"url":"https://api.msquared.io"}],"paths":{"/v1/avatars/{projectId}/creator-configs":{"post":{"summary":"Create a new creator config","operationId":"v1_avatarsService_createCreatorConfig","tags":["avatars","creator_configs"],"parameters":[{"name":"projectId","in":"path","required":true,"description":"The ID of the Project the Creator Config belongs to","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1_avatarsService_CreateCreatorConfigRequest"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1_avatarsService_CreateCreatorConfigResponse"}}}},"default":{"$ref":"#/components/responses/Error"}}}}},"components":{"schemas":{"v1_avatarsService_CreateCreatorConfigRequest":{"type":"object","additionalProperties":false,"required":["name","catalog","allowedHost"],"properties":{"name":{"type":"string"},"catalog":{"type":"object","oneOf":[{"type":"object","additionalProperties":false,"required":["mode"],"properties":{"mode":{"type":"string","const":"default"}}},{"type":"object","additionalProperties":false,"required":["mode","endpoint"],"properties":{"mode":{"type":"string","const":"endpoint"},"endpoint":{"type":"string"}}}]},"allowedHost":{"type":["string","null"]}}},"v1_avatarsService_CreateCreatorConfigResponse":{"$ref":"#/components/schemas/CreatorConfig"},"CreatorConfig":{"type":"object","additionalProperties":false,"required":["id","name","catalog"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"catalog":{"type":"object","oneOf":[{"type":"object","additionalProperties":false,"required":["mode"],"properties":{"mode":{"type":"string","const":"default"}}},{"type":"object","additionalProperties":false,"required":["mode","endpoint"],"properties":{"mode":{"type":"string","const":"endpoint"},"endpoint":{"type":"string"}}}]},"allowedHost":{"type":["string","null"]},"createdAt":{"type":"string"},"createdBy":{"$ref":"#/components/schemas/UserIdOrAPIKeyId"}}},"UserIdOrAPIKeyId":{"oneOf":[{"type":"object","additionalProperties":false,"required":["userId","type"],"properties":{"userId":{"type":"string"},"type":{"type":"string","enum":["user"]}}},{"type":"object","additionalProperties":false,"required":["apiKeyId","type"],"properties":{"apiKeyId":{"type":"string"},"type":{"type":"string","enum":["apiKey"]}}}]},"Error":{"type":"object","additionalProperties":false,"required":["message"],"properties":{"message":{"type":"string"}}}},"responses":{"Error":{"description":"An error occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```
