Citra Space Admin API
The admin API from Citra Space — 7 operation(s) for admin.
The admin API from Citra Space — 7 operation(s) for admin.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/citra-space:citra-space-admin-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: SOICAT Admin API
version: 0.1.0
tags:
- name: Admin
paths:
/admin/groups:
get:
description: Get all user groups in the system. Only accessible to admin tier users.
operationId: get_all_groups_admin_groups_get
parameters: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupReadList'
description: Successful Response
summary: Get All Groups
tags:
- Admin
post:
description: Create a new user group. Only accessible to admin tier users.
operationId: create_group_admin_groups_post
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGroupRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: Create Group
tags:
- Admin
/admin/groups/{group_id}:
get:
description: Get a specific group by ID. Only accessible to admin tier users.
operationId: get_group_by_id_admin_groups__group_id__get
parameters:
- in: path
name: group_id
required: true
schema:
format: uuid
title: Group Id
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: Get Group By Id
tags:
- Admin
put:
description: Update an existing user group. Only accessible to admin tier users.
operationId: update_group_admin_groups__group_id__put
parameters:
- in: path
name: group_id
required: true
schema:
format: uuid
title: Group Id
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateGroupRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: Update Group
tags:
- Admin
/admin/groups/{group_id}/members:
get:
description: Get all members of a specific group. Only accessible to admin tier users.
operationId: get_group_members_admin_groups__group_id__members_get
parameters:
- in: path
name: group_id
required: true
schema:
format: uuid
title: Group Id
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserReadList'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: Get Group Members
tags:
- Admin
post:
description: Add a user to a specific group by username. Only accessible to admin tier users.
operationId: admin_add_user_to_group_admin_groups__group_id__members_post
parameters:
- in: path
name: group_id
required: true
schema:
format: uuid
title: Group Id
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddUserToGroupRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/UserRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: Admin Add User To Group
tags:
- Admin
/admin/groups/{group_id}/members/{user_id}:
delete:
description: Remove a user from a specific group. Only accessible to admin tier users.
operationId: admin_remove_user_from_group_admin_groups__group_id__members__user_id__delete
parameters:
- in: path
name: group_id
required: true
schema:
format: uuid
title: Group Id
type: string
- in: path
name: user_id
required: true
schema:
title: User Id
type: string
responses:
'204':
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: Admin Remove User From Group
tags:
- Admin
/admin/groups/{group_id}/permissions:
put:
description: Update privilege flags on a group. Identity fields stay on PUT /groups/{id}.
operationId: update_group_permissions_admin_groups__group_id__permissions_put
parameters:
- in: path
name: group_id
required: true
schema:
format: uuid
title: Group Id
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateGroupPermissionsRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserGroupRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: Update Group Permissions
tags:
- Admin
/admin/users:
get:
description: Get all users in the system. Only accessible to admin tier users.
operationId: get_all_users_admin_users_get
parameters: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AdminUserReadList'
description: Successful Response
summary: Get All Users
tags:
- Admin
/admin/users/{user_id}/access:
put:
description: Update a user's tier and upload quota override. Only accessible to admin tier users.
operationId: update_user_access_admin_users__user_id__access_put
parameters:
- in: path
name: user_id
required: true
schema:
format: uuid
title: User Id
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserAccessRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AdminUserRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: Update User Access
tags:
- Admin
components:
schemas:
AddUserToGroupRequest:
properties:
username:
type: string
required:
- username
type: object
AdminUserRead:
properties:
creationEpoch:
title: Creationepoch
type: string
group:
anyOf:
- $ref: '#/components/schemas/UserGroupRead'
- type: 'null'
id:
format: uuid
title: Id
type: string
imageUploadQuotaBytes:
anyOf:
- type: integer
- type: 'null'
imageUploadUsageBytes:
default: 0
title: Imageuploadusagebytes
type: integer
isgroupadmin:
description: Returns True if the user is the admin of their group.
readOnly: true
title: Isgroupadmin
type: boolean
preferences:
$ref: '#/components/schemas/UserPreferences'
tier:
$ref: '#/components/schemas/UserTier'
tierExpirationEpoch:
title: Tierexpirationepoch
type: string
uploadQuotaOverrideBytes:
anyOf:
- type: integer
- type: 'null'
username:
title: Username
type: string
required:
- id
- username
- creationEpoch
- tier
- tierExpirationEpoch
- isgroupadmin
title: AdminUserRead
type: object
UserGroupRead:
properties:
adminUserId:
format: uuid
type: string
adminUsername:
type:
- string
- 'null'
canMintCandidates:
default: false
type: boolean
creationEpoch:
type: string
currentUsersCount:
default: 0
format: int64
type: integer
id:
format: uuid
type: string
maxSeats:
format: int32
type: integer
name:
type: string
tier:
$ref: '#/components/schemas/UserTier'
tierExpirationEpoch:
type: string
required:
- id
- name
- creationEpoch
- tier
- tierExpirationEpoch
- maxSeats
- adminUserId
type: object
UpdateUserAccessRequest:
properties:
quotaBytes:
anyOf:
- type: integer
- type: 'null'
quotaMode:
enum:
- tier_default
- custom
- unlimited
title: Quotamode
type: string
tier:
$ref: '#/components/schemas/UserTier'
tierExpirationEpoch:
format: date-time
title: Tierexpirationepoch
type: string
required:
- tier
- tierExpirationEpoch
- quotaMode
title: UpdateUserAccessRequest
type: object
AdminUserReadList:
items:
$ref: '#/components/schemas/AdminUserRead'
title: AdminUserReadList
type: array
UserGroupReadList:
items:
$ref: '#/components/schemas/UserGroupRead'
title: UserGroupReadList
type: array
UserReadList:
items:
$ref: '#/components/schemas/UserRead'
title: UserReadList
type: array
TaskingPreferences:
properties:
groundStations:
items:
$ref: '#/components/schemas/GroundStationSensorSelection'
type: array
type: object
UpdateGroupPermissionsRequest:
description: Privilege flags on a group. Add new toggles here; identity stays on UpdateGroupRequest.
properties:
canMintCandidates:
title: Canmintcandidates
type: boolean
required:
- canMintCandidates
title: UpdateGroupPermissionsRequest
type: object
ValidationError:
properties:
ctx:
type: object
input: {}
loc:
items:
oneOf:
- type: string
- format: int64
type: integer
type: array
msg:
type: string
type:
type: string
required:
- loc
- msg
- type
type: object
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
type: object
UserTier:
enum:
- Standard
- Plus
- Premium
- Enterprise
- Government
- Admin
type: string
CounterIsrPreferences:
properties:
satelliteGroupIds:
items:
format: uuid
type: string
type: array
type: object
UserRead:
properties:
creationEpoch:
type: string
group:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/UserGroupRead'
id:
format: uuid
type: string
isgroupadmin:
readOnly: true
type: boolean
preferences:
$ref: '#/components/schemas/UserPreferences'
tier:
$ref: '#/components/schemas/UserTier'
tierExpirationEpoch:
type: string
username:
type: string
required:
- id
- username
- creationEpoch
- tier
- tierExpirationEpoch
- isgroupadmin
type: object
EdgePreferences:
properties:
counterIsr:
$ref: '#/components/schemas/CounterIsrPreferences'
enabled:
default: false
type: boolean
operatingPicture:
$ref: '#/components/schemas/OperatingPicturePreferences'
tasking:
$ref: '#/components/schemas/TaskingPreferences'
type: object
CreateGroupRequest:
properties:
adminUserId:
format: uuid
title: Adminuserid
type: string
maxSeats:
title: Maxseats
type: integer
name:
title: Name
type: string
tier:
$ref: '#/components/schemas/UserTier'
tierExpirationEpoch:
format: date-time
title: Tierexpirationepoch
type: string
required:
- name
- tier
- tierExpirationEpoch
- maxSeats
- adminUserId
title: CreateGroupRequest
type: object
OperatingPicturePreferences:
properties:
satelliteGroupIds:
items:
format: uuid
type: string
type: array
type: object
GroundStationSensorSelection:
properties:
groundStationId:
format: uuid
type: string
includeAllSensors:
default: true
type: boolean
sensorIds:
items:
format: uuid
type: string
type: array
required:
- groundStationId
type: object
UpdateGroupRequest:
properties:
adminUserId:
format: uuid
title: Adminuserid
type: string
maxSeats:
title: Maxseats
type: integer
name:
title: Name
type: string
tier:
$ref: '#/components/schemas/UserTier'
tierExpirationEpoch:
format: date-time
title: Tierexpirationepoch
type: string
required:
- name
- tier
- tierExpirationEpoch
- maxSeats
- adminUserId
title: UpdateGroupRequest
type: object
UserPreferences:
properties:
edge:
$ref: '#/components/schemas/EdgePreferences'
interface:
$ref: '#/components/schemas/UserInterfacePreferences'
type: object
UserInterfacePreferences:
properties:
displayMode:
default: system
enum:
- light
- dark
- system
type: string
type: object
securitySchemes:
HTTPBearer:
scheme: bearer
type: http