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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/packet-host-users-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
openapi: 3.2.0
info:
contact:
email: support@equinixmetal.com
name: Equinix Metal API Team
description: '# Introduction
Equinix Metal provides a RESTful HTTP API which can be reached at .'
license:
name: Equinix Metal
url: https://metal.equinix.com/legal/
termsOfService: https://metal.equinix.com/legal/
title: Metal Users API
version: 1.0.0
servers:
- url: https://api.equinix.com/metal/v1
security:
- x_auth_token: []
tags:
- description: User Management
externalDocs:
url: https://metal.equinix.com/developers/docs/accounts/users/
name: Users
paths:
/invitations:
get:
description: Returns all invitations in current user.
operationId: findInvitations
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
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 current user invitations
tags:
- Users
/user:
get:
description: Returns the user object for the currently logged-in user.
operationId: findCurrentUser
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
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: ok
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unauthorized
summary: Retrieve the current user
tags:
- Users
put:
description: Updates the currently logged-in user.
operationId: updateCurrentUser
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/UserUpdateInput'
description: User to update
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: ok
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unauthorized
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unprocessable entity
summary: Update the current user
tags:
- Users
/users:
get:
description: Returns a list of users that the are accessible to the current user (all users in the current user’s projects, essentially).
operationId: findUsers
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
- 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/UserList'
description: ok
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unauthorized
summary: Retrieve all users
tags:
- Users
x-equinix-metal-paginated-property: Users
post:
description: Creates a user.
operationId: createUser
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/UserCreateInput'
description: User to create
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: created
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unauthorized
'422':
content:
application/json:
example:
errors:
- Email address username@example.com has already been taken
schema:
$ref: '#/components/schemas/Error'
description: unprocessable entity
summary: Create a user
tags:
- Users
/users/{id}:
get:
description: Returns a single user if the user has access
operationId: findUserById
parameters:
- description: User 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/User'
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 a user
tags:
- Users
/users/{id}/customdata:
get:
description: Provides the custom metadata stored for this user in json format
operationId: findUserCustomdata
parameters:
- description: User 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 a user
tags:
- Users
components:
schemas:
User:
example:
avatar_thumb_url: avatar_thumb_url
last_login_at: 2000-01-23 04:56:07+00:00
max_projects: 2
timezone: timezone
default_project_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
created_at: 2000-01-23 04:56:07+00:00
last_name: last_name
short_id: short_id
fraud_score: fraud_score
emails:
- href: href
- href: href
default_organization_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
full_name: full_name
avatar_url: avatar_url
updated_at: 2000-01-23 04:56:07+00:00
phone_number: phone_number
customdata: '{}'
href: href
id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
first_name: first_name
max_organizations: 3
two_factor_auth: two_factor_auth
email: email
properties:
avatar_thumb_url:
type: string
avatar_url:
type: string
created_at:
format: date-time
type: string
customdata:
type: object
default_organization_id:
format: uuid
type: string
default_project_id:
format: uuid
type: string
email:
type: string
emails:
items:
$ref: '#/components/schemas/Href'
type: array
first_name:
type: string
fraud_score:
type: string
full_name:
type: string
href:
type: string
id:
format: uuid
type: string
last_login_at:
format: date-time
type: string
last_name:
type: string
max_organizations:
type: integer
max_projects:
type: integer
phone_number:
type: string
short_id:
type: string
timezone:
type: string
two_factor_auth:
type: string
updated_at:
format: date-time
type: string
type: object
UserList:
example:
meta:
next:
href: href
total: 0
last:
href: href
previous:
href: href
last_page: 1
self:
href: href
first:
href: href
current_page: 6
users:
- avatar_thumb_url: avatar_thumb_url
last_login_at: 2000-01-23 04:56:07+00:00
max_projects: 2
timezone: timezone
default_project_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
created_at: 2000-01-23 04:56:07+00:00
last_name: last_name
short_id: short_id
fraud_score: fraud_score
emails:
- href: href
- href: href
default_organization_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
full_name: full_name
avatar_url: avatar_url
updated_at: 2000-01-23 04:56:07+00:00
phone_number: phone_number
customdata: '{}'
href: href
id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
first_name: first_name
max_organizations: 3
two_factor_auth: two_factor_auth
email: email
- avatar_thumb_url: avatar_thumb_url
last_login_at: 2000-01-23 04:56:07+00:00
max_projects: 2
timezone: timezone
default_project_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
created_at: 2000-01-23 04:56:07+00:00
last_name: last_name
short_id: short_id
fraud_score: fraud_score
emails:
- href: href
- href: href
default_organization_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
full_name: full_name
avatar_url: avatar_url
updated_at: 2000-01-23 04:56:07+00:00
phone_number: phone_number
customdata: '{}'
href: href
id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
first_name: first_name
max_organizations: 3
two_factor_auth: two_factor_auth
email: email
properties:
meta:
$ref: '#/components/schemas/Meta'
users:
items:
$ref: '#/components/schemas/User'
type: array
type: object
Error:
description: Error responses are included with 4xx and 5xx HTTP responses from the API service. Either "error" or "errors" will be set.
properties:
error:
description: A description of the error that caused the request to fail.
type: string
errors:
description: A list of errors that contributed to the request failing.
items:
description: An error message that contributed to the request failing.
type: string
type: array
type: object
InvitationList:
example:
invitations:
- updated_at: 2000-01-23 04:56:07+00:00
roles:
- roles
- roles
created_at: 2000-01-23 04:56:07+00:00
project:
href: href
href: href
id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
user:
href: href
- updated_at: 2000-01-23 04:56:07+00:00
roles:
- roles
- roles
created_at: 2000-01-23 04:56:07+00:00
project:
href: href
href: href
id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
user:
href: href
properties:
invitations:
items:
$ref: '#/components/schemas/Membership'
type: array
type: object
EmailInput:
example:
default: true
address: address
properties:
address:
type: string
default:
type: boolean
required:
- address
type: object
Membership:
example:
updated_at: 2000-01-23 04:56:07+00:00
roles:
- roles
- roles
created_at: 2000-01-23 04:56:07+00:00
project:
href: href
href: href
id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
user:
href: href
properties:
created_at:
format: date-time
type: string
href:
type: string
id:
format: uuid
type: string
project:
$ref: '#/components/schemas/Href'
roles:
items:
type: string
type: array
updated_at:
format: date-time
type: string
user:
$ref: '#/components/schemas/Href'
type: object
UserUpdateInput:
example:
password: password
timezone: timezone
last_name: last_name
phone_number: phone_number
customdata: '{}'
first_name: first_name
properties:
customdata:
type: object
first_name:
type: string
last_name:
type: string
password:
type: string
phone_number:
type: string
timezone:
type: string
type: object
Href:
example:
href: href
properties:
href:
type: string
required:
- href
type: object
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
UserCreateInput:
example:
invitation_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
level: level
timezone: timezone
last_name: last_name
avatar: ''
title: title
nonce: nonce
emails:
- default: true
address: address
- default: true
address: address
social_accounts: '{}'
password: password
verified_at: 2000-01-23 04:56:07+00:00
company_name: company_name
company_url: company_url
phone_number: phone_number
customdata: '{}'
first_name: first_name
two_factor_auth: two_factor_auth
properties:
avatar:
format: binary
type: string
company_name:
type: string
company_url:
type: string
customdata:
type: object
emails:
items:
$ref: '#/components/schemas/EmailInput'
type: array
first_name:
type: string
last_name:
type: string
level:
type: string
password:
type: string
phone_number:
type: string
social_accounts:
type: object
timezone:
type: string
title:
type: string
two_factor_auth:
type: string
verified_at:
format: date-time
type: string
invitation_id:
format: uuid
type: string
nonce:
type: string
required:
- emails
- first_name
- last_name
type: object
securitySchemes:
x_auth_token:
description: 'HTTP header containing the User or Project API key that will be used to authenticate the request.
'
in: header
name: X-Auth-Token
type: apiKey
x-displayName: X-Auth-Token
x-tagGroups:
- name: Accounts and Organization
tags:
- Authentication
- Emails
- Invitations
- Memberships
- Organizations
- OTPs
- PasswordResetTokens
- PaymentMethods
- Projects
- SSHKeys
- SupportRequest
- TransferRequests
- TwoFactorAuth
- Users
- UserVerificationTokens
- name: Services and Billing
tags:
- Events
- Facilities
- Incidents
- Invoices
- Licenses
- Metros
- Plans
- Usages
- name: Servers
tags:
- Devices
- Batches
- Capacity
- HardwareReservations
- OperatingSystems
- Ports
- SelfServiceReservations
- SpotMarket
- Userdata
- Volumes
- name: Networking
tags:
- BGP
- Interconnections
- IPAddresses
- MetalGateways
- VLANs
- VRFs