Crusoe Entities API

The Entities API from Crusoe — 1 operation(s) for entities.

OpenAPI Specification

crusoe-energy-entities-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: The API Gateway exposes all publicly available API endpoints for Crusoe Cloud products.
  title: Crusoe Cloud API Gateway Audit Logs Entities API
  version: v1alpha5
host: api.crusoecloud.com
basePath: /v1alpha5
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: Entities
paths:
  /organizations/entities:
    get:
      tags:
      - Entities
      summary: Retrieve details about all active organizations the logged in user belongs to.
      operationId: getOrganizations
      responses:
        '200':
          $ref: '#/responses/organizationsGetResponse'
        '401':
          $ref: '#/responses/authError'
        '500':
          $ref: '#/responses/serverError'
    put:
      description: A successful response from this resource will contain the updated organization details.
      tags:
      - Entities
      summary: Update details for an organization that the logged in user owns.
      operationId: updateOrganization
      parameters:
      - type: string
        example: ab4a6b00-aa5f-408e-a9fb-ac6de5eb45ab
        x-go-name: OrgID
        name: org_id
        in: query
        required: true
      - name: Body
        in: body
        required: true
        schema:
          $ref: '#/definitions/EntitiesPutPostRequest'
      responses:
        '200':
          $ref: '#/responses/organizationsPutPostResponse'
        '400':
          $ref: '#/responses/badReqError'
        '401':
          $ref: '#/responses/authError'
        '403':
          $ref: '#/responses/permissionsError'
        '500':
          $ref: '#/responses/serverError'
definitions:
  EntitiesPutPostResponse:
    type: object
    title: EntitiesPutPostResponse is the response type for PUT and POST requests to the entities endpoint.
    required:
    - entity
    properties:
      entity:
        $ref: '#/definitions/Entity'
    x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
  Entity:
    type: object
    title: Entity contains identifying information for an organization.
    required:
    - id
    - name
    - relation
    - billing
    - features
    - state
    - state_reason
    properties:
      billing:
        $ref: '#/definitions/Billing'
      billing_addr:
        $ref: '#/definitions/BillingAddress'
      features:
        type: object
        additionalProperties: {}
        x-go-name: Features
      id:
        type: string
        x-go-name: ID
        example: ab4a6b00-aa5f-408e-a9fb-ac6de5eb45ab
      mfa_methods:
        type: array
        items:
          $ref: '#/definitions/OrganizationMFA'
        x-go-name: MFAMethods
      name:
        type: string
        x-go-name: Name
        example: Crusoe Energy
      organization_type:
        type: string
        enum:
        - standard
        - enterprise
        x-go-name: OrganizationType
      registration_type:
        type: string
        x-go-name: RegistrationType
        example: waitlist
      relation:
        type: string
        x-go-name: Relation
        example: owner
      state:
        type: string
        x-go-name: State
      state_reason:
        type: string
        x-go-name: StateReason
    x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
  BillingAddress:
    type: object
    title: BillingAddress contains sensitive information related to the billing address for an entity.
    required:
    - address_line1
    - city
    - state_or_region
    - postal_code
    - country
    properties:
      address_line1:
        type: string
        x-go-name: AddressLine1
        example: 123 Main Street
      address_line2:
        type: string
        x-go-name: AddressLine2
        example: Suite 400
      city:
        type: string
        x-go-name: City
        example: Denver
      country:
        type: string
        x-go-name: Country
        example: US
      postal_code:
        type: string
        x-go-name: PostalCode
        example: '80202'
      state_or_region:
        type: string
        x-go-name: StateOrRegion
        example: Colorado
    x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
  OrganizationMFA:
    type: object
    title: OrganizationMFA contains details about a single required MFA method.
    required:
    - method
    - created_at
    properties:
      created_at:
        type: string
        x-go-name: CreatedAt
        example: '2021-12-03T19:58:34Z'
      method:
        type: string
        enum:
        - totp
        - webauthn
        x-go-name: Method
    x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
  EntitiesPutPostRequest:
    type: object
    title: EntitiesPutPostRequest is the request type for PUT and POST requests to the entities endpoint.
    properties:
      billing_addr:
        $ref: '#/definitions/BillingAddress'
      organization_name:
        type: string
        x-go-name: OrganizationName
        example: Crusoe Energy
    x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
  Billing:
    type: object
    title: Billing contains information about the billing status of an organization.
    required:
    - balance
    - has_valid_payment_method
    - delinquent
    properties:
      balance:
        type: string
        x-go-name: Balance
        example: $1000.00
      delinquent:
        type: boolean
        x-go-name: Delinquent
        example: false
      has_valid_payment_method:
        type: boolean
        x-go-name: HasValidPaymentMethod
        example: true
    x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
  ListEntitiesResponseV1Alpha5:
    type: object
    title: ListEntitiesResponseV1Alpha5 is the response type for GET requests to the entities endpoint.
    required:
    - items
    properties:
      items:
        type: array
        items:
          $ref: '#/definitions/Entity'
        x-go-name: Items
    x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
responses:
  serverError:
    description: Error Internal Server
    schema:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
          x-go-name: Code
          example: '500'
        message:
          type: string
          x-go-name: Message
          example: internal_error
  organizationsGetResponse:
    description: ''
    schema:
      $ref: '#/definitions/ListEntitiesResponseV1Alpha5'
  badReqError:
    description: Error Bad Request
    schema:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
          x-go-name: Code
          example: '400'
        message:
          type: string
          x-go-name: Message
          example: bad_request
  organizationsPutPostResponse:
    description: ''
    schema:
      $ref: '#/definitions/EntitiesPutPostResponse'
  permissionsError:
    description: Error Permissions
    schema:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
          x-go-name: Code
          example: '403'
        message:
          type: string
          x-go-name: Message
          example: unauthorized
  authError:
    description: Error Authentication Failed
    schema:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: string
          x-go-name: Code
          example: '401'
        message:
          type: string
          x-go-name: Message
          example: bad_credential
x-tagGroups:
- name: Compute
  tags:
  - VMs
  - VM Operations
  - Images
  - Instance Templates
  - Custom Images
  - Custom Image Operations
- name: Organizations
  tags:
  - Projects
  - Entities
  - Prospects
  - Billing
  - Usage
  - Quotas
  - Audit Logs
  - Reservations
- name: Users
  tags:
  - Identities
  - Roles
  - SSH Keys
  - Tokens
- name: Storage
  tags:
  - Disks
  - Disk Operations
  - Snapshots
  - Snapshot Operations
- name: Networking
  tags:
  - VPC Firewall Rules
  - VPC Firewall Rule Operations
  - VPC Networks
  - VPC Subnets
  - IB Partitions
  - Load Balancers
- name: Orchestration
  tags:
  - Kubernetes Clusters
  - Kubernetes Cluster Operations
  - Kubernetes Node Pools
  - Kubernetes Node Pool Operations
  - Kubernetes Versions
  - AutoClusters
  - AutoCluster Operations
- name: Locations
  tags:
  - Locations
- name: Capacities
  tags:
  - Capacities