Raven Colonial APIs

  • The primary key for a build project is buildId, being a string guid assigned during creation.
  • If not known, buildId may be queried by systemAddress and/or marketId.
  • Commodity names are always lower case and language agnostic. Eg: liquidoxygen not LiquidOxygen or $liquidoxygen_name;.
  • Commander names will be converted to lower case internally. Be sure to URL encode for spaces, etc.
  • View complete request body definitions via swagger: /openapi/v1.json.
  • Get help or report issues through SrvSurvey support channels: Discord or GitHub.

Project APIs

Method Path Notes
PUT /api/project
  • Create a project.
  • GET /api/project/{buildId}
  • Get a project by its ID.
  • GET /api/project/{buildId}/last
  • Lightweight call to get the most recent timestamp for a project.
  • Use to detect changes and know when to call other heavier APIs.
  • PATCH /api/project/{buildId}
  • Update core fields of a project.
  • Fields are merged, exclude fields that should not change.
  • PUT / DELETE /api/project/{buildId}/link/{cmdr}
  • Link/unlink a Commander to a project.
  • Commander will be created if not already known.
  • PUT / DELETE /api/project/{buildId}/assign/{cmdr}/{commodity}
  • Assign/un-assign a commodity to a Commander.
  • PUT / DELETE /api/project/{buildId}/fc/{marketId}
  • Link/unlink a Fleet Carrier to a project.
  • POST /api/project/{buildId}/contribute/{cmdr?}
  • Recommended for use with ColonisationContribution journal events.
  • Update project delivery history, crediting the given Commander.
  • Credits "Unknown" if no value for cmdr.
  • POST /api/project/{buildId}/supply/{cmdr?}
  • Recommended only for clients without access to journal entries.
  • Reduce required commodities for a project, then calls "/contribute/".
  • If clients update commodities from ColonisationConstructionDepot journal entries, use "/contribute/" or cargo amounts may be double reduced.
  • POST / DELETE /api/project/{buildId}/ready
  • Set or clear "ready" for commodity names (in request body).
  • Additive only, does not modify "ready" for commodities not mentioned.
  • POST /api/project/{buildId}/complete
  • Mark project complete.
  • This cannot be undone.
  • GET /api/project/{buildId}/stats
  • Get delivery statistics.
  • System APIs

    Method Path Notes
    GET /api/system/{systemAddress}
    /api/system/{systemName}
  • Find active projects in a system.
  • GET /api/system/{systemName}/complete
  • Find completed projects in a system.
  • GET /api/system/{systemAddress}/{marketId}
  • Get an active project by systemAddress and marketId.
  • Commander APIs

    Method Path Notes
    GET / PATCH /api/cmdr/{cmdr}
  • Get/create or update basic data for a Commander.
  • GET /api/cmdr/{cmdr}/refs
  • Lightweight call to get all projects linked to a Commander.
  • Does not include Project cargo, linked Fleet Carries or Commanders.
  • GET /api/cmdr/{cmdr}/active
  • Get active projects linked to a Commander, including all linked data.
  • GET /api/cmdr/{cmdr}/assigned
  • Assigned commodity names (only) across all projects.
  • GET /api/cmdr/{cmdr}/assigned/active
  • Assigned commodity names and required amounts across all active projects.
  • GET / PUT / DELETE /api/cmdr/{cmdr}/primary
  • Get/set/clear Commander's primary buildId.
  • PUT / DELETE /api/cmdr/{cmdr}/fc/{marketId}
  • Link/unlink a Fleet Carrier to a Commander.
  • GET /api/project/{buildId}/fc
  • Get Fleet Carriers linked directly to a Commander.
  • GET /api/project/{buildId}/fc/all
  • Get Fleet Carriers linked to a Commander and any related active projects.
  • Fleet Carrier APIs

    Method Path Notes
    GET / PATCH / DELETE /api/fc/{marketId}
  • Get/update/delete a Fleet Carrier.
  • Coming soon: Support PUT to create initial data.
  • POST /api/fc/{marketId}/spansh
  • Creates a Fleet Carrier, pulling all initial data from Spansh.
  • GET /api/fc/{marketId}/cargo
  • Get cargo for a Fleet Carrier.
  • PATCH /api/fc/{marketId}/cargo
  • Update cargo for a Fleet Carrier, applying deltas to existing amounts.
  • Does not modify commodities not mentioned.
  • POST /api/fc/{marketId}/cargo
  • Update cargo for a Fleet Carrier, replacing existing amounts.
  • Does not modify commodities not mentioned.