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

# Create an edge and generate its static token (shown once)



## OpenAPI

````yaml https://portal.unicontrol.me/v1/openapi post /v1/edges
openapi: 3.1.0
info:
  title: Unicontrol API
  description: Welcome
  version: 1.0.0
servers:
  - url: http://0.0.0.0:3000
    description: Local Server
  - url: https://portal.test.flexhome.casa
    description: Development
  - url: https://portal.unicontrol.me
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/edges:
    post:
      tags:
        - Edges
      summary: Create an edge and generate its static token (shown once)
      operationId: postV1Edges
      parameters:
        - in: header
          name: X-Organization-Id
          required: false
          schema:
            type: string
          description: >-
            ID da organização para contexto (opcional). Quando presente, filtra
            recursos da org.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - location
              properties:
                name:
                  type: string
                  description: 'Nome do edge (ex: casa-1)'
                location:
                  type: string
                  enum:
                    - cloud
                    - home
                kind:
                  type: string
                  enum:
                    - integration
                    - automation
            example:
              name: casa-1
              location: home
      responses:
        '201':
          description: Edge created. edge_token is returned only once.
          content:
            application/json:
              schema:
                type: object
                properties:
                  edge:
                    type: object
                    properties:
                      id:
                        type: integer
                      name:
                        type: string
                      org_id:
                        type: string
                        nullable: true
                      user_id:
                        type: string
                      location:
                        type: string
                        enum:
                          - cloud
                          - home
                      status:
                        type: string
                        enum:
                          - pending
                          - paired
                          - offline
                          - online
                      capabilities:
                        type: object
                      last_seen_at:
                        type: string
                        format: date-time
                        nullable: true
                      paired_at:
                        type: string
                        format: date-time
                        nullable: true
                      created_at:
                        type: string
                        format: date-time
                  edge_token:
                    type: string
                    description: >-
                      Token estático mostrado uma única vez. Guarde no .env do
                      worker.
              example:
                edge:
                  id: 1
                  name: casa-1
                  org_id: null
                  user_id: user_abc123
                  location: home
                  status: pending
                  capabilities: {}
                  last_seen_at: null
                  paired_at: null
                  created_at: '2026-05-21T10:00:00Z'
                edge_token: edge_aB3cD4eF...
        '400':
          description: Dados inválidos
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
              example:
                message: validation error
        '401':
          description: Não autenticado
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: unauthorized
        '403':
          description: Acesso negado
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: forbidden
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````