Octopod Ancestry API

REST API (Swagger 2.0, 99 operations across 79 paths) for the Galatea Bio Octopod platform. Covers JWT authentication, source-file upload/validation, execution orders against named analysis models, tag management, result and PDF report retrieval, organization/SFTP administration, webhook configuration, credit accounting and dashboards. Bearer-token auth; page/page_size pagination.

Documentation

Specifications

Other Resources

OpenAPI Specification

galatea-bio-octopod-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Octopod API
  version: v1
host: api.galatea.bio
schemes:
- https
basePath: /api/v1
consumes:
- application/json
produces:
- application/json
securityDefinitions:
  Bearer:
    type: apiKey
    name: Authorization
    in: header
security:
- Bearer: []
paths:
  /credit/balance:
    get:
      operationId: credit_balance_list
      description: Get credit balances
      parameters:
      - name: page
        in: query
        description: A page number within the paginated result set.
        required: false
        type: integer
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        type: integer
      - name: orgs_ids
        in: query
        description: Ids of organizations
        required: false
        type: array
        items:
          type: string
      responses:
        '401':
          description: unauthorized
        '403':
          description: forbidden
        '200':
          description: Credit balances list
          schema:
            required:
            - count
            - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      title: Id
                      type: string
                      format: uuid
                      readOnly: true
                    org_id:
                      title: Org id
                      type: string
                      readOnly: true
                    balance:
                      title: Balance
                      type: string
                      readOnly: true
                    created_at:
                      title: Created at
                      type: string
                      format: date-time
                      readOnly: true
                    updated_at:
                      title: Updated at
                      type: string
                      format: date-time
                      readOnly: true
      tags:
      - credit
    parameters: []
  /credit/exchange:
    get:
      operationId: credit_exchange_list
      description: Get credit exchanges
      parameters:
      - name: page
        in: query
        description: A page number within the paginated result set.
        required: false
        type: integer
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        type: integer
      - name: orgs_ids
        in: query
        description: Ids of organizations
        required: false
        type: array
        items:
          type: string
      responses:
        '401':
          description: unauthorized
        '403':
          description: forbidden
        '200':
          description: Credit exchanges list
          schema:
            required:
            - count
            - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  required:
                  - credit_tariff
                  type: object
                  properties:
                    id:
                      title: Id
                      type: string
                      format: uuid
                      readOnly: true
                    credit_tariff:
                      required:
                      - credit_service
                      type: object
                      properties:
                        id:
                          title: Id
                          type: string
                          format: uuid
                          readOnly: true
                        credit_service:
                          required:
                          - type
                          type: object
                          properties:
                            id:
                              title: Id
                              type: string
                              format: uuid
                              readOnly: true
                            name:
                              title: Name
                              type: string
                              readOnly: true
                            type:
                              title: Type
                              type: string
                              enum:
                              - EXECUTE_MODEL_WGS
                              - EXECUTE_MODEL_GNT
                              - REPLENISHMENT
                              - GENERATE_PDF_REPORT_ANCESTRY
                              - GENERATE_PDF_REPORT_PRS_RUO_CARDIO
                              - GENERATE_PDF_REPORT_PRS_RUO_CANCER
                              - GENERATE_PDF_REPORT_PRS_CLINICAL
                              - GENERATE_PDF_REPORT_PRS_CLINICAL_CARDIO
                              - GENERATE_PDF_REPORT_PRS_CLINICAL_CANCER
                            named_model:
                              required:
                              - id
                              - model_name
                              type: object
                              properties:
                                id:
                                  title: Id
                                  type: string
                                  format: uuid
                                model_name:
                                  title: Model name
                                  type: string
                                  minLength: 1
                              x-nullable: true
                            created_at:
                              title: Created at
                              type: string
                              format: date-time
                              readOnly: true
                        org_id:
                          title: Org id
                          type: string
                          readOnly: true
                        price:
                          title: Price
                          type: string
                          readOnly: true
                        updated_at:
                          title: Updated at
                          type: string
                          format: date-time
                          readOnly: true
                        created_at:
                          title: Created at
                          type: string
                          format: date-time
                          readOnly: true
                    org_id:
                      title: Org id
                      type: string
                      readOnly: true
                    rate:
                      title: Rate
                      type: string
                      readOnly: true
                    currency_from:
                      title: Currency from
                      type: string
                      readOnly: true
                    updated_at:
                      title: Updated at
                      type: string
                      format: date-time
                      readOnly: true
                    created_at:
                      title: Created at
                      type: string
                      format: date-time
                      readOnly: true
      tags:
      - credit
    post:
      operationId: credit_exchange_create
      description: Create credit exchange
      parameters:
      - name: data
        in: body
        required: true
        schema:
          required:
          - org_id
          - price
          - rate
          - currency_from
          type: object
          properties:
            org_id:
              title: Org id
              type: string
              format: uuid
            price:
              title: Price
              type: integer
            rate:
              title: Rate
              type: number
            currency_from:
              title: Currency from
              type: string
              minLength: 1
      responses:
        '400':
          description: Bad request
        '401':
          description: Unauthorized request
        '403':
          description: Forbidden
        '406':
          description: Not acceptable
        '201':
          description: New credit exchange
          schema:
            required:
            - credit_tariff
            type: object
            properties:
              id:
                title: Id
                type: string
                format: uuid
                readOnly: true
              credit_tariff:
                required:
                - credit_service
                type: object
                properties:
                  id:
                    title: Id
                    type: string
                    format: uuid
                    readOnly: true
                  credit_service:
                    required:
                    - type
                    type: object
                    properties:
                      id:
                        title: Id
                        type: string
                        format: uuid
                        readOnly: true
                      name:
                        title: Name
                        type: string
                        readOnly: true
                      type:
                        title: Type
                        type: string
                        enum:
                        - EXECUTE_MODEL_WGS
                        - EXECUTE_MODEL_GNT
                        - REPLENISHMENT
                        - GENERATE_PDF_REPORT_ANCESTRY
                        - GENERATE_PDF_REPORT_PRS_RUO_CARDIO
                        - GENERATE_PDF_REPORT_PRS_RUO_CANCER
                        - GENERATE_PDF_REPORT_PRS_CLINICAL
                        - GENERATE_PDF_REPORT_PRS_CLINICAL_CARDIO
                        - GENERATE_PDF_REPORT_PRS_CLINICAL_CANCER
                      named_model:
                        required:
                        - id
                        - model_name
                        type: object
                        properties:
                          id:
                            title: Id
                            type: string
                            format: uuid
                          model_name:
                            title: Model name
                            type: string
                            minLength: 1
                        x-nullable: true
                      created_at:
                        title: Created at
                        type: string
                        format: date-time
                        readOnly: true
                  org_id:
                    title: Org id
                    type: string
                    readOnly: true
                  price:
                    title: Price
                    type: string
                    readOnly: true
                  updated_at:
                    title: Updated at
                    type: string
                    format: date-time
                    readOnly: true
                  created_at:
                    title: Created at
                    type: string
                    format: date-time
                    readOnly: true
              org_id:
                title: Org id
                type: string
                readOnly: true
              rate:
                title: Rate
                type: string
                readOnly: true
              currency_from:
                title: Currency from
                type: string
                readOnly: true
              updated_at:
                title: Updated at
                type: string
                format: date-time
                readOnly: true
              created_at:
                title: Created at
                type: string
                format: date-time
                readOnly: true
      tags:
      - credit
    parameters: []
  /credit/exchange/{credit_exchange_id}:
    put:
      operationId: credit_exchange_update
      description: Edit credit exchange
      parameters:
      - name: data
        in: body
        required: true
        schema:
          required:
          - rate
          - price
          - currency_from
          type: object
          properties:
            rate:
              title: Rate
              type: number
            price:
              title: Price
              type: integer
            currency_from:
              title: Currency from
              type: string
              minLength: 1
      - name: credit_exchange_id
        in: path
        description: Id of credit exchange
        required: true
        type: string
      responses:
        '400':
          description: Bad request
        '401':
          description: Unauthorized request
        '403':
          description: Forbidden
        '406':
          description: Not acceptable
        '200':
          description: Updated credit exchange
          schema:
            required:
            - credit_tariff
            type: object
            properties:
              id:
                title: Id
                type: string
                format: uuid
                readOnly: true
              credit_tariff:
                required:
                - credit_service
                type: object
                properties:
                  id:
                    title: Id
                    type: string
                    format: uuid
                    readOnly: true
                  credit_service:
                    required:
                    - type
                    type: object
                    properties:
                      id:
                        title: Id
                        type: string
                        format: uuid
                        readOnly: true
                      name:
                        title: Name
                        type: string
                        readOnly: true
                      type:
                        title: Type
                        type: string
                        enum:
                        - EXECUTE_MODEL_WGS
                        - EXECUTE_MODEL_GNT
                        - REPLENISHMENT
                        - GENERATE_PDF_REPORT_ANCESTRY
                        - GENERATE_PDF_REPORT_PRS_RUO_CARDIO
                        - GENERATE_PDF_REPORT_PRS_RUO_CANCER
                        - GENERATE_PDF_REPORT_PRS_CLINICAL
                        - GENERATE_PDF_REPORT_PRS_CLINICAL_CARDIO
                        - GENERATE_PDF_REPORT_PRS_CLINICAL_CANCER
                      named_model:
                        required:
                        - id
                        - model_name
                        type: object
                        properties:
                          id:
                            title: Id
                            type: string
                            format: uuid
                          model_name:
                            title: Model name
                            type: string
                            minLength: 1
                        x-nullable: true
                      created_at:
                        title: Created at
                        type: string
                        format: date-time
                        readOnly: true
                  org_id:
                    title: Org id
                    type: string
                    readOnly: true
                  price:
                    title: Price
                    type: string
                    readOnly: true
                  updated_at:
                    title: Updated at
                    type: string
                    format: date-time
                    readOnly: true
                  created_at:
                    title: Created at
                    type: string
                    format: date-time
                    readOnly: true
              org_id:
                title: Org id
                type: string
                readOnly: true
              rate:
                title: Rate
                type: string
                readOnly: true
              currency_from:
                title: Currency from
                type: string
                readOnly: true
              updated_at:
                title: Updated at
                type: string
                format: date-time
                readOnly: true
              created_at:
                title: Created at
                type: string
                format: date-time
                readOnly: true
      tags:
      - credit
    delete:
      operationId: credit_exchange_delete
      description: Delete credit exchange
      parameters:
      - name: credit_exchange_id
        in: path
        description: Id of credit exchange
        required: true
        type: string
      responses:
        '401':
          description: unauthorized
        '403':
          description: forbidden
        '404':
          description: not found
        '200':
          description: ok
      tags:
      - credit
    parameters:
    - name: credit_exchange_id
      in: path
      required: true
      type: string
  /credit/ledger:
    get:
      operationId: credit_ledger_list
      description: Get credit ledger
      parameters:
      - name: page
        in: query
        description: A page number within the paginated result set.
        required: false
        type: integer
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        type: integer
      - name: orgs_ids
        in: query
        description: Search by ids of organizations
        required: false
        type: array
        items:
          type: string
      - name: order_id
        in: query
        description: Search by order id
        required: false
        type: string
      - name: credit_service_types
        in: query
        description: Search by credit service type
        required: false
        type: array
        items:
          type: string
          enum:
          - EXECUTE_MODEL_WGS
          - EXECUTE_MODEL_GNT
          - REPLENISHMENT
          - GENERATE_PDF_REPORT_ANCESTRY
          - GENERATE_PDF_REPORT_PRS_RUO_CARDIO
          - GENERATE_PDF_REPORT_PRS_RUO_CANCER
          - GENERATE_PDF_REPORT_PRS_CLINICAL
          - GENERATE_PDF_REPORT_PRS_CLINICAL_CARDIO
          - GENERATE_PDF_REPORT_PRS_CLINICAL_CANCER
      - name: model_api_names
        in: query
        description: Search by model api name
        required: false
        type: array
        items:
          type: string
          enum:
          - skywalker
          - hutt
          - palpatine
          - vader
          - mysterio
      - name: min_date
        in: query
        description: Search by date range
        required: false
        type: string
        format: date
        pattern: YYYY-MM-DD
        example: '2000-01-01'
      - name: max_date
        in: query
        description: Search by date range
        required: false
        type: string
        format: date
        pattern: YYYY-MM-DD
        example: '2000-01-01'
      - name: show_full
        in: query
        description: Show full ledger
        required: false
        type: boolean
      responses:
        '401':
          description: unauthorized
        '403':
          description: forbidden
        '200':
          description: Credit ledger
          schema:
            required:
            - count
            - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  required:
                  - id
                  - name
                  - transaction_id
                  - order_id
                  - status
                  - type
                  - comment
                  - json_comment
                  - org_id
                  - amount
                  - balance_from
                  - balance_to
                  - created_at
                  type: object
                  properties:
                    id:
                      title: Id
                      type: string
                      format: uuid
                    name:
                      title: Name
                      type: string
                      minLength: 1
                    transaction_id:
                      title: Transaction id
                      type: string
                      format: uuid
                    order_id:
                      title: Order id
                      type: string
                      format: uuid
                    status:
                      title: Status
                      type: string
                      minLength: 1
                    type:
                      title: Type
                      type: string
                      minLength: 1
                    comment:
                      title: Comment
                      type: string
                      minLength: 1
                    json_comment:
                      title: Json comment
                      type: object
                      additionalProperties:
                        type: string
                        x-nullable: true
                    org_id:
                      title: Org id
                      type: string
                      format: uuid
                    amount:
                      title: Amount
                      type: integer
                    balance_from:
                      title: Balance from
                      type: integer
                    balance_to:
                      title: Balance to
                      type: integer
                    created_at:
                      title: Created at
                      type: string
                      format: date-time
      tags:
      - credit
    parameters: []
  /credit/quickbooks_auth:
    get:
      operationId: credit_quickbooks_auth_list
      description: ''
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - credit
    parameters: []
  /credit/quickbooks_webhook:
    post:
      operationId: credit_quickbooks_webhook_create
      description: ''
      parameters: []
      responses:
        '201':
          description: ''
      tags:
      - credit
    parameters: []
  /credit/replenish:
    post:
      operationId: credit_replenish_create
      description: Replenish credits for organization
      parameters:
      - name: data
        in: body
        required: true
        schema:
          required:
          - org_id
          - amount
          type: object
          properties:
            org_id:
              title: Org id
              type: string
              format: uuid
            amount:
              title: Amount
              type: integer
      responses:
        '400':
          description: Bad request
        '401':
          description: Unauthorized request
        '403':
          description: Forbidden
        '406':
          description: Not acceptable
        '200':
          description: Organization credit balance
          schema:
            type: object
            properties:
              id:
                title: Id
                type: string
                format: uuid
                readOnly: true
              org_id:
                title: Org id
                type: string
                readOnly: true
              balance:
                title: Balance
                type: string
                readOnly: true
              created_at:
                title: Created at
                type: string
                format: date-time
                readOnly: true
              updated_at:
                title: Updated at
                type: string
                format: date-time
                readOnly: true
      tags:
      - credit
    parameters: []
  /credit/service:
    get:
      operationId: credit_service_list
      description: Get credit services
      parameters:
      - name: page
        in: query
        description: A page number within the paginated result set.
        required: false
        type: integer
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        type: integer
      - name: model_api_names
        in: query
        description: Search by model api name
        required: false
        type: array
        items:
          type: string
          enum:
          - skywalker
          - hutt
          - palpatine
          - vader
          - mysterio
      responses:
        '401':
          description: unauthorized
        '403':
          description: forbidden
        '200':
          description: Credit services list
          schema:
            required:
            - count
            - results
            type: object
            properties:
              count:
                type: integer
              next:
                type: string
                format: uri
                x-nullable: true
              previous:
                type: string
                format: uri
                x-nullable: true
              results:
                type: array
                items:
                  required:
                  - type
                  type: object
                  properties:
                    id:
                      title: Id
                      type: string
                      format: uuid
                      readOnly: true
                    name:
                      title: Name
                      type: string
                      readOnly: true
                    type:
                      title: Type
                      type: string
                      enum:
                      - EXECUTE_MODEL_WGS
                      - EXECUTE_MODEL_GNT
                      - REPLENISHMENT
                      - GENERATE_PDF_REPORT_ANCESTRY
                      - GENERATE_PDF_REPORT_PRS_RUO_CARDIO
                      - GENERATE_PDF_REPORT_PRS_RUO_CANCER
                      - GENERATE_PDF_REPORT_PRS_CLINICAL
                      - GENERATE_PDF_REPORT_PRS_CLINICAL_CARDIO
                      - GENERATE_PDF_REPORT_PRS_CLINICAL_CANCER
                    named_model:
                      required:
                      - id
                      - model_name
                      type: object
                      properties:
                        id:
                          title: Id
                          type: string
                          format: uuid
                        model_name:
                          title: Model name
                          type: string
                          minLength: 1
                      x-nullable: true
                    created_at:
                      title: Created at
                      type: string
                      format: date-time
                      readOnly: true
      tags:
      - credit
    post:
      operationId: credit_service_create
      description: Create credit service
      parameters:
      - name: data
        in: body
        required: true
        schema:
          required:
          - type
          type: object
          properties:
            named_model_id:
              title: Named model id
              type: string
              format: uuid
              x-nullable: true
            type:
              title: Type
              type: string
              enum:
              - EXECUTE_MODEL_WGS
              - EXECUTE_MODEL_GNT
              - REPLENISHMENT
              - GENERATE_PDF_REPORT_ANCESTRY
              - GENERATE_PDF_REPORT_PRS_RUO_CARDIO
              - GENERATE_PDF_REPORT_PRS_RUO_CANCER
              - GENERATE_PDF_REPORT_PRS_CLINICAL
              - GENERATE_PDF_REPORT_PRS_CLINICAL_CARDIO
              - GENERATE_PDF_REPORT_PRS_CLINICAL_CANCER
      responses:
        '400':
          description: Bad request
        '401':
          description: Unauthorized request
        '403':
          description: Forbidden
        '406':
          description: Not acceptable
        '201':
          description: New credit service
          schema:
            required:
            - type
            type: object
            properties:
              id:
                title: Id
                type: string
                format: uuid
                readOnly: true
              name:
                title: Name
                type: string
                readOnly: true
              type:
                title: Type
                type: string
                enum:
                - EXECUTE_MODEL_WGS
                - EXECUTE_MODEL_GNT
                - REPLENISHMENT
                - GENERATE_PDF_REPORT_ANCESTRY
                - GENERATE_PDF_REPORT_PRS_RUO_CARDIO
                - GENERATE_PDF_REPORT_PRS_RUO_CANCER
                - GENERATE_PDF_REPORT_PRS_CLINICAL
                - GENERATE_PDF_REPORT_PRS_CLINICAL_CARDIO
                - GENERATE_PDF_REPORT_PRS_CLINICAL_CANCER
              named_model:
                required:
                - id
                - model_name
                type: object
                properties:
                  id:
                    title: Id
                    type: string
                    format: uuid
                  model_name:
                    title: Model name
                    type: string
                    minLength: 1
                x-nullable: true
              created_at:
                title: Created at
                type: string
                format: date-time
                readOnly: true
      tags:
      - credit
    parameters: []
  /credit/service/{credit_service_id}:
    delete:
      operationId: credit_service_delete
      description: Delete credit service
      parameters:
      - name: credit_service_id
        in: path
        description: Id of credit service
        required: true
        type: string
      responses:
        '401':
          description: unauthorized
        '403':
          description: forbidden
        '404':
          description: not found
        '200':
          description: ok
      tags:
      - credit
    parameters:
    - name: credit_service_id
      in: path
      required: true
      type: string
  /credit/tariff:
    get:
      operationId: credit_tariff_list
      description: Get credit tariffs
      parameters:
      - name: page
        in: query
        description: A page number within the paginated result set.
        required: false
        type: integer
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        type: integer
      - name: orgs_ids
        in: query
        description: Ids of organizations
        required: false
        type: array
        items:
          type: string
      - name: credit_service_types
        in: query
        description: Search by credit service type
        required: false
        type: array
        items:
          type: string
          enum:
          - EXECUTE_MODEL_WGS
          - EXECUTE_MODEL_GNT
          - REPLENISHMENT
          - GENERATE_PDF_REPORT_ANCESTRY
          - GENERATE_PDF_REPORT_PRS_RUO_CARDIO
          - GENERATE_PDF_REPORT_PRS_RUO_CANCER
          - GENERATE_PDF_REPORT_PRS_CLINICAL
          - GENERATE_PDF_REPORT_PRS_CLINICAL_CARDIO
          - GENERATE_PDF_REPORT_PRS_CLINICAL_CANCER
      - name: model_api_names
        in: query
        descriptio

# --- truncated at 32 KB (202 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/galatea-bio/refs/heads/main/openapi/galatea-bio-octopod-openapi.yml