{
  "opencollection": "1.0.0",
  "info": {
    "name": "Tessl Admin Keys Projects API",
    "version": "1.0.0"
  },
  "items": [
    {
      "info": {
        "name": "Projects",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List projects",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.tessl.io/v1/projects",
            "headers": [
              {
                "name": "Authorization",
                "value": "Bearer <token>"
              }
            ],
            "params": [
              {
                "name": "sort",
                "value": "",
                "type": "query"
              },
              {
                "name": "page[size]",
                "value": "",
                "type": "query"
              },
              {
                "name": "page[after]",
                "value": "",
                "type": "query"
              },
              {
                "name": "page[before]",
                "value": "",
                "type": "query"
              },
              {
                "name": "filter[workspaceId]",
                "value": "",
                "type": "query"
              },
              {
                "name": "filter[workspaceId][eq]",
                "value": "",
                "type": "query"
              },
              {
                "name": "filter[name]",
                "value": "",
                "type": "query"
              },
              {
                "name": "filter[name][eq]",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "Lists projects, optionally filtered by workspace and name."
        },
        {
          "info": {
            "name": "Create a project",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.tessl.io/v1/projects",
            "headers": [
              {
                "name": "Authorization",
                "value": "Bearer <token>"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a project bound to a workspace and a source repository."
        },
        {
          "info": {
            "name": "Get a project",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.tessl.io/v1/projects/:projectId",
            "headers": [
              {
                "name": "Authorization",
                "value": "Bearer <token>"
              }
            ],
            "params": [
              {
                "name": "projectId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Fetches a project by id."
        },
        {
          "info": {
            "name": "Update a project",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.tessl.io/v1/projects/:projectId",
            "headers": [
              {
                "name": "Authorization",
                "value": "Bearer <token>"
              }
            ],
            "params": [
              {
                "name": "projectId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates a project (rename, or replace source binding)."
        },
        {
          "info": {
            "name": "Delete a project",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.tessl.io/v1/projects/:projectId",
            "headers": [
              {
                "name": "Authorization",
                "value": "Bearer <token>"
              }
            ],
            "params": [
              {
                "name": "projectId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Soft-deletes a project: removes it from normal reads and frees its name and source binding for reuse, but preserves eval-run and scenario-generation history. Who deleted it is recorded in the audit log."
        },
        {
          "info": {
            "name": "Validate a project source binding",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.tessl.io/v1/projects/validate",
            "headers": [
              {
                "name": "Authorization",
                "value": "Bearer <token>"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Validates whether a locator/source pair maps to an existing project, surfacing drift or conflicts."
        }
      ]
    }
  ],
  "bundled": true
}