# Lifecycle scripts

## List Lifecycle Scripts

> Get all lifecycle scripts visible to user in a project

```json
{"openapi":"3.1.0","info":{"title":"Mithril","version":"1.0.0"},"servers":[{"url":"https://api.mithril.ai"}],"security":[{"MithrilAPIKey":[]}],"components":{"securitySchemes":{"MithrilAPIKey":{"type":"http","scheme":"bearer","bearerFormat":"fkey_<key>"}},"schemas":{"SortDirection":{"type":"string","enum":["asc","desc"]},"ListLifecycleScriptsResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/LifecycleScriptModel"},"type":"array","title":"Data"},"next_cursor":{"type":"string","nullable":true}},"type":"object","required":["data"],"title":"ListLifecycleScriptsResponse"},"LifecycleScriptModel":{"properties":{"fid":{"type":"string","title":"Fid"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"content_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Content Url"},"project":{"type":"string","title":"Project"},"created_at":{"type":"string","format":"datetime","title":"Created At"},"created_by":{"type":"string","title":"Created By"},"last_modified_at":{"type":"string","format":"datetime","title":"Last Modified At"},"last_modified_by":{"type":"string","title":"Last Modified By"},"scope":{"$ref":"#/components/schemas/LifecycleScriptScope"}},"type":"object","required":["fid","name","description","content_url","project","created_at","created_by","last_modified_at","last_modified_by","scope"],"title":"LifecycleScriptModel"},"LifecycleScriptScope":{"type":"string","enum":["PROJECT","ORGANIZATION","PLATFORM"]},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"oneOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/v2/lifecycle-scripts":{"get":{"tags":["lifecycle scripts"],"summary":"List Lifecycle Scripts","description":"Get all lifecycle scripts visible to user in a project","operationId":"list_lifecycle_scripts_v2_lifecycle_scripts_get","parameters":[{"name":"next_cursor","in":"query","required":false,"schema":{"nullable":true}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["created_at","last_modified_at"],"type":"string","nullable":true}},{"name":"sort_dir","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortDirection","nullable":true}},{"name":"project","in":"query","required":true,"schema":{"type":"string","title":"Project"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"nullable":true}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListLifecycleScriptsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## Create Lifecycle Script

> Create a new lifecycle script

```json
{"openapi":"3.1.0","info":{"title":"Mithril","version":"1.0.0"},"servers":[{"url":"https://api.mithril.ai"}],"security":[{"MithrilAPIKey":[]}],"components":{"securitySchemes":{"MithrilAPIKey":{"type":"http","scheme":"bearer","bearerFormat":"fkey_<key>"}},"schemas":{"CreateLifecycleScriptRequest":{"properties":{"project":{"type":"string","title":"Project"},"name":{"type":"string","minLength":1,"title":"Name"},"content":{"type":"string","minLength":1,"title":"Content"},"description":{"type":"string","nullable":true},"scope":{"$ref":"#/components/schemas/PublicLifecycleScriptScope","default":"PROJECT"}},"type":"object","required":["project","name","content"],"title":"CreateLifecycleScriptRequest"},"PublicLifecycleScriptScope":{"type":"string","enum":["PROJECT","ORGANIZATION"]},"LifecycleScriptModel":{"properties":{"fid":{"type":"string","title":"Fid"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"content_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Content Url"},"project":{"type":"string","title":"Project"},"created_at":{"type":"string","format":"datetime","title":"Created At"},"created_by":{"type":"string","title":"Created By"},"last_modified_at":{"type":"string","format":"datetime","title":"Last Modified At"},"last_modified_by":{"type":"string","title":"Last Modified By"},"scope":{"$ref":"#/components/schemas/LifecycleScriptScope"}},"type":"object","required":["fid","name","description","content_url","project","created_at","created_by","last_modified_at","last_modified_by","scope"],"title":"LifecycleScriptModel"},"LifecycleScriptScope":{"type":"string","enum":["PROJECT","ORGANIZATION","PLATFORM"]},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"oneOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/v2/lifecycle-scripts":{"post":{"tags":["lifecycle scripts"],"summary":"Create Lifecycle Script","description":"Create a new lifecycle script","operationId":"create_lifecycle_script_v2_lifecycle_scripts_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLifecycleScriptRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LifecycleScriptModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## GET /v2/lifecycle-scripts/{ls\_fid}/content

> Get Lifecycle Script Content

```json
{"openapi":"3.1.0","info":{"title":"Mithril","version":"1.0.0"},"servers":[{"url":"https://api.mithril.ai"}],"security":[{"MithrilAPIKey":[]}],"components":{"securitySchemes":{"MithrilAPIKey":{"type":"http","scheme":"bearer","bearerFormat":"fkey_<key>"}},"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"oneOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/v2/lifecycle-scripts/{ls_fid}/content":{"get":{"tags":["lifecycle scripts"],"summary":"Get Lifecycle Script Content","operationId":"get_lifecycle_script_content_v2_lifecycle_scripts__ls_fid__content_get","parameters":[{"name":"ls_fid","in":"path","required":true,"schema":{"type":"string","title":"Ls Fid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## DELETE /v2/lifecycle-scripts/{ls\_fid}

> Delete Lifecycle Script

```json
{"openapi":"3.1.0","info":{"title":"Mithril","version":"1.0.0"},"servers":[{"url":"https://api.mithril.ai"}],"security":[{"MithrilAPIKey":[]}],"components":{"securitySchemes":{"MithrilAPIKey":{"type":"http","scheme":"bearer","bearerFormat":"fkey_<key>"}},"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"oneOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/v2/lifecycle-scripts/{ls_fid}":{"delete":{"tags":["lifecycle scripts"],"summary":"Delete Lifecycle Script","operationId":"delete_lifecycle_script_v2_lifecycle_scripts__ls_fid__delete","parameters":[{"name":"ls_fid","in":"path","required":true,"schema":{"type":"string","title":"Ls Fid"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```

## PATCH /v2/lifecycle-scripts/{ls\_fid}

> Update Lifecycle Script

```json
{"openapi":"3.1.0","info":{"title":"Mithril","version":"1.0.0"},"servers":[{"url":"https://api.mithril.ai"}],"security":[{"MithrilAPIKey":[]}],"components":{"securitySchemes":{"MithrilAPIKey":{"type":"http","scheme":"bearer","bearerFormat":"fkey_<key>"}},"schemas":{"UpdateLifecycleScriptRequest":{"properties":{"name":{"type":"string","minLength":1,"nullable":true},"description":{"type":"string","nullable":true},"scope":{"$ref":"#/components/schemas/PublicLifecycleScriptScope","nullable":true}},"type":"object","title":"UpdateLifecycleScriptRequest"},"PublicLifecycleScriptScope":{"type":"string","enum":["PROJECT","ORGANIZATION"]},"LifecycleScriptModel":{"properties":{"fid":{"type":"string","title":"Fid"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"content_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Content Url"},"project":{"type":"string","title":"Project"},"created_at":{"type":"string","format":"datetime","title":"Created At"},"created_by":{"type":"string","title":"Created By"},"last_modified_at":{"type":"string","format":"datetime","title":"Last Modified At"},"last_modified_by":{"type":"string","title":"Last Modified By"},"scope":{"$ref":"#/components/schemas/LifecycleScriptScope"}},"type":"object","required":["fid","name","description","content_url","project","created_at","created_by","last_modified_at","last_modified_by","scope"],"title":"LifecycleScriptModel"},"LifecycleScriptScope":{"type":"string","enum":["PROJECT","ORGANIZATION","PLATFORM"]},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"oneOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/v2/lifecycle-scripts/{ls_fid}":{"patch":{"tags":["lifecycle scripts"],"summary":"Update Lifecycle Script","operationId":"update_lifecycle_script_v2_lifecycle_scripts__ls_fid__patch","parameters":[{"name":"ls_fid","in":"path","required":true,"schema":{"type":"string","title":"Ls Fid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLifecycleScriptRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LifecycleScriptModel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}}}
```


---

# 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://docs.mithril.ai/compute-api/compute-api-reference/lifecycle-scripts.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.
