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

# Compute a nightly planner score and target recommendations.



## OpenAPI

````yaml /api-reference/openapi.json get /planner
openapi: 3.0.3
info:
  title: Nebyoulous API
  description: >-
    REST API behind the Nebyoulous web app, CLI, and MCP server. Requests that
    act on your data need a bearer token.
  version: 0.0.0
servers:
  - url: https://api.nebyoulous.space
    description: Production
security: []
tags:
  - name: System
    description: Service health.
  - name: Account
    description: The signed-in user and their profile.
  - name: Integration sets
    description: Sets of frames for one target.
  - name: Uploads
    description: Presigned uploads into an integration set.
  - name: Assets
    description: Download, view, preview, and delete uploaded files.
  - name: Stacking and analysis
    description: >-
      Stack jobs, frame analysis, and frame QA. All run asynchronously: submit,
      then poll.
  - name: Exports
    description: Export an integration set as an archive.
  - name: Gear and rigs
    description: Equipment items and the rigs built from them.
  - name: Planner
    description: Nightly scores, saved locations, and sessions.
  - name: Catalog
    description: The deep-sky object catalog.
  - name: Light pollution
    description: Sky brightness for a location.
  - name: Posts
    description: Your drafts and published posts.
  - name: Public posts
    description: Published posts anyone can read.
  - name: Comments and annotations
    description: Threads and replies on published posts.
  - name: Mentions
    description: Mentions of you in comments.
  - name: Advisor usage
    description: Your advisor usage ledger.
paths:
  /planner:
    get:
      tags:
        - Planner
      summary: Compute a nightly planner score and target recommendations.
      parameters:
        - schema:
            type: number
            minimum: -90
            maximum: 90
          in: query
          name: lat
          required: true
        - schema:
            type: number
            minimum: -180
            maximum: 180
          in: query
          name: lng
          required: true
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
          in: query
          name: date
          required: false
        - schema:
            type: string
          in: query
          name: refresh
          required: false
        - schema:
            type: integer
            minimum: 1
            maximum: 4
          in: query
          name: bucketHours
          required: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  date:
                    type: string
                  location:
                    type: object
                    properties:
                      lat:
                        type: number
                      lng:
                        type: number
                      label:
                        nullable: true
                        type: string
                    required:
                      - lat
                      - lng
                      - label
                    additionalProperties: false
                  score:
                    type: number
                  summary:
                    type: string
                  conditions:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        label:
                          type: string
                        value:
                          anyOf:
                            - type: number
                            - type: string
                        unit:
                          type: string
                        score:
                          type: number
                        weight:
                          type: number
                      required:
                        - key
                        - label
                        - value
                        - score
                        - weight
                      additionalProperties: false
                  weather:
                    type: object
                    properties:
                      defaultWindowKey:
                        type: string
                      bucketHours:
                        type: number
                      windows:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                            label:
                              type: string
                            start:
                              type: string
                            end:
                              type: string
                            durationHours:
                              type: number
                            score:
                              type: number
                            summary:
                              type: string
                            cloudCover:
                              type: number
                            windSpeed:
                              type: number
                            humidity:
                              type: number
                            cloudScore:
                              type: number
                            conditions:
                              type: array
                              items:
                                type: object
                                properties:
                                  key:
                                    type: string
                                  label:
                                    type: string
                                  value:
                                    anyOf:
                                      - type: number
                                      - type: string
                                  unit:
                                    type: string
                                  score:
                                    type: number
                                  weight:
                                    type: number
                                required:
                                  - key
                                  - label
                                  - value
                                  - score
                                  - weight
                                additionalProperties: false
                          required:
                            - key
                            - label
                            - start
                            - end
                            - durationHours
                            - score
                            - summary
                            - cloudCover
                            - windSpeed
                            - humidity
                            - cloudScore
                            - conditions
                          additionalProperties: false
                      hourly:
                        type: array
                        items:
                          type: object
                          properties:
                            time:
                              type: string
                            cloudCover:
                              type: number
                            windSpeed:
                              type: number
                            humidity:
                              type: number
                          required:
                            - time
                            - cloudCover
                            - windSpeed
                            - humidity
                          additionalProperties: false
                    required:
                      - defaultWindowKey
                      - bucketHours
                      - windows
                      - hourly
                    additionalProperties: false
                  moon:
                    type: object
                    properties:
                      phase:
                        type: string
                      illumination:
                        type: number
                      riseTime:
                        nullable: true
                        type: string
                      setTime:
                        nullable: true
                        type: string
                      aboveHorizonDuringDark:
                        type: boolean
                    required:
                      - phase
                      - illumination
                      - riseTime
                      - setTime
                      - aboveHorizonDuringDark
                    additionalProperties: false
                  darkness:
                    type: object
                    properties:
                      start:
                        type: string
                      end:
                        type: string
                      durationHours:
                        type: number
                    required:
                      - start
                      - end
                      - durationHours
                    additionalProperties: false
                  targets:
                    type: array
                    items:
                      type: object
                      properties:
                        catalogId:
                          type: string
                        name:
                          type: string
                        type:
                          type: string
                        ra:
                          type: number
                        dec:
                          type: number
                        magnitude:
                          nullable: true
                          type: number
                        sizeArcmin:
                          nullable: true
                          type: number
                        transitTime:
                          type: string
                        maxAltitude:
                          type: number
                        moonSeparation:
                          type: number
                        previouslyImaged:
                          type: boolean
                        lastImagedDate:
                          nullable: true
                          type: string
                        score:
                          type: number
                        summary:
                          type: string
                      required:
                        - name
                        - type
                        - ra
                        - dec
                        - magnitude
                        - sizeArcmin
                        - transitTime
                        - maxAltitude
                        - moonSeparation
                        - previouslyImaged
                        - lastImagedDate
                        - score
                        - summary
                      additionalProperties: false
                  targetsEmptyReason:
                    type: string
                    enum:
                      - no_catalog
                      - none_in_window
                required:
                  - date
                  - location
                  - score
                  - summary
                  - conditions
                  - weather
                  - moon
                  - darkness
                  - targets
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - message
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - message
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - message
                additionalProperties: false
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        An access token issued by a Nebyoulous sign-in: the web session,
        `nebyoulous login`, or an MCP OAuth grant.

````

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