> ## Documentation Index
> Fetch the complete documentation index at: https://docs.followw.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Atualizar foto ou bio no SIGAA

> Omita a bio para preservá-la ou envie uma string vazia para limpá-la. A remoção da foto deve ser feita em uma requisição separada. Para substituir, envie um único JPEG ou PNG de até 4 MB.



## OpenAPI

````yaml /mintlify/openapi.json patch /me/profile
openapi: 3.1.0
info:
  title: Followw UnB API
  description: >-
    API independente e open-source para consultar dados do SIGAA e de outros
    sistemas da UnB. O acesso autenticado usa a conta do SIGAA, com sessão por
    cookies.
  version: 0.1.0
servers:
  - url: https://api.followw.app
    description: Produção
  - url: http://localhost:8000
    description: Desenvolvimento local
security: []
tags:
  - name: Auth
    description: Login no SIGAA e sessão por cookies.
  - name: Classrooms
    description: Turmas, participantes, frequência e resultados acadêmicos.
  - name: Me
    description: Perfil, configurações, documentos e acesso ao RU.
  - name: Public Classrooms
    description: Turmas e unidades do SIGAA.
    x-displayName: Classrooms
  - name: Public Courses
    description: Cursos e currículos por ingresso.
    x-displayName: Courses
  - name: Public Professors
    description: Catálogo de docentes.
    x-displayName: Professors
  - name: Public Restaurant
    description: Cardápio do RU.
    x-displayName: Restaurant
  - name: Public Search
    description: Busca de matérias, cursos e docentes.
    x-displayName: Search
  - name: Public Subjects
    description: Matérias de graduação e suas turmas.
    x-displayName: Subjects
  - name: Posts
    description: Notícias e avaliações das turmas.
paths:
  /me/profile:
    patch:
      tags:
        - Me
      summary: Atualizar foto ou bio no SIGAA
      description: >-
        Omita a bio para preservá-la ou envie uma string vazia para limpá-la. A
        remoção da foto deve ser feita em uma requisição separada. Para
        substituir, envie um único JPEG ou PNG de até 4 MB.
      operationId: update_profile_me_profile_patch
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_update_profile_me_profile_patch'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserProfile'
        '401':
          description: Credenciais ausentes ou inválidas.
        '413':
          description: A foto enviada deve ter até 4 MB.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: SIGAA indisponível.
components:
  schemas:
    Body_update_profile_me_profile_patch:
      properties:
        photo_action:
          type: string
          enum:
            - keep
            - replace
            - remove
          title: Photo Action
        bio:
          anyOf:
            - type: string
            - type: 'null'
          title: Bio
        photo:
          anyOf:
            - type: string
              contentMediaType: application/octet-stream
            - type: 'null'
          title: Photo
      type: object
      required:
        - photo_action
      title: Body_update_profile_me_profile_patch
    UserProfile:
      properties:
        name:
          type: string
          title: Name
        registration:
          type: string
          title: Registration
        photo:
          anyOf:
            - type: string
            - type: 'null'
          title: Photo
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
        bio:
          anyOf:
            - type: string
            - type: 'null'
          title: Bio
        unit:
          anyOf:
            - $ref: '#/components/schemas/UnitRef'
            - type: 'null'
        course:
          anyOf:
            - $ref: '#/components/schemas/CourseRef'
            - type: 'null'
        entry_semester:
          anyOf:
            - type: string
            - type: 'null'
          title: Entry Semester
        integralization:
          anyOf:
            - type: integer
            - type: 'null'
          title: Integralization
        workload:
          anyOf:
            - $ref: '#/components/schemas/CurriculumWorkload'
            - type: 'null'
        period_max_workload:
          anyOf:
            - type: integer
            - type: 'null'
          title: Period Max Workload
        ira:
          anyOf:
            - type: number
            - type: 'null'
          title: Ira
        mp:
          anyOf:
            - type: number
            - type: 'null'
          title: Mp
        level:
          $ref: '#/components/schemas/UserLevel'
      type: object
      required:
        - name
        - registration
        - photo
        - bio
        - unit
        - course
        - entry_semester
        - integralization
        - workload
        - period_max_workload
        - ira
        - mp
        - level
      title: UserProfile
      description: Perfil acadêmico do usuário.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    UnitRef:
      properties:
        id:
          type: integer
          title: Id
        code:
          anyOf:
            - type: string
            - type: 'null'
          title: Code
        name:
          type: string
          title: Name
      type: object
      required:
        - id
        - code
        - name
      title: UnitRef
      description: 'Unidade acadêmica: `id` do SIGAA e sigla em `code`.'
    CourseRef:
      properties:
        id:
          type: integer
          title: Id
        name:
          type: string
          title: Name
        shift:
          anyOf:
            - type: string
            - type: 'null'
          title: Shift
      type: object
      required:
        - id
        - name
        - shift
      title: CourseRef
    CurriculumWorkload:
      properties:
        total:
          type: integer
          title: Total
        pending_mandatory:
          type: integer
          title: Pending Mandatory
        pending_optional:
          type: integer
          title: Pending Optional
        pending_complementary:
          type: integer
          title: Pending Complementary
      type: object
      required:
        - total
        - pending_mandatory
        - pending_optional
        - pending_complementary
      title: CurriculumWorkload
      description: Carga horária do currículo e o que falta integralizar, em horas.
    UserLevel:
      type: string
      enum:
        - Graduação
        - Pós-graduação
        - Mestrado
      title: UserLevel
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.