Upsun Users API

The Users API from Upsun — 9 operation(s) for users.

Operations 10

GET /me Get current logged-in user info #
POST /me/phone Check if phone verification is required #
POST /me/verification Check if verification is required #
GET /users/me Get the current user #
GET /users/email={email} Get a user by email #
GET /users/username={username} Get a user by username #
GET /users/{user_id} Get a user #
PATCH /users/{user_id} Update a user #
POST /users/{user_id}/emailaddress Reset email address #
POST /users/{user_id}/resetpassword Reset user password #

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/upsun-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

upsun-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Upsun.com Rest Users API
  version: '1.0'
  contact:
    name: Support
    url: https://upsun.com/contact-us/
  termsOfService: https://upsun.com/trust-center/legal/tos/
  description: '# Introduction


    Upsun, formerly Platform.sh, is a container-based Platform-as-a-Service.'
  x-logo:
    url: https://docs.upsun.com/images/upsun-api.svg
    href: https://upsun.com/#section/Introduction
    altText: Upsun logo
servers:
- url: '{schemes}://api.upsun.com'
  description: The Upsun.com API gateway
  variables:
    schemes:
      default: https
security:
- OAuth2: []
tags:
- name: Users
paths:
  /me:
    get:
      tags:
      - Users
      summary: Get current logged-in user info
      description: Retrieve information about the currently logged-in user (the user associated with the access token).
      operationId: get-current-user-deprecated
      responses:
        '200':
          description: The user object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CurrentUser'
      deprecated: true
  /me/phone:
    post:
      tags:
      - Users
      summary: Check if phone verification is required
      description: Find out if the current logged in user requires phone verification to create projects.
      operationId: get-current-user-verification-status
      responses:
        '200':
          description: The information pertinent to determine if the account requires phone verification before project creation.
          content:
            application/json:
              schema:
                properties:
                  verify_phone:
                    description: Does this user need to verify their phone number for project creation.
                    type: boolean
                type: object
  /me/verification:
    post:
      tags:
      - Users
      summary: Check if verification is required
      description: Find out if the current logged in user requires verification (phone or staff) to create projects.
      operationId: get-current-user-verification-status-full
      responses:
        '200':
          description: The information pertinent to determine if the account requires any type of verification before project creation.
          content:
            application/json:
              schema:
                properties:
                  state:
                    description: Does this user need verification for project creation.
                    type: boolean
                  type:
                    description: What type of verification is needed (phone or ticket)
                    type: string
                type: object
  /users/me:
    get:
      summary: Get the current user
      description: Retrieves the current user, determined from the used access token.
      operationId: get-current-user
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
  /users/email={email}:
    parameters:
    - schema:
        type: string
        format: email
        example: hello@example.com
      name: email
      in: path
      required: true
      description: The user's email address.
    get:
      summary: Get a user by email
      description: Retrieves a user matching the specified email address.
      operationId: get-user-by-email-address
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
  /users/username={username}:
    parameters:
    - schema:
        type: string
        example: platform-sh
      name: username
      in: path
      required: true
      description: The user's username.
    get:
      summary: Get a user by username
      description: Retrieves a user matching the specified username.
      operationId: get-user-by-username
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
              examples: {}
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
  /users/{user_id}:
    parameters:
    - $ref: '#/components/parameters/UserID'
    get:
      summary: Get a user
      description: Retrieves the specified user.
      operationId: get-user
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
    patch:
      summary: Update a user
      description: Updates the specified user.
      operationId: update-user
      tags:
      - Users
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              description: ''
              type: object
              properties:
                username:
                  type: string
                  description: The user's username.
                first_name:
                  type: string
                  description: The user's first name.
                last_name:
                  type: string
                  description: The user's last name.
                picture:
                  type: string
                  format: uri
                  description: The user's picture.
                company:
                  type: string
                  description: The user's company.
                website:
                  type: string
                  format: uri
                  description: The user's website.
                country:
                  type: string
                  maxLength: 2
                  minLength: 2
                  description: The user's country (2-letter country code).
              x-examples:
                example-1:
                  company: Platform.sh SAS
                  country: EU
                  first_name: Hello
                  last_name: World
                  picture: https://accounts.platform.sh/profiles/blimp_profile/themes/platformsh_theme/images/mail/logo.png
                  username: username
                  website: https://platform.sh
  /users/{user_id}/emailaddress:
    parameters:
    - $ref: '#/components/parameters/UserID'
    post:
      summary: Reset email address
      description: Requests a reset of the user's email address. A confirmation email will be sent to the new address when the request is accepted.
      operationId: reset-email-address
      tags:
      - Users
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email_address:
                  type: string
                  format: email
              required:
              - email_address
        description: ''
  /users/{user_id}/resetpassword:
    parameters:
    - $ref: '#/components/parameters/UserID'
    post:
      summary: Reset user password
      description: Requests a reset of the user's password. A password reset email will be sent to the user when the request is accepted.
      operationId: reset-password
      tags:
      - Users
      responses:
        '204':
          description: No Content
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    User:
      description: ''
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the user.
        deactivated:
          type: boolean
          description: Whether the user has been deactivated.
        namespace:
          type: string
          description: The namespace in which the user's username is unique.
        username:
          type: string
          description: The user's username.
        email:
          type: string
          format: email
          description: The user's email address.
        email_verified:
          type: boolean
          description: Whether the user's email address has been verified.
        first_name:
          type: string
          description: The user's first name.
        last_name:
          type: string
          description: The user's last name.
        picture:
          type: string
          format: uri
          description: The user's picture.
        company:
          type: string
          description: The user's company.
        website:
          type: string
          format: uri
          description: The user's website.
        country:
          type: string
          maxLength: 2
          minLength: 2
          description: The user's ISO 3166-1 alpha-2 country code.
        created_at:
          type: string
          format: date-time
          description: The date and time when the user was created.
        updated_at:
          type: string
          format: date-time
          description: The date and time when the user was last updated.
        consented_at:
          type: string
          format: date-time
          description: The date and time when the user consented to the Terms of Service.
        consent_method:
          type: string
          description: The method by which the user consented to the Terms of Service.
          enum:
          - opt-in
          - text-ref
      required:
      - id
      - deactivated
      - namespace
      - username
      - email
      - email_verified
      - first_name
      - last_name
      - picture
      - company
      - website
      - country
      - created_at
      - updated_at
      x-examples:
        example-1:
          company: Platform.sh SAS
          country: FR
          created_at: '2010-04-19T10:00:00Z'
          deactivated: false
          email: hello@platform.sh
          email_verified: true
          first_name: Hello
          id: d81c8ee2-44b3-429f-b944-a33ad7437690
          last_name: World
          namespace: platformsh
          picture: https://accounts.platform.sh/profiles/blimp_profile/themes/platformsh_theme/images/mail/logo.png
          updated_at: '2021-01-27T13:58:38.06968Z'
          username: platform-sh
          website: https://platform.sh
          consented_at: '2010-04-19T10:00:00Z'
          consent_method: opt-in
    SSHKey:
      description: The ssh key object.
      properties:
        key_id:
          description: The ID of the public key.
          type: integer
        uid:
          description: The internal user ID.
          type: integer
        fingerprint:
          description: The fingerprint of the public key.
          type: string
        title:
          description: The title of the public key.
          type: string
        value:
          description: The actual value of the public key.
          type: string
        changed:
          description: The time of the last key modification (ISO 8601)
          type: string
      type: object
    Error:
      description: ''
      type: object
      properties:
        status:
          type: string
        message:
          type: string
        code:
          type: number
        detail:
          type: object
        title:
          type: string
      title: ''
      x-examples:
        example-1:
          status: Invalid input
          message: This field is required.
          code: 400
          detail:
            field:
            - This field is required.
          title: Bad Request
    OwnerInfo:
      description: Project owner information that can be exposed to collaborators.
      properties:
        type:
          description: Type of the owner, usually 'user'.
          type: string
        username:
          description: The username of the owner.
          type: string
        display_name:
          description: The full name of the owner.
          type: string
      type: object
    CurrentUser:
      description: The user object.
      properties:
        id:
          description: The UUID of the owner.
          type: string
          format: uuid
        uuid:
          description: The UUID of the owner.
          type: string
          format: uuid
        username:
          description: The username of the owner.
          type: string
        display_name:
          description: The full name of the owner.
          type: string
        status:
          description: Status of the user. 0 = blocked; 1 = active.
          type: integer
        mail:
          description: The email address of the owner.
          type: string
          format: email
        ssh_keys:
          description: The list of user's public SSH keys.
          type: array
          items:
            $ref: '#/components/schemas/SSHKey'
        has_key:
          description: The indicator whether the user has a public ssh key on file or not.
          type: boolean
        projects:
          type: array
          items:
            properties:
              id:
                description: The unique ID string of the project.
                type: string
              name:
                description: The name given to the project. Appears as the title in the user interface.
                type: string
              title:
                description: The name given to the project. Appears as the title in the user interface.
                type: string
              cluster:
                description: The machine name of the region where the project is located. Cannot be changed after project creation.
                type: string
              cluster_label:
                description: The human-readable name of the region where the project is located.
                type: string
              region:
                description: The machine name of the region where the project is located. Cannot be changed after project creation.
                type: string
              region_label:
                description: The human-readable name of the region where the project is located.
                type: string
              uri:
                description: The URL for the project's user interface.
                type: string
              endpoint:
                description: The project API endpoint for the project.
                type: string
              license_id:
                description: The ID of the subscription.
                type: integer
              owner:
                description: The UUID of the owner.
                type: string
                format: uuid
              owner_info:
                $ref: '#/components/schemas/OwnerInfo'
              plan:
                description: The plan type of the subscription.
                type: string
              subscription_id:
                description: The ID of the subscription.
                type: integer
              status:
                description: The status of the project.
                type: string
              vendor:
                description: The machine name of the vendor the subscription belongs to.
                type: string
              vendor_label:
                description: The machine name of the vendor the subscription belongs to.
                type: string
              vendor_website:
                description: The URL of the vendor the subscription belongs to.
                type: string
                format: url
              vendor_resources:
                description: The link to the resources of the vendor the subscription belongs to.
                type: string
              created_at:
                description: The creation date of the subscription.
                type: string
                format: date-time
            type: object
        sequence:
          description: The sequential ID of the user.
          type: integer
        roles:
          type: array
          items:
            description: The user role name.
            type: string
        picture:
          description: The URL of the user image.
          type: string
          format: url
        tickets:
          description: Number of support tickets by status.
          type: object
        trial:
          description: The indicator whether the user is in trial or not.
          type: boolean
        current_trial:
          type: array
          items:
            properties:
              created:
                description: The ISO timestamp of the trial creation date time.
                type: string
                format: date-time
              description:
                description: The human readable trial description
                type: string
              spend_remaining:
                description: Total spend amount of the voucher minus existing project costs for the existing billing cycle.
                type: string
              expiration:
                description: Date the trial expires.
                type: string
                format: date-time
            type: object
      type: object
  parameters:
    UserID:
      name: user_id
      in: path
      required: true
      description: The ID of the user.
      schema:
        type: string
        example: d81c8ee2-44b3-429f-b944-a33ad7437690
        format: uuid
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          tokenUrl: https://auth.api.platform.sh/oauth2/token
          refreshUrl: https://auth.api.platform.sh/oauth2/token
          scopes: {}
          authorizationUrl: https://auth.api.platform.sh/oauth2/authorize
      description: ''
    OAuth2Admin:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.api.platform.sh/oauth2/token
          refreshUrl: ''
          scopes:
            admin: administrative operations
      description: ''
