Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

APIs.io Engineering Platform Users API

Interact with and view information about users and also current user.

This API exposes 37 operations across 24 paths, and defines 12 schemas. It is described by OpenAPI 3.0.0, at version 2015-07-09.

Requests are made against 4 base URLs: http://apigateway.{region}.amazonaws.com, https://apigateway.{region}.amazonaws.com, http://apigateway.{region}.amazonaws.com.cn, https://apigateway.{region}.amazonaws.com.cn.

37 operations 24 paths 12 schemas 6 DELETE24 GET1 PATCH5 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
2015-07-09
Base URL
https://{bucketname}.s3.amazonaws.com
Authentication
API Key
Terms of Service
Resource Areas
1

Authentication & Security 1

APIs.io Engineering Platform Users API declares 1 security scheme for authenticating requests. An API key is passed in the header as Authorization (hmac). By default, every request must be authenticated.

  • hmac — Amazon Signature authorization v4

Paths & Operations 37

Across 24 paths, the API surfaces 37 operations — 6 DELETE, 24 GET, 1 PATCH, 5 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Users 37

Interact with and view information about users and also current user.

GET
/user
APIs.io Engineering Platform Get the authenticated user
users/get-authenticated → 200304403401
PATCH
/user
APIs.io Engineering Platform Update the authenticated user
users/update-authenticated body → 200304404403401422
GET
/user/emails
APIs.io Engineering Platform List email addresses for the authenticated user
users/list-emails-for-authenticated-user 2 params → 200304404403401
POST
/user/emails
APIs.io Engineering Platform Add an email address for the authenticated user
users/add-email-for-authenticated-user body → 201422304404403401
DELETE
/user/emails
APIs.io Engineering Platform Delete an email address for the authenticated user
users/delete-email-for-authenticated-user body → 204304404403401422
GET
/user/followers
APIs.io Engineering Platform List followers of the authenticated user
users/list-followers-for-authenticated-user 2 params → 200304403401
GET
/user/following
APIs.io Engineering Platform List the people the authenticated user follows
users/list-followed-by-authenticated-user 2 params → 200304403401
GET
/user/following/{username}
APIs.io Engineering Platform Check if a person is followed by the authenticated user
users/check-person-is-followed-by-authenticated 1 param → 204404304403401
PUT
/user/following/{username}
APIs.io Engineering Platform Follow a user
users/follow 1 param → 204304404403401
DELETE
/user/following/{username}
APIs.io Engineering Platform Unfollow a user
users/unfollow 1 param → 204304404403401
GET
/user/gpg_keys
APIs.io Engineering Platform List GPG keys for the authenticated user
users/list-gpg-keys-for-authenticated-user 2 params → 200304404403401
POST
/user/gpg_keys
APIs.io Engineering Platform Create a GPG key for the authenticated user
users/create-gpg-key-for-authenticated-user body → 201422304404403401
GET
/user/gpg_keys/{gpg_key_id}
APIs.io Engineering Platform Get a GPG key for the authenticated user
users/get-gpg-key-for-authenticated-user 1 param → 200404304403401
DELETE
/user/gpg_keys/{gpg_key_id}
APIs.io Engineering Platform Delete a GPG key for the authenticated user
users/delete-gpg-key-for-authenticated-user 1 param → 204404422304403401
GET
/user/keys
APIs.io Engineering Platform List public SSH keys for the authenticated user
users/list-public-ssh-keys-for-authenticated-user 2 params → 200304404403401
POST
/user/keys
APIs.io Engineering Platform Create a public SSH key for the authenticated user
users/create-public-ssh-key-for-authenticated-user body → 201422304404403401
GET
/user/keys/{key_id}
APIs.io Engineering Platform Get a public SSH key for the authenticated user
users/get-public-ssh-key-for-authenticated-user 1 param → 200404304403401
DELETE
/user/keys/{key_id}
APIs.io Engineering Platform Delete a public SSH key for the authenticated user
users/delete-public-ssh-key-for-authenticated-user 1 param → 204304404403401
GET
/user/public_emails
APIs.io Engineering Platform List public email addresses for the authenticated user
users/list-public-emails-for-authenticated-user 2 params → 200304404403401
GET
/user/social_accounts
APIs.io Engineering Platform List social accounts for the authenticated user
users/list-social-accounts-for-authenticated-user 2 params → 200304404403401
POST
/user/social_accounts
APIs.io Engineering Platform Add social accounts for the authenticated user
users/add-social-account-for-authenticated-user body → 201422304404403401
DELETE
/user/social_accounts
APIs.io Engineering Platform Delete social accounts for the authenticated user
users/delete-social-account-for-authenticated-user body → 204422304404403401
GET
/user/ssh_signing_keys
APIs.io Engineering Platform List SSH signing keys for the authenticated user
users/list-ssh-signing-keys-for-authenticated-user 2 params → 200304404403401
POST
/user/ssh_signing_keys
APIs.io Engineering Platform Create a SSH signing key for the authenticated user
users/create-ssh-signing-key-for-authenticated-user body → 201422304404403401
GET
/user/ssh_signing_keys/{ssh_signing_key_id}
APIs.io Engineering Platform Get an SSH signing key for the authenticated user
users/get-ssh-signing-key-for-authenticated-user 1 param → 200404304403401
DELETE
/user/ssh_signing_keys/{ssh_signing_key_id}
APIs.io Engineering Platform Delete an SSH signing key for the authenticated user
users/delete-ssh-signing-key-for-authenticated-user 1 param → 204304404403401
GET
/user/{account_id}
APIs.io Engineering Platform Get a user using their ID
users/get-by-id 1 param → 200404
GET
/users
APIs.io Engineering Platform List users
users/list 2 params → 200304
GET
/users/{username}
APIs.io Engineering Platform Get a user
users/get-by-username 1 param → 200404
GET
/users/{username}/followers
APIs.io Engineering Platform List followers of a user
users/list-followers-for-user 3 params → 200
GET
/users/{username}/following
APIs.io Engineering Platform List the people a user follows
users/list-following-for-user 3 params → 200
GET
/users/{username}/following/{target_user}
APIs.io Engineering Platform Check if a user follows another user
users/check-following-for-user 2 params → 204404
GET
/users/{username}/gpg_keys
APIs.io Engineering Platform List GPG keys for a user
users/list-gpg-keys-for-user 3 params → 200
GET
/users/{username}/hovercard
APIs.io Engineering Platform Get contextual information for a user
users/get-context-for-user 3 params → 200404422
GET
/users/{username}/keys
APIs.io Engineering Platform List public keys for a user
users/list-public-keys-for-user 3 params → 200
GET
/users/{username}/social_accounts
APIs.io Engineering Platform List social accounts for a user
users/list-social-accounts-for-user 3 params → 200
GET
/users/{username}/ssh_signing_keys
APIs.io Engineering Platform List SSH signing keys for a user
users/list-ssh-signing-keys-for-user 3 params → 200

Schemas 12

The contract defines 12 schemas that model the data the API accepts and returns. The most detailed are private-user (43 properties), public-user (40 properties), simple-user (21 properties), gpg-key (15 properties). Each schema is shown below with its type and property counts.

gpg-key
object
A unique encryption key
15 properties 14 required
public-user
object
Public User
40 properties 31 required
basic-error
object
Basic Error
4 properties
ssh-signing-key
object
A public SSH key used to sign Git commits
4 properties 4 required
validation-error
object
Validation Error
3 properties 2 required
key-simple
object
Key Simple
2 properties 2 required
email
object
Email
4 properties 4 required
private-user
object
Private User
43 properties 37 required
simple-user
object
A GitHub user.
21 properties 18 required
key
object
Key
7 properties 7 required
social-account
object
Social media account
2 properties 2 required
hovercard
object
Hovercard
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

engineering-platform-users-api-openapi.yml Raw ↑