Equinix Organizations API

Organizations Management. Check out the product docs to learn more about [Organizations](https://metal.equinix.com/developers/docs/accounts/).

OpenAPI Specification

equinix-organizations-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Equinix API Authentication Organizations API
  description: 'Equinix APIs use the OAuth 2.0 for authentication and authorization. Equinix supports the resource owner password and the client credentials flow.

    To begin, obtain OAuth 2.0 client credentials from the Equinix Developer Console under "My Apps". Then your client application  requests an access token from the Equinix API Authorization endpoint, extracts the access_token from the response, and sends the Bearer token to the API that you want to access'
  termsOfService: https://www.equinix.com/about/legal/terms
  contact:
    name: Equinix API Support
    url: https://docs.equinix.com/api-support.htm
  version: '1.2'
servers:
- url: https://api.equinix.com
tags:
- description: Organizations Management. Check out the product docs to learn more about [Organizations](https://metal.equinix.com/developers/docs/accounts/).
  name: Organizations
paths:
  /organizations:
    get:
      description: Returns a list of organizations that are accessible to the current user.
      operationId: findOrganizations
      parameters:
      - description: Include, exclude or show only personal organizations.
        in: query
        name: personal
        schema:
          $ref: '#/components/schemas/findOrganizations_personal_parameter'
      - description: Include, exclude or show only organizations that have no projects.
        in: query
        name: without_projects
        schema:
          $ref: '#/components/schemas/findOrganizations_personal_parameter'
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      - description: Page to return
        in: query
        name: page
        schema:
          default: 1
          format: int32
          maximum: 100000
          minimum: 1
          type: integer
      - description: Items returned per page
        in: query
        name: per_page
        schema:
          default: 10
          format: int32
          maximum: 1000
          minimum: 1
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationList'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
      summary: Retrieve all organizations
      tags:
      - Organizations
      x-equinix-metal-paginated-property: Organizations
    post:
      description: Creates an organization.
      operationId: createOrganization
      parameters:
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationInput'
        description: Organization to create
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
          description: created
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unprocessable entity
      summary: Create an organization
      tags:
      - Organizations
  /organizations/{id}:
    delete:
      description: Deletes the organization.
      operationId: deleteOrganization
      parameters:
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '204':
          description: no content
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
      summary: Delete the organization
      tags:
      - Organizations
    get:
      description: Returns a single organization's details, if the user is authorized to view it.
      operationId: findOrganizationById
      parameters:
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
      summary: Retrieve an organization's details
      tags:
      - Organizations
    put:
      description: Updates the organization.
      operationId: updateOrganization
      parameters:
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationInput'
        description: Organization to update
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unprocessable entity
      summary: Update the organization
      tags:
      - Organizations
  /organizations/{id}/customdata:
    get:
      description: Provides the custom metadata stored for this organization in json format
      operationId: findOrganizationCustomdata
      parameters:
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
      summary: Retrieve the custom metadata of an organization
      tags:
      - Organizations
  /organizations/{id}/invitations:
    get:
      description: Returns all invitations in an organization.
      operationId: findOrganizationInvitations
      parameters:
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: Page to return
        in: query
        name: page
        schema:
          default: 1
          format: int32
          maximum: 100000
          minimum: 1
          type: integer
      - description: Items returned per page
        in: query
        name: per_page
        schema:
          default: 10
          format: int32
          maximum: 1000
          minimum: 1
          type: integer
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvitationList'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
      summary: Retrieve organization invitations
      tags:
      - Organizations
    post:
      description: 'In order to add a user to an organization, they must first be invited.

        To invite to several projects the parameter `projects_ids:[a,b,c]` can be used'
      operationId: createOrganizationInvitation
      parameters:
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      requestBody:
        $ref: '#/components/requestBodies/InvitationInput'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invitation'
          description: created
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unprocessable entity
      summary: Create an invitation for an organization
      tags:
      - Organizations
  /organizations/{id}/operating-systems:
    get:
      description: Returns a listing of available operating systems for the given organization
      operationId: findOperatingSystemsByOrganization
      parameters:
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatingSystemList'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
      summary: Retrieve all operating systems visible by the organization
      tags:
      - Organizations
  /organizations/{id}/payment-methods:
    get:
      description: Returns all payment methods of an organization.
      operationId: findOrganizationPaymentMethods
      parameters:
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: Page to return
        in: query
        name: page
        schema:
          default: 1
          format: int32
          maximum: 100000
          minimum: 1
          type: integer
      - description: Items returned per page
        in: query
        name: per_page
        schema:
          default: 10
          format: int32
          maximum: 1000
          minimum: 1
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethodList'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
      summary: Retrieve all payment methods of an organization
      tags:
      - Organizations
    post:
      description: Creates a payment method.
      operationId: createPaymentMethod
      parameters:
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentMethodCreateInput'
        description: Payment Method to create
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethod'
          description: created
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unprocessable entity
      summary: Create a payment method for the given organization
      tags:
      - Organizations
  /organizations/{id}/plans:
    get:
      description: Returns a listing of available plans for the given organization
      operationId: findPlansByOrganization
      parameters:
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanList'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
      summary: Retrieve all plans visible by the organization
      tags:
      - Organizations
  /organizations/{id}/projects:
    get:
      description: Returns a collection of projects that belong to the organization.
      operationId: findOrganizationProjects
      parameters:
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: Filter results by name.
        in: query
        name: name
        schema:
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      - description: Page to return
        in: query
        name: page
        schema:
          default: 1
          format: int32
          maximum: 100000
          minimum: 1
          type: integer
      - description: Items returned per page
        in: query
        name: per_page
        schema:
          default: 10
          format: int32
          maximum: 1000
          minimum: 1
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectList'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
      summary: Retrieve all projects of an organization
      tags:
      - Organizations
      x-equinix-metal-paginated-property: Projects
    post:
      description: Creates a new project for the organization
      operationId: createOrganizationProject
      parameters:
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectCreateInput'
        description: Project to create
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: created
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unprocessable entity
      summary: Create a project for the organization
      tags:
      - Organizations
  /organizations/{id}/transfers:
    get:
      description: Provides a collection of project transfer requests from or to the organization.
      operationId: findOrganizationTransfers
      parameters:
      - description: Organization UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferRequestList'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: forbidden
      summary: Retrieve all project transfer requests from or to an organization
      tags:
      - Organizations
components:
  schemas:
    Plan_specs_drives_inner_category:
      enum:
      - boot
      - cache
      - storage
      type: string
    Meta:
      example:
        next:
          href: href
        total: 0
        last:
          href: href
        previous:
          href: href
        last_page: 1
        self:
          href: href
        first:
          href: href
        current_page: 6
      properties:
        first:
          $ref: '#/components/schemas/Href'
        last:
          $ref: '#/components/schemas/Href'
        next:
          $ref: '#/components/schemas/Href'
        previous:
          $ref: '#/components/schemas/Href'
        self:
          $ref: '#/components/schemas/Href'
        total:
          type: integer
        current_page:
          type: integer
        last_page:
          type: integer
      type: object
    Plan_available_in_inner_price:
      example:
        hour: 1.23
      properties:
        hour:
          example: 1.23
          format: double
          type: number
      type: object
    Plan_specs:
      example:
        features:
          txt: true
          uefi: true
          raid: true
        memory:
          total: total
        cpus:
        - count: 6
          type: type
        - count: 6
          type: type
        drives:
        - size: 3.84TB
          count: 1
          type: type
          category: null
        - size: 3.84TB
          count: 1
          type: type
          category: null
        nics:
        - count: 2
          type: type
        - count: 2
          type: type
      properties:
        cpus:
          items:
            $ref: '#/components/schemas/Plan_specs_cpus_inner'
          type: array
        memory:
          $ref: '#/components/schemas/Plan_specs_memory'
        drives:
          items:
            $ref: '#/components/schemas/Plan_specs_drives_inner'
          type: array
        nics:
          items:
            $ref: '#/components/schemas/Plan_specs_nics_inner'
          type: array
        features:
          $ref: '#/components/schemas/Plan_specs_features'
      type: object
    PaymentMethod:
      example:
        projects:
        - href: href
        - href: href
        created_at: 2000-01-23 04:56:07+00:00
        billing_address:
          street_address: street_address
          country_code_alpha2: country_code_alpha2
          postal_code: postal_code
        card_type: card_type
        cardholder_name: cardholder_name
        type: type
        created_by_user:
          href: href
        expiration_year: expiration_year
        default: true
        updated_at: 2000-01-23 04:56:07+00:00
        organization:
          href: href
        expiration_month: expiration_month
        name: name
        id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        email: email
      properties:
        billing_address:
          $ref: '#/components/schemas/PaymentMethodBillingAddress'
        card_type:
          type: string
        cardholder_name:
          type: string
        created_at:
          format: date-time
          type: string
        created_by_user:
          $ref: '#/components/schemas/Href'
        default:
          type: boolean
        email:
          type: string
        expiration_month:
          type: string
        expiration_year:
          type: string
        id:
          format: uuid
          type: string
        name:
          type: string
        organization:
          $ref: '#/components/schemas/Href'
        projects:
          items:
            $ref: '#/components/schemas/Href'
          type: array
        type:
          type: string
        updated_at:
          format: date-time
          type: string
      type: object
    ProjectList:
      example:
        projects:
        - devices:
          - href: href
          - href: href
          volumes:
          - href: href
          - href: href
          created_at: 2000-01-23 04:56:07+00:00
          type: null
          memberships:
          - href: href
          - href: href
          bgp_config:
            href: href
          tags:
          - tags
          - tags
          max_devices: '{}'
          ssh_keys:
          - href: href
          - href: href
          updated_at: 2000-01-23 04:56:07+00:00
          invitations:
          - href: href
          - href: href
          members:
          - href: href
          - href: href
          organization:
            website: website
            address:
              country: country
              address: address
              address2: address2
              city: city
              coordinates:
                latitude: latitude
                longitude: longitude
              state: state
              zip_code: zip_code
            projects:
            - href: href
            - href: href
            credit_amount: 1.4658129
            created_at: 2000-01-23 04:56:07+00:00
            description: description
            billing_address:
              country: country
              address: address
              address2: address2
              city: city
              coordinates:
                latitude: latitude
                longitude: longitude
              state: state
              zip_code: zip_code
            memberships:
            - href: href
            - href: href
            enforce_2fa_at: 2000-01-23 04:56:07+00:00
            twitter: twitter
            updated_at: 2000-01-23 04:56:07+00:00
            terms: 5
            members:
            - href: href
            - href: href
            name: name
            logo: logo
            customdata: '{}'
            id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          name: name
          network_status: '{}'
          customdata: '{}'
          href: href
          id: 0

# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/equinix/refs/heads/main/openapi/equinix-organizations-api-openapi.yml