x-tagGroups:
- name: Organization Administration
  tags:
  - Organizations
  - Organization Members
  - Organization Invitations
  - Organization Projects
  - Add-ons
- name: Project Administration
  tags:
  - Project
  - Domain Management
  - Cert Management
  - Certificate Provisioner
  - Project Variables
  - Repository
  - Third-Party Integrations
  - Support
- name: Environments
  tags:
  - Environment
  - Environment Backups
  - Environment Type
  - Environment Variables
  - Routing
  - Source Operations
  - Runtime Operations
  - Deployment
  - Autoscaling
- name: User Activity
  tags:
  - Project Activity
  - Environment Activity
- name: Project Access
  tags:
  - Project Invitations
  - Teams
  - Team Access
  - User Access
- name: Account Management
  tags:
  - API Tokens
  - Connections
  - MFA
  - Users
  - User Profiles
  - SSH Keys
  - Plans
- name: Billing
  tags:
  - Organization Management
  - Subscriptions
  - Orders
  - Invoices
  - Discounts
  - Vouchers
  - Records
  - Profiles
- name: Global Info
  tags:
  - Project Discovery
  - References
  - Regions
- name: Internal APIs
  tags:
  - Project Settings
  - Environment Settings
  - Deployment Target
  - System Information
  - Container Profile