# Projects REST API Guide

## List of projects

> List of projects

```json
{"openapi":"3.0.3","info":{"title":"Fiddler API - 2.0","version":"2.0"},"tags":[{"name":"project-v3"}],"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":{"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"}}}}},"Projects":{"type":"array","description":"List of projects","items":{"$ref":"#/components/schemas/Project"}},"Project":{"type":"object","description":"Details of the project","required":["id","name","asset_type","organization","created_at","updated_at"],"allOf":[{"type":"object","properties":{"id":{"description":"Unique identifier of the project","type":"string","format":"uuid"},"name":{"description":"Name of the project","type":"string"},"asset_type":{"$ref":"#/components/schemas/AssetsType"},"organization":{"$ref":"#/components/schemas/OrganizationCompact"}}},{"$ref":"#/components/schemas/CreateUpdateTimestamp"}]},"AssetsType":{"type":"string","description":"Type of project","enum":["ML_MODEL","GEN_AI_APP"]},"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"}}},"CreateUpdateTimestamp":{"type":"object","required":["created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the object was created.\n"},"updated_at":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the object was last updated.\n"}}},"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"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/v3/projects":{"get":{"tags":["project-v3"],"summary":"List of projects","description":"List of projects","operationId":"getProjectsV3","parameters":[{"$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 projects","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedApiResponse"},{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"$ref":"#/components/schemas/Projects"}}}}}]}}}},"400":{"$ref":"#/components/responses/400"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Create new project

> Create new project

```json
{"openapi":"3.0.3","info":{"title":"Fiddler API - 2.0","version":"2.0"},"tags":[{"name":"project-v3"}],"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"}},"schemas":{"ProjectRequest":{"type":"object","title":"ProjectRequest","description":"Request body for creating a project","required":["name","asset_type"],"properties":{"name":{"description":"Name of the project","type":"string"},"asset_type":{"$ref":"#/components/schemas/AssetsType"}}},"AssetsType":{"type":"string","description":"Type of project","enum":["ML_MODEL","GEN_AI_APP"]},"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"}}},"Project":{"type":"object","description":"Details of the project","required":["id","name","asset_type","organization","created_at","updated_at"],"allOf":[{"type":"object","properties":{"id":{"description":"Unique identifier of the project","type":"string","format":"uuid"},"name":{"description":"Name of the project","type":"string"},"asset_type":{"$ref":"#/components/schemas/AssetsType"},"organization":{"$ref":"#/components/schemas/OrganizationCompact"}}},{"$ref":"#/components/schemas/CreateUpdateTimestamp"}]},"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"}}},"CreateUpdateTimestamp":{"type":"object","required":["created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the object was created.\n"},"updated_at":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the object was last updated.\n"}}},"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"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/v3/projects":{"post":{"tags":["project-v3"],"summary":"Create new project","description":"Create new project","operationId":"createProjectV3","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRequest"}}}},"responses":{"200":{"description":"Details of the created project","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApiResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Project"}}}]}}}},"400":{"$ref":"#/components/responses/400"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Detail info of a project for the specified project id

> Detail info of a project

```json
{"openapi":"3.0.3","info":{"title":"Fiddler API - 2.0","version":"2.0"},"tags":[{"name":"project-v3"}],"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":{"project_id":{"name":"project_id","in":"path","description":"Path parameter for unique identifier of a project","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"}}},"Project":{"type":"object","description":"Details of the project","required":["id","name","asset_type","organization","created_at","updated_at"],"allOf":[{"type":"object","properties":{"id":{"description":"Unique identifier of the project","type":"string","format":"uuid"},"name":{"description":"Name of the project","type":"string"},"asset_type":{"$ref":"#/components/schemas/AssetsType"},"organization":{"$ref":"#/components/schemas/OrganizationCompact"}}},{"$ref":"#/components/schemas/CreateUpdateTimestamp"}]},"AssetsType":{"type":"string","description":"Type of project","enum":["ML_MODEL","GEN_AI_APP"]},"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"}}},"CreateUpdateTimestamp":{"type":"object","required":["created_at","updated_at"],"properties":{"created_at":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the object was created.\n"},"updated_at":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the object was last updated.\n"}}},"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/projects/{project_id}":{"get":{"tags":["project-v3"],"summary":"Detail info of a project for the specified project id","description":"Detail info of a project","operationId":"getProjectV3","parameters":[{"$ref":"#/components/parameters/project_id"}],"responses":{"200":{"description":"Detail info of the project","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApiResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Project"}}}]}}}},"400":{"$ref":"#/components/responses/400"},"404":{"$ref":"#/components/responses/404"},"500":{"$ref":"#/components/responses/500"}}}}}}
```
