API Docs
Projects

/:teamId/projects/slug/:slug


GET
  • Operation ID: projects-getBySlug
  • Summary: Get project by slug
  • Description: Gets a project by a unique slug.

Parameters

NameInRequiredTypeDescription
teamIdpathtruestringID of the team that the project belongs to.
slugpathtruestringUnique slug of the project being fetched.

Responses

200:

  • Description: Successful response
Content

application/json:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^c[^\\s-]{8,}$"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "nullable": true
    },
    "teamId": {
      "type": "string",
      "pattern": "^c[^\\s-]{8,}$"
    },
    "slug": {
      "type": "string",
      "minLength": 1
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "environment": {
      "type": "string",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "name",
    "teamId",
    "slug",
    "description",
    "environment",
    "createdAt"
  ],
  "additionalProperties": false
}

default:

  • Description:

/:teamId/projects/:id


GET
  • Operation ID: projects-getById
  • Summary: Get project
  • Description: Gets a project by a unique ID.

Parameters

NameInRequiredTypeDescription
teamIdpathtruestringID of the team that the project belongs to.
idpathtruestringID of the project being fetched.

Responses

200:

  • Description: Successful response
Content

application/json:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^c[^\\s-]{8,}$"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "nullable": true
    },
    "teamId": {
      "type": "string",
      "pattern": "^c[^\\s-]{8,}$"
    },
    "slug": {
      "type": "string",
      "minLength": 1
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "environment": {
      "type": "string",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "name",
    "teamId",
    "slug",
    "description",
    "environment",
    "createdAt"
  ],
  "additionalProperties": false
}

default:

  • Description:

/:teamId/projects/:id


PATCH
  • Operation ID: projects-update
  • Summary: Update project
  • Description: Updates a project by ID.

Parameters

NameInRequiredTypeDescription
idpathtruestringID of the project being updated.
teamIdpathtruestringID of the team that the project belongs to.

Responses

200:

  • Description: Successful response
Content

application/json:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^c[^\\s-]{8,}$"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "nullable": true
    },
    "teamId": {
      "type": "string",
      "pattern": "^c[^\\s-]{8,}$"
    },
    "slug": {
      "type": "string",
      "minLength": 1
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "environment": {
      "type": "string",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "name",
    "teamId",
    "slug",
    "description",
    "environment",
    "createdAt"
  ],
  "additionalProperties": false
}

default:

  • Description:

/:teamId/projects/:id


DELETE
  • Operation ID: projects-delete
  • Summary: Delete project
  • Description: Deletes a project by ID.

Parameters

NameInRequiredTypeDescription
idpathtruestringID of the project being deleted.
teamIdpathtruestringID of the team that the project belongs to.

Responses

200:

  • Description: Successful response
Content

application/json:

{}

default:

  • Description:

/:teamId/projects


POST
  • Operation ID: projects-create
  • Summary: Create project
  • Description: Create a project for a team. Projects are used to categorize resources within Moonbase.

Parameters

NameInRequiredTypeDescription
teamIdpathtruestringID of the team that the project belongs to.

Responses

200:

  • Description: Successful response
Content

application/json:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^c[^\\s-]{8,}$"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "nullable": true
    },
    "teamId": {
      "type": "string",
      "pattern": "^c[^\\s-]{8,}$"
    },
    "slug": {
      "type": "string",
      "minLength": 1
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "environment": {
      "type": "string",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "name",
    "teamId",
    "slug",
    "description",
    "environment",
    "createdAt"
  ],
  "additionalProperties": false
}

default:

  • Description:

/:teamId/projects


GET
  • Operation ID: projects-list
  • Summary: List projects
  • Description: Lists projects within a team.

Parameters

NameInRequiredTypeDescription
teamIdpathtruestringID of the team that the project belongs to.
takequeryfalseundefined
afterqueryfalsestring

Responses

200:

  • Description: Successful response
Content

application/json:

{
  "type": "object",
  "properties": {
    "nodes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^c[^\\s-]{8,}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "nullable": true
          },
          "teamId": {
            "type": "string",
            "pattern": "^c[^\\s-]{8,}$"
          },
          "slug": {
            "type": "string",
            "minLength": 1
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "environment": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "name",
          "teamId",
          "slug",
          "description",
          "environment",
          "createdAt"
        ],
        "additionalProperties": false
      }
    },
    "pageInfo": {
      "type": "object",
      "properties": {
        "hasNextPage": {
          "type": "boolean"
        },
        "hasPreviousPage": {
          "type": "boolean"
        },
        "startCursor": {
          "type": "string",
          "nullable": true
        },
        "endCursor": {
          "type": "string",
          "nullable": true
        }
      },
      "required": [
        "hasNextPage",
        "hasPreviousPage",
        "startCursor",
        "endCursor"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "nodes",
    "pageInfo"
  ],
  "additionalProperties": false
}

default:

  • Description:

/projects/:id/logs


POST
  • Operation ID: projectLogs-upsert
  • Summary: Push logs for a project
  • Description: Pushes logs for a specific project domain

Parameters

NameInRequiredTypeDescription
idpathtruestringID of the project.

Responses

200:

  • Description: Successful response
Content

application/json:

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    }
  },
  "required": [
    "success"
  ],
  "additionalProperties": false
}

default:

  • Description: