Grist profile API

The profile API from Grist — 4 operation(s) for profile.

OpenAPI Specification

grist-profile-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: 'An API for manipulating Grist sites, workspaces, and documents.


    # Authentication

    <SecurityDefinitions />

    '
  version: 1.0.1
  title: Grist attachments profile API
servers:
- url: https://{gristhost}/api
  variables:
    subdomain:
      description: The team name, or `docs` for personal areas
      default: docs
security:
- ApiKey: []
tags:
- name: profile
paths:
  /profile/user:
    get:
      operationId: getProfile
      tags:
      - profile
      summary: Get current user's profile
      description: Returns the profile information of the currently authenticated user.
      responses:
        200:
          description: User profile
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
  /profile/user/name:
    post:
      operationId: updateUserName
      tags:
      - profile
      summary: Update user's name
      description: Update the display name for the current user.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                  description: New display name
                  example: John Doe
      responses:
        200:
          description: Name updated successfully
  /profile/user/locale:
    post:
      operationId: updateUserLocale
      tags:
      - profile
      summary: Update user's locale
      description: Update the locale preference for the current user.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                locale:
                  type: string
                  description: Locale code (e.g. 'en-US', 'fr'). Set to null to clear.
                  example: en-US
      responses:
        200:
          description: Locale updated successfully
  /profile/apikey:
    get:
      operationId: getApiKey
      tags:
      - profile
      summary: Get user's API key
      description: Returns the current user's API key if one exists.
      responses:
        200:
          description: API key
          content:
            text/plain:
              schema:
                type: string
    post:
      operationId: createApiKey
      tags:
      - profile
      summary: Create or regenerate API key
      description: Create a new API key or regenerate an existing one.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                force:
                  type: boolean
                  description: If true, regenerate even if a key already exists
      responses:
        200:
          description: New API key
          content:
            text/plain:
              schema:
                type: string
    delete:
      operationId: deleteApiKey
      tags:
      - profile
      summary: Delete user's API key
      description: Delete the current user's API key.
      responses:
        200:
          description: API key deleted successfully
components:
  schemas:
    User:
      type: object
      required:
      - id
      - name
      - picture
      properties:
        id:
          type: integer
          format: int64
          example: 101
        name:
          type: string
          example: Helga Hufflepuff
        picture:
          type: string
          nullable: true
          example: null
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: 'Authorization: Bearer XXXXXXXXXXX'
      description: Access to the Grist API is controlled by an Authorization header, which should contain the word 'Bearer', followed by a space, followed by your API key.