openapi: 3.0.1
info:
title: Equinix API Authentication Company Profiles 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:
- name: Company Profiles
description: Company Profiles Beta
paths:
/fabric/v4/companyProfiles:
post:
tags:
- Company Profiles
summary: Create Company Profile
description: Create a new company profile Beta
operationId: createCompanyProfile
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyProfileRequest'
required: true
responses:
'201':
description: Company profile created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyProfileResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
/fabric/v4/companyProfiles/{companyProfileId}:
get:
tags:
- Company Profiles
summary: Get Company Profile by UUID
description: Get company profile details by UUID Beta
operationId: getCompanyProfile
parameters:
- name: companyProfileId
in: path
description: Company Profile UUID
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyProfileResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
delete:
tags:
- Company Profiles
summary: Delete Company Profile
description: Delete company profile by UUID Beta
operationId: deleteCompanyProfile
parameters:
- name: companyProfileId
in: path
description: Company Profile UUID
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyProfileResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
/fabric/v4/companyProfiles/search:
post:
tags:
- Company Profiles
summary: Search Company Profiles
description: Search company profiles based on filter criteria Beta
operationId: searchCompanyProfile
parameters:
- name: viewPoint
in: query
description: Viewpoint for the request, either 'aSide' or 'zSide'
required: false
schema:
type: string
default: aSide
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyProfileSearchRequest'
required: true
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyProfileSearchResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
/fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles:
get:
tags:
- Company Profiles
summary: Get Service Profiles
description: Get all service profiles attached to a company profile Beta
operationId: getCompanyProfileServiceProfiles
parameters:
- name: companyProfileId
in: path
description: Company Profile UUID
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceProfileListResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
/fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles/{serviceProfileId}:
put:
tags:
- Company Profiles
summary: Attach Service Profile
description: Attach a service profile to a company profile Beta
operationId: attachServiceProfileToProfile
parameters:
- name: companyProfileId
in: path
description: Company Profile UUID
required: true
schema:
type: string
- name: serviceProfileId
in: path
description: Service Profile UUID
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/AttachServiceProfileResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
delete:
tags:
- Company Profiles
summary: Detach Service Profile
description: Detach a service profile from a company profile Beta
operationId: detachServiceProfileFromProfile
parameters:
- name: companyProfileId
in: path
description: Company Profile UUID
required: true
schema:
type: string
- name: serviceProfileId
in: path
description: Service Profile UUID
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/AttachServiceProfileResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
/fabric/v4/companyProfiles/{companyProfileId}/tags:
get:
tags:
- Company Profiles
summary: Get Tags
description: Get all tags attached to a company profile Beta
operationId: getTags
parameters:
- name: companyProfileId
in: path
description: Company Profile UUID
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/TagListResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
/fabric/v4/companyProfiles/{companyProfileId}/tags/{tagId}:
put:
tags:
- Company Profiles
summary: Attach Tag
description: Attach a tag to a company profile Beta
operationId: attachTagToProfile
parameters:
- name: companyProfileId
in: path
description: Company Profile UUID
required: true
schema:
type: string
- name: tagId
in: path
description: Tag UUID
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/AttachTagResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
delete:
tags:
- Company Profiles
summary: Detach Tag
description: Detach a tag from a company profile Beta
operationId: detachTagFromProfile
parameters:
- name: companyProfileId
in: path
description: Company Profile UUID
required: true
schema:
type: string
- name: tagId
in: path
description: Tag UUID
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/AttachTagResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
/fabric/v4/companyProfiles/{companyProfileId}/privateServices:
get:
tags:
- Company Profiles
summary: Get Private Services
description: Get all private services attached to a company profile Beta
operationId: getCompanyProfilePrivateServices
parameters:
- name: companyProfileId
in: path
description: Company Profile UUID
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateServiceListResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
/fabric/v4/companyProfiles/{companyProfileId}/privateServices/{privateServiceId}:
put:
tags:
- Company Profiles
summary: Attach Private Service
description: Attach a private service to a company profile Beta
operationId: attachPrivateServiceToProfile
parameters:
- name: companyProfileId
in: path
description: Company Profile UUID
required: true
schema:
type: string
- name: privateServiceId
in: path
description: Private Service UUID
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/AttachPrivateServiceResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
delete:
tags:
- Company Profiles
summary: Detach Private Service
description: Detach a private service from a company profile Beta
operationId: detachPrivateServiceFromProfile
parameters:
- name: companyProfileId
in: path
description: Company Profile UUID
required: true
schema:
type: string
- name: privateServiceId
in: path
description: Private Service UUID
required: true
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/AttachPrivateServiceResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorList'
components:
schemas:
TagResponse:
type: object
properties:
href:
type: string
format: uri
example: https://api.equinix.com/fabric/v4/tags/18a127ad-9d0c-46e2-a66d-8ed85d1858b0
uuid:
type: string
format: uuid
example: 18a127ad-9d0c-46e2-a66d-8ed85d1858b0
type:
type: string
example: RESOURCE_TAG
name:
type: string
example: environment
displayName:
type: string
example: Environment
weight:
type: integer
example: 10000
description: Equinix Fabric Tag Response Object
PriceError_additionalInfo:
type: object
properties:
property:
type: string
reason:
type: string
CompanyProfileChangeItem:
type: object
Notification:
type: object
Pagination:
required:
- limit
- total
type: object
properties:
offset:
minimum: 0
type: integer
description: Index of the first item returned in the response. The default is 0.
default: 0
limit:
minimum: 0
type: integer
description: Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20.
default: 20
total:
minimum: 0
type: integer
description: Total number of elements returned.
next:
type: string
description: URL relative to the next item in the response.
previous:
type: string
description: URL relative to the previous item in the response.
description: Pagination response information
AttachPrivateServiceResponse:
required:
- type
- uuid
type: object
properties:
href:
type: string
description: URL to the attached private service
example: https://api.equinix.com/fabric/v4/privateServices/460af68b-42f0-4f2e-9c5c-2fbd44b4b387
type:
type: string
description: Type of the private service or attachment
example: PRIVATE_SERVICE
uuid:
type: string
description: Unique identifier for the private service
example: 460af68b-42f0-4f2e-9c5c-2fbd44b4b387
attachmentStatus:
type: string
description: Status of the attachment operation
example: ATTACHED
AttachServiceProfileResponse:
required:
- type
- uuid
type: object
properties:
href:
type: string
description: URL to the attached service profile
example: https://api.equinix.com/fabric/v4/serviceProfiles/423af68b-42f0-4f2e-9c5c-2fbd44b4b387
type:
type: string
description: Type of the service or attachment
example: SERVICE_PROFILE
uuid:
type: string
description: Unique identifier for the service profile
example: 423af68b-42f0-4f2e-9c5c-2fbd44b4b387
attachmentStatus:
type: string
description: Status of the attachment operation
example: ATTACHED
PrivateServiceListResponse:
type: object
properties:
data:
type: array
description: List of private services
example:
- href: https://api.equinix.com/fabric/v4/privateServices/460af68b-42f0-4f2e-9c5c-2fbd44b4b387
uuid: 460af68b-42f0-4f2e-9c5c-2fbd44b4b387
items:
$ref: '#/components/schemas/PrivateService'
ErrorList:
type: array
description: List of Error Message
items:
$ref: '#/components/schemas/Error'
Changelog:
type: object
properties:
createdBy:
type: string
description: Created by User Key
example: johnsmith
createdByFullName:
type: string
description: Created by User Full Name
example: John Smith
createdByEmail:
type: string
description: Created by User Email Address
example: john.smith@example.com
createdDateTime:
type: string
description: Created by Date and Time
format: date-time
example: 2020-11-06 07:00:00+00:00
updatedBy:
type: string
description: Updated by User Key
example: johnsmith
updatedByFullName:
type: string
description: Updated by User Full Name
example: John Smith
updatedByEmail:
type: string
description: Updated by User Email Address
example: john.smith@example.com
updatedDateTime:
type: string
description: Updated by Date and Time
format: date-time
example: 2020-11-06 07:00:00+00:00
deletedBy:
type: string
description: Deleted by User Key
example: johnsmith
deletedByFullName:
type: string
description: Deleted by User Full Name
example: John Smith
deletedByEmail:
type: string
description: Deleted by User Email Address
example: john.smith@example.com
deletedDateTime:
type: string
description: Deleted by Date and Time
format: date-time
example: 2020-11-06 07:00:00+00:00
description: Change log
CompanyProfileChange:
type: object
properties:
uuid:
type: string
type:
type: string
status:
type: string
createdDateTime:
type: string
format: date-time
updatedDateTime:
type: string
format: date-time
data:
$ref: '#/components/schemas/CompanyProfileChangeItem'
CompanyProfileSearchResponse:
required:
- data
- pagination
type: object
properties:
pagination:
$ref: '#/components/schemas/Pagination'
data:
type: array
items:
$ref: '#/components/schemas/CompanyProfileResponse'
CompanyProfileSortDirection:
type: string
description: Sorting direction
default: ASC
enum:
- DESC
- ASC
CompanyProfileRequest:
required:
- description
- name
- summary
- type
type: object
properties:
type:
type: string
example: COMPANY_PROFILE
name:
maxLength: 50
minLength: 1
type: string
example: Equinix
summary:
maxLength: 125
minLength: 1
type: string
example: Global interconnection and data center company
description:
maxLength: 450
minLength: 1
type: string
example: Equinix, Inc. connects the world's leading businesses to their customers, employees and partners inside the most interconnected data centers.
notifications:
type: array
example:
- type: CONTACT
emails:
- example@example.com
- type: NOTIFICATION
emails:
- example@example.com
items:
$ref: '#/components/schemas/Notification'
webUrl:
type: string
example: https://www.equinix.com
contactUrl:
type: string
example: https://www.equinix.com/contact-us
CompanyProfileResponse_account:
type: object
properties:
rootOrgId:
type: string
CompanyProfileSearchFieldName:
type: string
description: Searchable field names in company profile
example: /tags/name
CompanyProfileResponse:
type: object
properties:
href:
type: string
example: https://api.equinix.com/fabric/v4/companyProfiles/123e4567-e89b-12d3-a456-426614174000
uuid:
type: string
example: 123e4567-e89b-12d3-a456-426614174000
type:
type: string
example: COMPANY_PROFILE
name:
maxLength: 50
minLength: 1
type: string
example: Equinix
summary:
maxLength: 125
minLength: 1
type: string
example: Global interconnection and data center company
description:
maxLength: 450
minLength: 1
type: string
example: Equinix, Inc. connects the world's leading businesses to their customers, employees and partners inside the most interconnected data centers.
state:
$ref: '#/components/schemas/CompanyProfileState'
account:
$ref: '#/components/schemas/CompanyProfileResponse_account'
metros:
type: array
example:
- href: https://api.equinix.com/fabric/v4/metros/SV
code: SV
name: Silicon Valley
items:
$ref: '#/components/schemas/CompanyMetro'
logo:
$ref: '#/components/schemas/CompanyLogo'
tags:
type: array
example:
- href: https://api.equinix.com/fabric/v4/tags/260af68b-42f0-4f2e-9c5c-2fbd44b4b387
uuid: 260af68b-42f0-4f2e-9c5c-2fbd44b4b387
items:
$ref: '#/components/schemas/TagResponse'
serviceProfiles:
type: array
example:
- href: https://api.equinix.com/fabric/v4/serviceProfiles/423af68b-42f0-4f2e-9c5c-2fbd44b4b387
uuid: 423af68b-42f0-4f2e-9c5c-2fbd44b4b387
items:
$ref: '#/components/schemas/CompanyServiceProfile'
privateServices:
type: array
example:
- href: https://api.equinix.com/fabric/v4/privateServices/460af68b-42f0-4f2e-9c5c-2fbd44b4b387
uuid: 460af68b-42f0-4f2e-9c5c-2fbd44b4b387
- href: https://api.equinix.com/fabric/v4/privateServices/8a5685a6-063d-41ac-9279-d32431e8d8f6
uuid: 8a5685a6-063d-41ac-9279-d32431e8d8f6
items:
$ref: '#/components/schemas/PrivateService'
notifications:
type: array
example:
- type: CONTACT
emails:
- example@example.com
- type: NOTIFICATION
emails:
- example@example.com
items:
$ref: '#/components/schemas/Notification'
webUrl:
type: string
example: https://www.equinix.com
contactUrl:
type: string
example: https://www.equinix.com/contact-us
change:
$ref: '#/components/schemas/CompanyProfileChange'
changeLog:
$ref: '#/components/schemas/Changelog'
CompanyProfileSearchFilter:
type: object
properties:
and:
type: array
items:
$ref: '#/components/schemas/CompanyProfileSearchFilter'
or:
type: array
items:
$ref: '#/components/schemas/CompanyProfileSearchFilter'
property:
$ref: '#/components/schemas/CompanyProfileSearchFieldName'
operator:
$ref: '#/components/schemas/OperatorEnum'
values:
type: array
description: Values to compare against
example:
- PENDING
- PROVISIONED
items:
type: string
CompanyProfileState:
type: object
PrivateService:
type: object
properties:
href:
type: string
uuid:
type: string
CompanyLogo:
type: object
properties:
href:
type: string
uuid:
type: string
extensionType:
type: string
AttachTagResponse:
required:
- type
- uuid
type: object
properties:
href:
type: string
description: URL to the attached tag
example: https://api.equinix.com/fabric/v4/tags/260af68b-42f0-4f2e-9c5c-2fbd44b4b387
type:
type: string
description: Type of the tag or attachment
example: TAG
uuid:
type: string
description: Unique identifier for the tag
example: 260af68b-42f0-4f2e-9c5c-2fbd44b4b387
attachmentStatus:
type: string
description: Status of the attachment operation
example: ATTACHED
TagListResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TagResponse'
pagination:
$ref: '#/components/schemas/Pagination'
description: Equinix Fabric Tag List Response Object
OperatorEnum:
type: string
description: Comparison operators for filtering
example: '='
CompanyProfileSearchRequest:
type: object
properties:
filter:
$ref: '#/components/schemas/CompanyProfileSearchFilter'
pagination:
$ref: '#/components/schemas/Pagination'
sort:
$ref: '#/components/schemas/Sort'
Sort:
type: object
properties:
property:
type: string
description: Property to sort by((currently supports tags with filter syntax)
example: /tags/@name=equinix.fabric.spotlight.category.featured
direction:
$ref: '#/components/schemas/CompanyProfileSortDirection'
ServiceProfileListResponse:
type: object
properties:
data:
type: array
description: List of service profiles
example:
- href: https://api.equinix.com/fabric/v4/serviceProfiles/423af68b-42f0-4f2e-9c5c-2fbd44b4b387
uuid: 423af68b-42f0-4f2e-9c5c-2fbd44b4b387
items:
$ref: '#/components/schemas/CompanyServiceProfile'
Error:
required:
- errorCode
- errorMessage
type: object
properties:
errorCode:
pattern: ^EQ-\d{7}$
type: string
errorMessage:
type: string
correlationId:
type: string
details:
type: string
help:
type: string
additionalInfo:
type: array
items:
$ref: '#/components/schemas/PriceError_additionalInfo'
description: Error Response with details
CompanyServiceProfile:
type: object
properties:
href:
type: string
uuid:
type: string
CompanyMetro:
type: object
properties:
href:
type: string
metroCode:
type: string
x-eqx-api-linter-skip-rules:
- 3
- 38