Equinix Service Profiles API

Service Profiles

Operations 9

GET /fabric/v4/serviceProfiles Get all Profiles #
POST /fabric/v4/serviceProfiles Create Profile #
POST /fabric/v4/serviceProfiles/search Profile Search #
GET /fabric/v4/serviceProfiles/{serviceProfileId} Get Profile #
PUT /fabric/v4/serviceProfiles/{serviceProfileId} Replace Profile #
DELETE /fabric/v4/serviceProfiles/{serviceProfileId} Delete Profile #
PATCH /fabric/v4/serviceProfiles/{serviceProfileId} Update Profile #
POST /fabric/v4/serviceProfiles/{serviceProfileId}/actions Profile Actions #
GET /fabric/v4/serviceProfiles/{serviceProfileId}/metros Get Profile Metros #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/equinix-service-profiles-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

equinix-service-profiles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Equinix Fabric API v4 Service Profiles API
  description: 'Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to: </br> 1. Cloud Service Providers - Clouds, network and other service providers.  </br> 2. Enterprises - Other Equinix customers, vendors and partners.  </br> 3. Myself - Another customer instance deployed at Equinix. </br> </br> <b>Integrations (SDKs, Tools) links:</b> </br> <a href="https://github.com/equinix/equinix-sdk-java">Fabric Java SDK</a> </br> <a href="https://github.com/equinix/equinix-sdk-go">Fabric Go SDK</a> </br> <a href="https://github.com/equinix/equinix-sdk-python">Fabric Python SDK</a> </br> <a href="https://registry.terraform.io/providers/equinix/equinix/latest/docs">Equinix Terraform Provider</a> </br> <a href="https://registry.terraform.io/modules/equinix/fabric/equinix/latest">Fabric Terraform Modules</a> </br> <a href="https://www.pulumi.com/registry/packages/equinix/">Equinix Pulumi Provider</a> </br>'
  termsOfService: https://www.equinix.com/about/legal/terms
  contact:
    name: Equinix API Support
    url: https://docs.equinix.com/api-support.htm
  license:
    name: Equinix Inc
    url: https://developer.equinix.com/agreement
  version: '4.28'
servers:
- url: https://api.equinix.com
  description: Equinix Inc
security:
- BearerAuth: []
tags:
- name: Service Profiles
  description: Service Profiles
