Google Cloud Platform · Arazzo Workflow

Google Cloud Platform Delete and Restore Project

Version 1.0.0

Mark a project for deletion, confirm DELETE_REQUESTED, then undelete it back to active.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub API ManagementCloud ComputingInfrastructurePlatform-as-a-ServiceArazzoWorkflows

Provider

google-cloud-platform

Workflows

delete-and-restore-project
Delete a project then restore it within the grace period.
Marks a project for deletion, waits for the delete operation, then undeletes it and waits for the restore operation.
5 steps inputs: projectId outputs: deleteOperation, undeleteOperation
1
getProject
Read the project to confirm it exists and capture its starting state.
2
deleteProject
Mark the project for deletion. Returns a long-running Operation whose name is used to poll for completion.
3
pollDelete
Poll the delete operation by name until the done flag is true.
4
undeleteProject
Restore the project from DELETE_REQUESTED within the grace period. Returns a long-running Operation whose name is used to poll.
5
pollUndelete
Poll the undelete operation by name until the done flag is true.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Google Cloud Platform Delete and Restore Project
  summary: Mark a project for deletion, confirm DELETE_REQUESTED, then undelete it back to active.
  description: >-
    Exercises the project deletion grace period. The workflow reads the project,
    marks it for deletion (which moves it to DELETE_REQUESTED), polls the delete
    operation until done, and then restores the project with undelete before
    polling that operation to completion. Every step spells out its request
    inline so the flow can be read and executed without opening the underlying
    OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: operationsApi
  url: ../openapi/google-cloud-platform-operations-api-openapi.yml
  type: openapi
- name: projectsApi
  url: ../openapi/google-cloud-platform-projects-api-openapi.yml
  type: openapi
workflows:
- workflowId: delete-and-restore-project
  summary: Delete a project then restore it within the grace period.
  description: >-
    Marks a project for deletion, waits for the delete operation, then undeletes
    it and waits for the restore operation.
  inputs:
    type: object
    required:
    - projectId
    properties:
      projectId:
        type: string
        description: The project id to delete and restore (e.g. my-app-prod-123).
  steps:
  - stepId: getProject
    description: >-
      Read the project to confirm it exists and capture its starting state.
    operationId: cloudresourcemanager.projects.get
    parameters:
    - name: projectId
      in: path
      value: $inputs.projectId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      startingState: $response.body#/state
  - stepId: deleteProject
    description: >-
      Mark the project for deletion. Returns a long-running Operation whose
      name is used to poll for completion.
    operationId: cloudresourcemanager.projects.delete
    parameters:
    - name: projectId
      in: path
      value: $inputs.projectId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      operationName: $response.body#/name
  - stepId: pollDelete
    description: >-
      Poll the delete operation by name until the done flag is true.
    operationId: cloudresourcemanager.operations.get
    parameters:
    - name: name
      in: path
      value: $steps.deleteProject.outputs.operationName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      done: $response.body#/done
    onSuccess:
    - name: deleteComplete
      type: goto
      stepId: undeleteProject
      criteria:
      - context: $response.body
        condition: $.done == true
        type: jsonpath
    - name: deleteRunning
      type: goto
      stepId: pollDelete
      criteria:
      - context: $response.body
        condition: $.done == false
        type: jsonpath
  - stepId: undeleteProject
    description: >-
      Restore the project from DELETE_REQUESTED within the grace period.
      Returns a long-running Operation whose name is used to poll.
    operationId: cloudresourcemanager.projects.undelete
    parameters:
    - name: projectId
      in: path
      value: $inputs.projectId
    requestBody:
      contentType: application/json
      payload: {}
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      operationName: $response.body#/name
  - stepId: pollUndelete
    description: >-
      Poll the undelete operation by name until the done flag is true.
    operationId: cloudresourcemanager.operations.get
    parameters:
    - name: name
      in: path
      value: $steps.undeleteProject.outputs.operationName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      done: $response.body#/done
    onSuccess:
    - name: undeleteComplete
      type: end
      criteria:
      - context: $response.body
        condition: $.done == true
        type: jsonpath
    - name: undeleteRunning
      type: goto
      stepId: pollUndelete
      criteria:
      - context: $response.body
        condition: $.done == false
        type: jsonpath
  outputs:
    deleteOperation: $steps.deleteProject.outputs.operationName
    undeleteOperation: $steps.undeleteProject.outputs.operationName

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/google-cloud-platform-delete-and-restore-project-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.