# Environments REST API Guide

## List Environments

> Retrieve a list of environments from authorized projects.

```json
{"openapi":"3.0.3","info":{"title":"Fiddler API - 2.0","version":"2.0"},"tags":[{"name":"environment-v3","description":"Endpoints related to environment management"}],"servers":[{"url":"https://{fiddler-instance}","description":"Your Fiddler instance URL","variables":{"fiddler-instance":{"default":"app.fiddler.ai","description":"Your Fiddler instance domain (e.g., app.fiddler.ai, your-company.fiddler.ai, or your on-prem instance URL)"}}}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"type":{"name":"type","in":"query","description":"type of environment","required":false,"schema":{"type":"string","enum":["PRE_PRODUCTION","PRODUCTION"]}},"filter":{"name":"filter","in":"query","description":"Allows you to filter by any field.","required":false,"schema":{"type":"string"}},"search":{"name":"search","in":"query","description":"Allows you to search by any field.","required":false,"schema":{"type":"string"}},"ordering":{"name":"ordering","in":"query","description":"Allows you to order results by any field. For desc order prefix field name with `-` and provide comman separated values for multiple fields","required":false,"schema":{"type":"string"}},"limit":{"name":"limit","in":"query","description":"Limit for the pagination","required":false,"schema":{"type":"integer"}},"offset":{"name":"offset","in":"query","description":"Offset for the pagination","required":false,"schema":{"type":"integer"}}},"schemas":{"PaginatedApiResponse":{"type":"object","description":"Response object for paginated API responses.\n","properties":{"api_version":{"type":"string","default":"3.0","enum":["2.0","3.0"],"description":"API version of the response.\n"},"kind":{"type":"string","default":"PAGINATED","enum":["PAGINATED"],"description":"Type of response, indicating a paginated response.\n"},"data":{"type":"object","properties":{"page_size":{"type":"integer","default":10,"description":"Number of items per page in the response.\n"},"item_count":{"type":"integer","default":10,"description":"Number of items in the current page.\n"},"total":{"type":"integer","default":100,"description":"Total number of items across all pages.\n"},"page_count":{"type":"integer","default":10,"description":"Total number of pages.\n"},"page_index":{"type":"integer","default":1,"description":"Current page index.\n"},"offset":{"type":"integer","default":0,"description":"Offset of the first item in the current page.\n"}}}}},"Environments":{"type":"array","items":{"$ref":"#/components/schemas/Environment"}},"Environment":{"allOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"type":{"type":"string","enum":["PRE_PRODUCTION","PRODUCTION"]},"row_count":{"type":"integer","nullable":true},"model":{"$ref":"#/components/schemas/ModelCompact"},"project":{"$ref":"#/components/schemas/ProjectCompact"},"organization":{"$ref":"#/components/schemas/OrganizationCompact"}},"required":["id","name","type","model","project","organization"]},{"$ref":"#/components/schemas/TimestampResponse"}]},"ModelCompact":{"type":"object","title":"ModelCompact","description":"Compact version of a model which can be included in the response of relevant APIs.\n","required":["id","name","version"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the model.\n"},"name":{"type":"string","description":"Name of the model.\n"},"version":{"type":"string","description":"Version of the model.\n"}}},"ProjectCompact":{"type":"object","title":"ProjectCompact","description":"Compact version of a project which can be included in the response of relevant APIs.\n","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the project.\n"},"name":{"type":"string","description":"Name of the project.\n"},"asset_type":{"type":"string","enum":["ML_MODEL","GEN_AI_APP"],"description":"Type of assets the project can have.\n"}}},"OrganizationCompact":{"type":"object","title":"OrganizationCompact","description":"Compact version of an organization which can be included in the response of relevant APIs.\n","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the organization.\n"},"name":{"type":"string","description":"Name of the organization.\n"}}},"TimestampResponse":{"type":"object","title":"timestamp","description":"To record created at and updated at timestamp fields","required":["created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time","description":"To capture created at timestamp"},"updated_at":{"type":"string","format":"date-time","description":"To capture updated at timestamp"}}},"ErrorResponse":{"type":"object","description":"Response object for errors returned by the API.\n","properties":{"api_version":{"type":"string","default":"3.0","enum":["2.0","3.0"],"description":"API version of the response.\n"},"kind":{"type":"string","default":"ERROR","enum":["ERROR"],"description":"Type of response, usually indicating an error.\n"},"error":{"type":"object","properties":{"code":{"type":"integer","format":"int32","description":"Represents the code for this error, typically an HTTP response code.\n","default":400,"enum":[400,403,404,500]},"message":{"type":"string","description":"A human-readable message providing more details about the error. If there are multiple errors, it will be the message for the first error.\n"},"errors":{"type":"array","description":"Container for additional information regarding the error, especially for multiple errors.\n","items":{"type":"object","properties":{"reason":{"type":"string","description":"Unique identifier for this error, different from the error code.\n"},"message":{"type":"string","description":"A human-readable message providing more details about the error. If there is only one error, this field will match error.message.\n"},"help":{"type":"string","description":"Link to support or documentation providing more information on the error.\n"}}}}}}}}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/v3/environments":{"get":{"tags":["environment-v3"],"summary":"List Environments","description":"Retrieve a list of environments from authorized projects.","operationId":"getEnvironments","parameters":[{"$ref":"#/components/parameters/type"},{"$ref":"#/components/parameters/filter"},{"$ref":"#/components/parameters/search"},{"$ref":"#/components/parameters/ordering"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"List of environments from authorized projects","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedApiResponse"},{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"$ref":"#/components/schemas/Environments"}}}}}]}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Get environment of a model

> Retrieve details of a specific environment associated with a model.

```json
{"openapi":"3.0.3","info":{"title":"Fiddler API - 2.0","version":"2.0"},"tags":[{"name":"environment-v3","description":"Endpoints related to environment management"}],"servers":[{"url":"https://{fiddler-instance}","description":"Your Fiddler instance URL","variables":{"fiddler-instance":{"default":"app.fiddler.ai","description":"Your Fiddler instance domain (e.g., app.fiddler.ai, your-company.fiddler.ai, or your on-prem instance URL)"}}}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"env_id":{"name":"env_id","in":"path","description":"environment id path parameter","required":true,"schema":{"type":"string","format":"uuid"}}},"schemas":{"ApiResponse":{"type":"object","description":"Response object for standard API responses.\n","properties":{"api_version":{"type":"string","default":"3.0","enum":["2.0","3.0"],"description":"API version.\n"},"kind":{"type":"string","default":"NORMAL","enum":["NORMAL"],"description":"Type of response, indicating a normal response.\n"}}},"Environment":{"allOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"type":{"type":"string","enum":["PRE_PRODUCTION","PRODUCTION"]},"row_count":{"type":"integer","nullable":true},"model":{"$ref":"#/components/schemas/ModelCompact"},"project":{"$ref":"#/components/schemas/ProjectCompact"},"organization":{"$ref":"#/components/schemas/OrganizationCompact"}},"required":["id","name","type","model","project","organization"]},{"$ref":"#/components/schemas/TimestampResponse"}]},"ModelCompact":{"type":"object","title":"ModelCompact","description":"Compact version of a model which can be included in the response of relevant APIs.\n","required":["id","name","version"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the model.\n"},"name":{"type":"string","description":"Name of the model.\n"},"version":{"type":"string","description":"Version of the model.\n"}}},"ProjectCompact":{"type":"object","title":"ProjectCompact","description":"Compact version of a project which can be included in the response of relevant APIs.\n","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the project.\n"},"name":{"type":"string","description":"Name of the project.\n"},"asset_type":{"type":"string","enum":["ML_MODEL","GEN_AI_APP"],"description":"Type of assets the project can have.\n"}}},"OrganizationCompact":{"type":"object","title":"OrganizationCompact","description":"Compact version of an organization which can be included in the response of relevant APIs.\n","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the organization.\n"},"name":{"type":"string","description":"Name of the organization.\n"}}},"TimestampResponse":{"type":"object","title":"timestamp","description":"To record created at and updated at timestamp fields","required":["created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time","description":"To capture created at timestamp"},"updated_at":{"type":"string","format":"date-time","description":"To capture updated at timestamp"}}},"ErrorResponse":{"type":"object","description":"Response object for errors returned by the API.\n","properties":{"api_version":{"type":"string","default":"3.0","enum":["2.0","3.0"],"description":"API version of the response.\n"},"kind":{"type":"string","default":"ERROR","enum":["ERROR"],"description":"Type of response, usually indicating an error.\n"},"error":{"type":"object","properties":{"code":{"type":"integer","format":"int32","description":"Represents the code for this error, typically an HTTP response code.\n","default":400,"enum":[400,403,404,500]},"message":{"type":"string","description":"A human-readable message providing more details about the error. If there are multiple errors, it will be the message for the first error.\n"},"errors":{"type":"array","description":"Container for additional information regarding the error, especially for multiple errors.\n","items":{"type":"object","properties":{"reason":{"type":"string","description":"Unique identifier for this error, different from the error code.\n"},"message":{"type":"string","description":"A human-readable message providing more details about the error. If there is only one error, this field will match error.message.\n"},"help":{"type":"string","description":"Link to support or documentation providing more information on the error.\n"}}}}}}}}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/v3/environments/{env_id}":{"get":{"tags":["environment-v3"],"summary":"Get environment of a model","description":"Retrieve details of a specific environment associated with a model.","operationId":"getEnvironment","parameters":[{"$ref":"#/components/parameters/env_id"}],"responses":{"200":{"description":"Details of the environment associated with the specified ID","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApiResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Environment"}}}]}}}},"400":{"$ref":"#/components/responses/400"},"404":{"$ref":"#/components/responses/404"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## List of environments of a model

> Retrieve a list of environments associated with a specific model.

```json
{"openapi":"3.0.3","info":{"title":"Fiddler API - 2.0","version":"2.0"},"tags":[{"name":"environment-v3","description":"Endpoints related to environment management"}],"servers":[{"url":"https://{fiddler-instance}","description":"Your Fiddler instance URL","variables":{"fiddler-instance":{"default":"app.fiddler.ai","description":"Your Fiddler instance domain (e.g., app.fiddler.ai, your-company.fiddler.ai, or your on-prem instance URL)"}}}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"model_id":{"name":"model_id","in":"path","description":"model id path parameter","required":true,"schema":{"type":"string","format":"uuid"}},"type":{"name":"type","in":"query","description":"type of environment","required":false,"schema":{"type":"string","enum":["PRE_PRODUCTION","PRODUCTION"]}},"filter":{"name":"filter","in":"query","description":"Allows you to filter by any field.","required":false,"schema":{"type":"string"}},"search":{"name":"search","in":"query","description":"Allows you to search by any field.","required":false,"schema":{"type":"string"}},"ordering":{"name":"ordering","in":"query","description":"Allows you to order results by any field. For desc order prefix field name with `-` and provide comman separated values for multiple fields","required":false,"schema":{"type":"string"}},"limit":{"name":"limit","in":"query","description":"Limit for the pagination","required":false,"schema":{"type":"integer"}},"offset":{"name":"offset","in":"query","description":"Offset for the pagination","required":false,"schema":{"type":"integer"}}},"schemas":{"PaginatedApiResponse":{"type":"object","description":"Response object for paginated API responses.\n","properties":{"api_version":{"type":"string","default":"3.0","enum":["2.0","3.0"],"description":"API version of the response.\n"},"kind":{"type":"string","default":"PAGINATED","enum":["PAGINATED"],"description":"Type of response, indicating a paginated response.\n"},"data":{"type":"object","properties":{"page_size":{"type":"integer","default":10,"description":"Number of items per page in the response.\n"},"item_count":{"type":"integer","default":10,"description":"Number of items in the current page.\n"},"total":{"type":"integer","default":100,"description":"Total number of items across all pages.\n"},"page_count":{"type":"integer","default":10,"description":"Total number of pages.\n"},"page_index":{"type":"integer","default":1,"description":"Current page index.\n"},"offset":{"type":"integer","default":0,"description":"Offset of the first item in the current page.\n"}}}}},"Environments":{"type":"array","items":{"$ref":"#/components/schemas/Environment"}},"Environment":{"allOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"type":{"type":"string","enum":["PRE_PRODUCTION","PRODUCTION"]},"row_count":{"type":"integer","nullable":true},"model":{"$ref":"#/components/schemas/ModelCompact"},"project":{"$ref":"#/components/schemas/ProjectCompact"},"organization":{"$ref":"#/components/schemas/OrganizationCompact"}},"required":["id","name","type","model","project","organization"]},{"$ref":"#/components/schemas/TimestampResponse"}]},"ModelCompact":{"type":"object","title":"ModelCompact","description":"Compact version of a model which can be included in the response of relevant APIs.\n","required":["id","name","version"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the model.\n"},"name":{"type":"string","description":"Name of the model.\n"},"version":{"type":"string","description":"Version of the model.\n"}}},"ProjectCompact":{"type":"object","title":"ProjectCompact","description":"Compact version of a project which can be included in the response of relevant APIs.\n","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the project.\n"},"name":{"type":"string","description":"Name of the project.\n"},"asset_type":{"type":"string","enum":["ML_MODEL","GEN_AI_APP"],"description":"Type of assets the project can have.\n"}}},"OrganizationCompact":{"type":"object","title":"OrganizationCompact","description":"Compact version of an organization which can be included in the response of relevant APIs.\n","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the organization.\n"},"name":{"type":"string","description":"Name of the organization.\n"}}},"TimestampResponse":{"type":"object","title":"timestamp","description":"To record created at and updated at timestamp fields","required":["created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time","description":"To capture created at timestamp"},"updated_at":{"type":"string","format":"date-time","description":"To capture updated at timestamp"}}},"ErrorResponse":{"type":"object","description":"Response object for errors returned by the API.\n","properties":{"api_version":{"type":"string","default":"3.0","enum":["2.0","3.0"],"description":"API version of the response.\n"},"kind":{"type":"string","default":"ERROR","enum":["ERROR"],"description":"Type of response, usually indicating an error.\n"},"error":{"type":"object","properties":{"code":{"type":"integer","format":"int32","description":"Represents the code for this error, typically an HTTP response code.\n","default":400,"enum":[400,403,404,500]},"message":{"type":"string","description":"A human-readable message providing more details about the error. If there are multiple errors, it will be the message for the first error.\n"},"errors":{"type":"array","description":"Container for additional information regarding the error, especially for multiple errors.\n","items":{"type":"object","properties":{"reason":{"type":"string","description":"Unique identifier for this error, different from the error code.\n"},"message":{"type":"string","description":"A human-readable message providing more details about the error. If there is only one error, this field will match error.message.\n"},"help":{"type":"string","description":"Link to support or documentation providing more information on the error.\n"}}}}}}}}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/v3/models/{model_id}/environments":{"get":{"tags":["environment-v3"],"summary":"List of environments of a model","description":"Retrieve a list of environments associated with a specific model.","operationId":"getModelEnvironments","parameters":[{"$ref":"#/components/parameters/model_id"},{"$ref":"#/components/parameters/type"},{"$ref":"#/components/parameters/filter"},{"$ref":"#/components/parameters/search"},{"$ref":"#/components/parameters/ordering"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"List of environments associated with the specified model","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedApiResponse"},{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"$ref":"#/components/schemas/Environments"}}}}}]}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"500":{"$ref":"#/components/responses/500"}}}}}}
```
