Arlula Archive API

Search and order historical satellite imagery

OpenAPI Specification

arlula-archive-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Arlula Archive API
  description: 'The Arlula API provides programmatic access to satellite imagery ordering, archive search, tasking, and earth observation data services. The API covers four main areas: Archive (historical imagery search and ordering), Tasking (future satellite capture scheduling), Orders Management (order tracking and resource downloads), and connection testing.'
  version: 2025-10
  contact:
    name: Arlula Support
    url: https://arlula.com/
  x-generated-from: documentation
  x-last-validated: '2026-04-19'
servers:
- url: https://api.arlula.com
  description: Production API
security:
- BasicAuth: []
tags:
- name: Archive
  description: Search and order historical satellite imagery
paths:
  /api/archive/search:
    post:
      operationId: searchArchive
      summary: Arlula Search Archive Imagery
      description: Search the Arlula satellite imagery archive and its suppliers for historical imagery matching specified date, location, and quality criteria. Returns available scenes with pricing, bands, and bundle options.
      tags:
      - Archive
      requestBody:
        required: true
        description: Archive imagery search parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArchiveSearchRequest'
            examples:
              searchArchiveRequestExample:
                summary: Default searchArchive request
                x-microcks-default: true
                value:
                  start: '2025-01-01'
                  end: '2025-03-31'
                  gsd: 1.5
                  lat: -33.8523
                  long: 151.2108
                  cloud: 20
      responses:
        '200':
          description: Successfully retrieved archive search results.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ArchiveScene'
              examples:
                searchArchive200Example:
                  summary: Default searchArchive 200 response
                  x-microcks-default: true
                  value:
                  - id: scene-a1b2c3d4
                    supplier: supplier-001
                    captureDate: '2025-02-15'
                    gsd: 1.5
                    cloudCover: 12
                    offNadir: 15.2
                    price: 150.0
                    bundles:
                    - key: bundle-basic
                      name: Basic Bundle
                      price: 150.0
        '400':
          description: Malformed request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/archive/scene:
    get:
      operationId: getArchiveScene
      summary: Arlula Get Archive Scene Details
      description: Retrieve details for a previously returned archive search result by its ordering ID.
      tags:
      - Archive
      parameters:
      - name: id
        in: query
        required: true
        description: The ordering ID of the archive scene to retrieve.
        schema:
          type: string
          format: uuid
        example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
      responses:
        '200':
          description: Successfully retrieved scene details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchiveScene'
              examples:
                getArchiveScene200Example:
                  summary: Default getArchiveScene 200 response
                  x-microcks-default: true
                  value:
                    id: scene-a1b2c3d4
                    supplier: supplier-001
                    captureDate: '2025-02-15'
                    gsd: 1.5
                    cloudCover: 12
                    offNadir: 15.2
                    price: 150.0
        '400':
          description: Malformed request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/archive/order:
    post:
      operationId: orderArchiveImagery
      summary: Arlula Order Archive Imagery
      description: Place a single order for archived satellite imagery. The order includes a bundle selection, EULA acceptance, and payment information. Returns order status as accepted (200) or pending approval (202).
      tags:
      - Archive
      requestBody:
        required: true
        description: Archive imagery order parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArchiveOrderRequest'
            examples:
              orderArchiveImageryRequestExample:
                summary: Default orderArchiveImagery request
                x-microcks-default: true
                value:
                  id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                  bundleKey: bundle-basic
                  eula: EULA-001
                  emails:
                  - analyst@example.com
      responses:
        '200':
          description: Order accepted and processing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
              examples:
                orderArchiveImagery200Example:
                  summary: Default orderArchiveImagery 200 response
                  x-microcks-default: true
                  value:
                    orderId: order-500123
                    status: processing
                    createdAt: '2026-04-19T09:00:00Z'
        '202':
          description: Order pending supplier approval.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
        '400':
          description: Malformed request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Payment required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Account not activated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/archive/order/batch:
    post:
      operationId: batchOrderArchiveImagery
      summary: Arlula Batch Order Archive Imagery
      description: Place multiple archive imagery orders simultaneously in a single API call. Shares common settings (emails, webhooks, payment) across all orders.
      tags:
      - Archive
      requestBody:
        required: true
        description: Batch archive imagery order parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchArchiveOrderRequest'
            examples:
              batchOrderArchiveImageryRequestExample:
                summary: Default batchOrderArchiveImagery request
                x-microcks-default: true
                value:
                  orders:
                  - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                    bundleKey: bundle-basic
                    eula: EULA-001
                  emails:
                  - analyst@example.com
      responses:
        '200':
          description: All orders accepted.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrderResponse'
              examples:
                batchOrderArchiveImagery200Example:
                  summary: Default batchOrderArchiveImagery 200 response
                  x-microcks-default: true
                  value:
                  - orderId: order-500123
                    status: processing
        '400':
          description: Malformed request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ArchiveScene:
      title: ArchiveScene
      description: A satellite imagery scene available in the archive.
      type: object
      properties:
        id:
          type: string
          description: Unique ordering ID for the scene.
          example: scene-a1b2c3d4
        supplier:
          type: string
          description: Supplier identifier.
          example: supplier-001
        captureDate:
          type: string
          format: date
          description: Date the imagery was captured.
          example: '2025-02-15'
        gsd:
          type: number
          description: Ground sample distance in meters.
          example: 1.5
        cloudCover:
          type: integer
          description: Cloud cover percentage at time of capture.
          example: 12
        offNadir:
          type: number
          description: Off-nadir angle at time of capture.
          example: 15.2
        price:
          type: number
          description: Price for ordering this scene.
          example: 150.0
        bundles:
          type: array
          description: Available bundle options for ordering.
          items:
            $ref: '#/components/schemas/Bundle'
    ArchiveOrderRequest:
      title: ArchiveOrderRequest
      description: Request body for ordering archive imagery.
      type: object
      required:
      - id
      - bundleKey
      - eula
      properties:
        id:
          type: string
          description: Ordering ID of the archive scene to purchase.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        bundleKey:
          type: string
          description: Bundle key selected from search results.
          example: bundle-basic
        eula:
          type: string
          description: EULA identifier accepted for this order.
          example: EULA-001
        emails:
          type: array
          description: Email addresses to notify when order is ready.
          items:
            type: string
        webhooks:
          type: array
          description: Webhook URLs to notify when order status changes.
          items:
            type: string
        coupon:
          type: string
          description: Optional coupon code for discounts.
          example: COUPON-001
    OrderResponse:
      title: OrderResponse
      description: Response after placing an imagery order.
      type: object
      properties:
        orderId:
          type: string
          description: Unique order identifier.
          example: order-500123
        status:
          type: string
          description: Current order status.
          enum:
          - processing
          - pending-approval
          - scheduled
          - completed
          - failed
          example: processing
        createdAt:
          type: string
          format: date-time
          description: Time the order was created.
          example: '2026-04-19T09:00:00Z'
    Bundle:
      title: Bundle
      description: An imagery bundle option with specific products and pricing.
      type: object
      properties:
        key:
          type: string
          description: Bundle key used when placing orders.
          example: bundle-basic
        name:
          type: string
          description: Bundle display name.
          example: Basic Bundle
        price:
          type: number
          description: Bundle price.
          example: 150.0
    ErrorResponse:
      title: ErrorResponse
      description: Error response from the API.
      type: object
      properties:
        code:
          type: integer
          description: HTTP status code.
          example: 400
        message:
          type: string
          description: Error message.
          example: Bad Request - invalid parameters
    BatchArchiveOrderRequest:
      title: BatchArchiveOrderRequest
      description: Request body for placing multiple archive orders simultaneously.
      type: object
      required:
      - orders
      properties:
        orders:
          type: array
          description: List of archive orders to place.
          items:
            $ref: '#/components/schemas/ArchiveOrderRequest'
        emails:
          type: array
          description: Email addresses for all orders in the batch.
          items:
            type: string
        webhooks:
          type: array
          description: Webhook URLs for all orders in the batch.
          items:
            type: string
    ArchiveSearchRequest:
      title: ArchiveSearchRequest
      description: Request body for searching the archive imagery catalog.
      type: object
      required:
      - start
      - gsd
      properties:
        start:
          type: string
          format: date
          description: Start date for imagery search (YYYY-MM-DD).
          example: '2025-01-01'
        end:
          type: string
          format: date
          description: End date for imagery search (YYYY-MM-DD).
          example: '2025-03-31'
        gsd:
          type: number
          description: Maximum ground sample distance in meters.
          example: 1.5
        lat:
          type: number
          description: Latitude of the point of interest.
          example: -33.8523
        long:
          type: number
          description: Longitude of the point of interest.
          example: 151.2108
        cloud:
          type: integer
          description: Maximum cloud cover percentage (0-100).
          example: 20
        offNadir:
          type: number
          description: Maximum off-nadir angle in degrees.
          example: 30.0
        suppliers:
          type: array
          description: Filter results to specific supplier keys.
          items:
            type: string
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Authentication using API Key as username and API Secret as password. Credentials are obtained from the Arlula dashboard at https://dashboard.arlula.com/apis.