paths:
  /fabric/v4/serviceProfiles:
    get:
      tags:
      - Service Profiles
      summary: Get all Profiles
      description: The API request returns all Equinix Fabric Service Profiles in accordance with the view point requested.
      operationId: getServiceProfiles
      parameters:
      - name: offset
        in: query
        description: offset
        required: false
        schema:
          type: integer
        example: 1
      - name: limit
        in: query
        description: number of records to fetch
        required: false
        schema:
          type: integer
        example: 10
      - name: viewPoint
        in: query
        description: flips view between buyer and seller representation
        schema:
          type: string
          default: aSide
          enum:
          - aSide
          - zSide
      responses:
        '200':
          description: Successful operation
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ServiceProfiles'
              examples:
                ASideServiceProfile:
                  $ref: '#/components/examples/ServiceProfilesResponse'
                ZSideServiceProfile:
                  $ref: '#/components/examples/SellerServiceProfilesResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-403-read'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-500'
    post:
      tags:
      - Service Profiles
      summary: Create Profile
      description: Create Service Profile creates Equinix Fabric? Service Profile.
      operationId: createServiceProfile
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceProfileRequest'
            examples:
              ServiceProfileCreate:
                $ref: '#/components/examples/ServiceProfileCreate'
              ServiceProfileCreate-CRH:
                $ref: '#/components/examples/ServiceProfileCreate-CRH'
        required: true
      responses:
        '201':
          description: Successful Create operation
          headers:
            ETag:
              $ref: '#/components/headers/ETag'
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ServiceProfile'
              examples:
                ServiceProfile:
                  $ref: '#/components/examples/ServiceProfileCreateResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-403-create'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-500'
  /fabric/v4/serviceProfiles/search:
    post:
      tags:
      - Service Profiles
      summary: Profile Search
      description: Search service profiles by search criteria
      operationId: searchServiceProfiles
      parameters:
      - name: viewPoint
        in: query
        description: flips view between buyer and seller representation
        schema:
          type: string
          default: aSide
          enum:
          - aSide
          - zSide
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceProfileSearchRequest'
            examples:
              ServiceProfileSearchWithUuid:
                $ref: '#/components/examples/ServiceProfileSearchWithUuid'
              ServiceProfileSearchWithName:
                $ref: '#/components/examples/ServiceProfileSearchWithName'
              ServiceProfileSearchWithState:
                $ref: '#/components/examples/ServiceProfileSearchWithState'
              ServiceProfileSearchWithVisibility:
                $ref: '#/components/examples/ServiceProfileSearchWithVisibility'
              ServiceProfileSearchWithProject:
                $ref: '#/components/examples/ServiceProfileSearchWithProjectId'
              ServiceProfileSearchWithPort:
                $ref: '#/components/examples/ServiceProfileSearchWithPort'
              ServiceProfileSearchWithMultipleFilter:
                $ref: '#/components/examples/ServiceProfileSearchWithAnd'
              IXPrivatePeeringServiceProfileSearchWithMetro:
                $ref: '#/components/examples/ServiceProfileSearchWithMetro'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ServiceProfiles'
              examples:
                ServiceProfile:
                  $ref: '#/components/examples/ServiceProfilesResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-400-search'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-401'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-500'
  /fabric/v4/serviceProfiles/{serviceProfileId}:
    get:
      tags:
      - Service Profiles
      summary: Get Profile
      description: Get service profile by UUID. View Point parameter if set to zSide will give seller's view of the profile otherwise buyer's view.
      operationId: getServiceProfileByUuid
      parameters:
      - name: serviceProfileId
        in: path
        description: Service Profile UUID
        required: true
        schema:
          $ref: '#/components/schemas/ServiceProfileId'
      - name: viewPoint
        in: query
        description: flips view between buyer and seller representation
        schema:
          type: string
          default: aSide
          enum:
          - aSide
          - zSide
      responses:
        '200':
          description: Successful operation
          headers:
            ETag:
              $ref: '#/components/headers/ETag'
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ServiceProfile'
              examples:
                ASideServiceProfile:
                  $ref: '#/components/examples/ServiceProfileResponse'
                ZSideServiceProfile:
                  $ref: '#/components/examples/SellerServiceProfileResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-403-read'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-500'
    put:
      tags:
      - Service Profiles
      summary: Replace Profile
      description: This API request replaces a service profile definition
      operationId: putServiceProfileByUuid
      parameters:
      - name: serviceProfileId
        in: path
        description: Service Profile UUID
        required: true
        schema:
          $ref: '#/components/schemas/ServiceProfileId'
      - name: If-Match
        in: header
        description: conditional request
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceProfileRequest'
            examples:
              ServiceProfileUpdate:
                $ref: '#/components/examples/ServiceProfileUpdate'
        required: true
      responses:
        '202':
          description: Successful Put operation
          headers:
            ETag:
              $ref: '#/components/headers/ETag'
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ServiceProfile'
              examples:
                ServiceProfile:
                  $ref: '#/components/examples/ServiceProfilePutResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-403-update'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-404-get'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-500'
    delete:
      tags:
      - Service Profiles
      summary: Delete Profile
      description: delete Service Profile by UUID
      operationId: deleteServiceProfileByUuid
      parameters:
      - name: serviceProfileId
        in: path
        description: Service Profile UUID
        required: true
        schema:
          $ref: '#/components/schemas/ServiceProfileId'
      responses:
        '200':
          description: Successful Delete operation
          headers:
            ETag:
              $ref: '#/components/headers/ETag'
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ServiceProfile'
              examples:
                ServiceProfile:
                  $ref: '#/components/examples/ServiceProfileDeleteResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-400-delete'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-403-delete'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-404-get'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-500'
    patch:
      tags:
      - Service Profiles
      summary: Update Profile
      description: Update Service Profile by UUID
      operationId: updateServiceProfileByUuid
      parameters:
      - name: serviceProfileId
        in: path
        description: Service Profile UUID
        required: true
        schema:
          $ref: '#/components/schemas/ServiceProfileId'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/JsonPatch_1'
            examples:
              ServiceProfilePatchRequest:
                $ref: '#/components/examples/ServiceProfilePatchRequest'
              ServiceProfilePatchRequestForVisibility:
                $ref: '#/components/examples/ServiceProfilePatchRequestForVisibility'
        required: true
      responses:
        '200':
          description: Successful Patch operation
          headers:
            ETag:
              $ref: '#/components/headers/ETag'
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ServiceProfile'
              examples:
                ServiceProfile:
                  $ref: '#/components/examples/ServiceProfilePatchResponse'
                ServiceProfilePatchResponseForVisibility:
                  $ref: '#/components/examples/ServiceProfilePatchResponseForVisibility'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-403-update'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-404-get'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-500'
  /fabric/v4/serviceProfiles/{serviceProfileId}/actions:
    post:
      tags:
      - Service Profiles
      summary: Profile Actions
      description: This API provides capability to accept/reject service profile update requests
      operationId: createServiceProfileAction
      parameters:
      - name: serviceProfileId
        in: path
        description: Service Profile UUID
        required: true
        schema:
          $ref: '#/components/schemas/ServiceProfileId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceProfileActionRequest'
            examples:
              AcceptProfileUpdate:
                $ref: '#/components/examples/ServiceProfileActionRequest'
              RejectProfileUpdate:
                $ref: '#/components/examples/ServiceProfileActionRejectionRequest'
        required: true
      responses:
        '201':
          description: Successful operation
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ServiceProfileActionResponse'
              examples:
                ServiceProfileActionResponse:
                  $ref: '#/components/examples/ServiceProfileActionResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-403-update'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-404-get'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-500'
  /fabric/v4/serviceProfiles/{serviceProfileId}/metros:
    get:
      tags:
      - Service Profiles
      summary: Get Profile Metros
      description: Get service profile metros by UUID.
      operationId: getServiceProfileMetrosByUuid
      parameters:
      - name: serviceProfileId
        in: path
        description: Service Profile UUID
        required: true
        schema:
          $ref: '#/components/schemas/ServiceProfileId'
      - name: offset
        in: query
        description: offset
        required: false
        schema:
          type: integer
        example: 1
      - name: limit
        in: query
        description: number of records to fetch
        required: false
        schema:
          type: integer
        example: 10
      responses:
        '200':
          description: Successful operation
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ServiceMetros'
              examples:
                ServiceProfileMetros:
                  $ref: '#/components/examples/ServiceProfilesResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-403-read'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
              examples:
                example:
                  $ref: '#/components/examples/sp-500'
