> ## 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.

# Get Benefit Program

> Returns a platform fare benefit program.



## OpenAPI

````yaml /api-reference/bko/openapi.json get /api/v1/bko/benefit-programs/{fareBenefitProgramId}
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/benefit-programs/{fareBenefitProgramId}:
    get:
      tags:
        - Benefit Program
      summary: Get Benefit Program
      description: Returns a platform fare benefit program.
      operationId: getBkoBenefitProgram
      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
        - name: fareBenefitProgramId
          required: true
          in: path
          description: Fare benefit program identifier
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FareBenefitProgram'
        '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
components:
  schemas:
    FareBenefitProgram:
      type: object
      properties:
        fareBenefitProgramId:
          type: string
          format: uuid
          description: Identificador único
        fareBenefitCategoryId:
          type: string
          format: uuid
          description: Categoria genérica do benefício
        companyId:
          type: string
          format: uuid
          nullable: true
          description: Empresa dona do programa, quando for benefício comercial da empresa
        routeId:
          type: string
          format: uuid
          nullable: true
          description: Rota em que o programa se aplica, quando houver restrição por rota
        code:
          type: string
          description: Código estável do programa
        name:
          type: string
          description: Nome exibido do programa
        description:
          type: string
          nullable: true
          description: Descrição operacional do programa
        ownerType:
          type: string
          enum:
            - PLATFORM
            - COMPANY
          description: Dono da regra de aplicação
        reviewOwnerType:
          type: string
          enum:
            - PLATFORM
            - COMPANY
          description: Responsável por validar documentos e aprovar solicitações
        discountType:
          type: string
          enum:
            - PERCENTAGE
            - FIXED_AMOUNT
          description: Forma de cálculo do benefício
        discountValue:
          type: integer
          description: >-
            Valor do desconto em basis points ou centavos, conforme
            `discountType`
        maxDiscountAmount:
          type: integer
          nullable: true
          description: Valor máximo de desconto em centavos
        priority:
          type: integer
          description: Prioridade de aplicação quando mais de um programa é elegível
        cumulative:
          type: boolean
          description: Indica se pode acumular com outro benefício
        startsAt:
          type: string
          format: date-time
          nullable: true
          description: Início da vigência
        endsAt:
          type: string
          format: date-time
          nullable: true
          description: Fim da vigência
        status:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
          description: Status do programa
        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 lógica
      required:
        - fareBenefitProgramId
        - fareBenefitCategoryId
        - companyId
        - routeId
        - code
        - name
        - description
        - ownerType
        - reviewOwnerType
        - discountType
        - discountValue
        - maxDiscountAmount
        - priority
        - cumulative
        - startsAt
        - endsAt
        - status
        - createdBy
        - createdAt
        - updatedBy
        - updatedAt
        - deletedBy
        - deletedAt
      description: Programa que define como uma categoria de benefício tarifário é aplicada

````