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

# Create Organization

> Creates an organization.



## OpenAPI

````yaml /api-reference/bko/openapi.json post /api/v1/bko/organizations
openapi: 3.0.0
info:
  title: DEVMOB BKO API
  version: '1.0'
servers: []
security: []
tags:
  - name: Auth
    description: Authentication endpoints.
  - name: Benefit Category
    description: Global fare benefit category endpoints.
  - name: Benefit Program
    description: Platform fare benefit program endpoints.
  - name: Invite
    description: Invitation endpoints.
  - name: Member
    description: BKO internal member endpoints.
  - name: Order
    description: Order query endpoints.
  - name: Organization
    description: Organization management endpoints.
  - name: Organization Address
    description: Organization address endpoints.
  - name: Payment
    description: Payment query endpoints.
  - name: Permission
    description: Permission catalog endpoints.
  - name: Place
    description: Place lookup endpoints.
  - name: Point
    description: Global point catalog endpoints.
  - name: Profile
    description: Authenticated BKO profile endpoints.
  - name: Receivable
    description: Receivable query endpoints.
  - name: Report
    description: Platform report endpoints.
  - name: Role
    description: Internal and reusable role endpoints.
  - name: Storage
    description: Storage upload signing endpoints.
  - name: Transfer
    description: Transfer query endpoints.
  - name: User
    description: Platform user administration endpoints.
paths:
  /api/v1/bko/organizations:
    post:
      tags:
        - Organization
      summary: Create Organization
      description: Creates an organization.
      operationId: createOrganization
      parameters:
        - name: fields
          required: false
          in: query
          description: >-
            Comma-separated list of fields to include in the response. Supports
            dot notation for nested projection (e.g.
            `id,name,user.email,trips.route.id`). Unknown fields are silently
            dropped.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrganizationRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
          description: Created
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: required
                    path: name
                message: Bad Request Error
                statusCode: 400
              schema:
                properties:
                  message:
                    type: string
                  statusCode:
                    enum:
                      - 400
                    type: number
                  errors:
                    items:
                      properties:
                        message:
                          type: string
                        path:
                          type: string
                      required:
                        - message
                        - path
                      type: object
                    type: array
                required:
                  - message
                  - statusCode
                type: object
          description: Bad Request Error
        '401':
          content:
            application/json:
              example:
                message: Missing or invalid access token
                statusCode: 401
              schema:
                properties:
                  message:
                    type: string
                  statusCode:
                    enum:
                      - 401
                    type: number
                required:
                  - message
                  - statusCode
                type: object
          description: Unauthorized
        '403':
          content:
            application/json:
              example:
                message: Insufficient permissions
                statusCode: 403
              schema:
                properties:
                  message:
                    type: string
                  statusCode:
                    enum:
                      - 403
                    type: number
                required:
                  - message
                  - statusCode
                type: object
          description: Forbidden
        '500':
          content:
            application/json:
              example:
                message: Internal Server Error
                statusCode: 500
              schema:
                properties:
                  message:
                    type: string
                  statusCode:
                    enum:
                      - 500
                    type: number
                required:
                  - message
                  - statusCode
                type: object
          description: Internal Server Error
      security:
        - bearer: []
components:
  schemas:
    CreateOrganizationRequest:
      type: object
      properties:
        type:
          type: string
          enum:
            - COOPERATIVE
            - COMPANY
          description: Organization type
        name:
          type: string
          description: Legal or trade name
        document:
          type: string
          description: Organization document
        documentType:
          type: string
          enum:
            - CPF
            - CNPJ
            - RG
          description: Document type
        logo:
          type: string
          description: Logo object key
          nullable: true
        phoneIso:
          type: string
          description: Phone ISO country code
          nullable: true
        phoneDdi:
          type: string
          description: International dialing code
          nullable: true
        phoneNumber:
          type: string
          description: Phone number
          nullable: true
        email:
          type: string
          description: Contact email
          nullable: true
          format: email
        owner:
          type: object
          properties:
            email:
              type: string
              description: Invitee email
              nullable: true
              format: email
            phoneIso:
              type: string
              description: Phone ISO country code
              nullable: true
            phoneDdi:
              type: string
              description: International dialing code
            phoneNumber:
              type: string
              description: Phone number without country code
          required:
            - phoneDdi
            - phoneNumber
          description: Initial owner invite data
        company:
          type: object
          properties:
            cooperativeId:
              type: string
              format: uuid
              description: Cooperative identifier that administers the company
            anttCode:
              type: string
              description: ANTT registration code
              nullable: true
          required:
            - cooperativeId
          nullable: true
          description: Company-specific data. Required when type is COMPANY.
      required:
        - type
        - name
        - document
        - documentType
        - owner
      description: Create organization payload
    Organization:
      type: object
      properties:
        organizationId:
          type: string
          format: uuid
          description: Identificador único
        type:
          type: string
          enum:
            - COOPERATIVE
            - COMPANY
          description: Tipo da organização
        name:
          type: string
          description: Razão social ou nome fantasia
        document:
          type: string
          description: CNPJ da organização
        documentType:
          type: string
          enum:
            - CPF
            - CNPJ
            - RG
          description: Tipo do documento
        logo:
          type: string
          nullable: true
          description: Chave do objeto de armazenamento do logotipo
        phoneIso:
          type: string
          nullable: true
          description: Código ISO do país do telefone
        phoneDdi:
          type: string
          nullable: true
          description: DDI do telefone
        phoneNumber:
          type: string
          nullable: true
          description: Número do telefone
        phoneVerified:
          type: boolean
          description: Indica se o telefone foi verificado
        email:
          type: string
          nullable: true
          description: Email de contato da organização
        emailVerified:
          type: boolean
          description: Indica se o email foi verificado
        status:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
            - BLOCKED
          description: Status operacional da organização
        createdBy:
          type: string
          format: uuid
          nullable: true
          description: Usuário que criou o registro, quando aplicável
        createdAt:
          type: string
          format: date-time
          description: Data de criação
        updatedBy:
          type: string
          format: uuid
          nullable: true
          description: Usuário que fez a última atualização, quando aplicável
        updatedAt:
          type: string
          format: date-time
          description: Data da última atualização
        deletedBy:
          type: string
          format: uuid
          nullable: true
          description: Usuário que removeu o registro, quando aplicável
        deletedAt:
          type: string
          format: date-time
          nullable: true
          description: Data de remoção
      required:
        - organizationId
        - type
        - name
        - document
        - documentType
        - logo
        - phoneIso
        - phoneDdi
        - phoneNumber
        - phoneVerified
        - email
        - emailVerified
        - status
        - createdBy
        - createdAt
        - updatedBy
        - updatedAt
        - deletedBy
        - deletedAt
      description: Entidade base de tenant para RBAC, cooperativas e empresas
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````