components:
  schemas:
    MarketingInfo:
      type: object
      properties:
        logo:
          type: string
          description: Logo file name
        promotion:
          type: boolean
          description: Profile promotion on marketplace
        processSteps:
          maxItems: 3
          type: array
          items:
            $ref: '#/components/schemas/ProcessStep'
    ServiceProfileVisibilityEnum:
      type: string
      enum:
      - PRIVATE
      - PUBLIC
    SimplifiedNotification:
      required:
      - emails
      - type
      type: object
      properties:
        type:
          type: string
          description: Notification Type
          example: BANDWIDTH_ALERT
          enum:
          - NOTIFICATION
          - BANDWIDTH_ALERT
          - CONNECTION_APPROVAL
          - PROFILE_LIFECYCLE
          - ALL
          - SALES_REP_NOTIFICATIONS
          - TECHNICAL
          - ORDERING
        sendInterval:
          type: string
        emails:
          type: array
          description: Array of contact emails
          items:
            type: string
            format: email
        registeredUsers:
          type: array
          description: Array of registered users
          items:
            type: string
    JsonPatchOperation:
      type: object
      description: Service Profile Access Points
      oneOf:
      - $ref: '#/components/schemas/AddOperation'
      - $ref: '#/components/schemas/RemoveOperation'
      - $ref: '#/components/schemas/ReplaceOperation'
    ServiceMetros:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ServiceMetro'
        pagination:
          $ref: '#/components/schemas/Pagination'
      description: Service Profile Metros
    ServiceProfileSortBy:
      type: string
      description: Possible field names to use on sorting
      default: /changeLog/updatedDateTime
      enum:
      - /name
      - /state
      - /changeLog/createdDateTime
      - /changeLog/updatedDateTime
    ServiceProfile:
      type: object
      properties:
        state:
          $ref: '#/components/schemas/ServiceProfileStateEnum'
        account:
          description: Seller Account for Service Profile.
          allOf:
          - $ref: '#/components/schemas/SimplifiedAccount'
          - type: object
        project:
          $ref: '#/components/schemas/Project'
        change:
          $ref: '#/components/schemas/ServiceProfileChange'
        changeLog:
          description: Seller Account for Service Profile.
          allOf:
          - $ref: '#/components/schemas/Changelog'
          - type: object
      description: 'Service Profile is a software definition for a named provider service and it''s network connectivity requirements.

        This includes the basic marketing information and one

        or more sets of access points (a set per each access point type) fulfilling the provider service.

        '
      allOf:
      - $ref: '#/components/schemas/SimplifiedServiceProfile'
    SimplifiedServiceProfile:
      type: object
      properties:
        href:
          type: string
          description: Service Profile URI response attribute
          format: uri
          readOnly: true
        type:
          $ref: '#/components/schemas/ServiceProfileTypeEnum'
        name:
          maxLength: 50
          type: string
          description: Customer-assigned service profile name
          example: Sample Service Profile
        uuid:
          type: string
          description: Equinix-assigned service profile identifier
          format: uuid
        description:
          type: string
          description: User-provided service description should be of maximum length 375
          example: offering connectivity to my-network
        notifications:
          type: array
          description: Recipients of notifications on service profile change
          items:
            $ref: '#/components/schemas/SimplifiedNotification'
        tags:
          $ref: '#/components/schemas/Tags'
        visibility:
          $ref: '#/components/schemas/ServiceProfileVisibilityEnum'
        allowedEmails:
          type: array
          items:
            type: string
            format: email
        accessPointTypeConfigs:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/ServiceProfileAccessPointType'
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/CustomField'
        marketingInfo:
          $ref: '#/components/schemas/MarketingInfo'
        ports:
          type: array
          items:
            $ref: '#/components/schemas/ServiceProfileAccessPointCOLO'
        virtualDevices:
          type: array
          items:
            $ref: '#/components/schemas/ServiceProfileAccessPointVD'
        metros:
          type: array
          description: Derived response attribute.
          items:
            $ref: '#/components/schemas/ServiceMetro'
        selfProfile:
          type: boolean
          description: response attribute indicates whether the profile belongs to the same organization as the api-invoker.
        projectId:
          type: string
      description: 'Service Profile is a software definition for a named provider service and it''s network connectivity requirements.

        This includes the basic marketing information and one

        or more sets of access points (a set per each access point type) fulfilling the provider service.

        '
    CustomField:
      required:
      - dataType
      - isRequired
      - label
      properties:
        label:
          type: string
          example: Account Number
        description:
          type: string
          example: Provide a valid account number
        required:
          type: boolean
          example: true
        dataType:
          type: string
          enum:
          - STRING
          - LIST
          - NUMBER
        options:
          type: array
          items:
            type: string
        captureInEmail:
          type: boolean
          description: capture this field as a part of email notification
      description: Define Custom Attributes
    ServiceProfileStateEnum:
      type: string
      description: Equinix assigned state.
      example: ACTIVE
      enum:
      - ACTIVE
      - PENDING_APPROVAL
      - DELETED
      - REJECTED
    ServiceProfileAndFilter:
      type: object
      properties:
        and:
          type: array
          items:
            $ref: '#/components/schemas/ServiceProfileSimpleExpression'
    PriceError_additionalInfo:
      type: object
      properties:
        property:
          type: string
        reason:
          type: string
    ServiceProfileFilter:
      type: object
      anyOf:
      - $ref: '#/components/schemas/ServiceProfileSimpleExpression'
      - $ref: '#/components/schemas/ServiceProfileAndFilter'
    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
    ServiceProfileAccessPointTypeEnum:
      type: string
      description: Access point type
      enum:
      - VD
      - COLO
    JsonPatch_1:
      type: array
      items:
        $ref: '#/components/schemas/JsonPatchOperation'
    ServiceProfileSortDirection:
      type: string
      description: Sorting direction
      default: DESC
      enum:
      - DESC
      - ASC
    ServiceMetro:
      type: object
      properties:
        code:
          type: string
          description: metro code
        name:
          type: string
          description: metro name
        vcBandwidthMax:
          type: integer
          description: max VC speed supported in Mbps
        ibxs:
          type: array
          items:
            type: string
            description: ibx codes
        inTrail:
          type: boolean
        displayName:
          type: string
          description: servic

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