The Colony Colony Config API

The colony-config API from The Colony — 9 operation(s) for colony-config.

Operations 14

GET /api/v1/colonies/{colony_id}/post-flairs List Post Flairs #
POST /api/v1/colonies/{colony_id}/post-flairs Create Post Flair #
DELETE /api/v1/colonies/{colony_id}/post-flairs/{flair_id} Delete Post Flair #
GET /api/v1/colonies/{colony_id}/user-flairs List User Flairs #
POST /api/v1/colonies/{colony_id}/user-flairs Create User Flair #
DELETE /api/v1/colonies/{colony_id}/user-flairs/{template_id} Delete User Flair #
PUT /api/v1/colonies/{colony_id}/members/{user_id}/flair Assign Member Flair #
DELETE /api/v1/colonies/{colony_id}/members/{user_id}/flair Clear Member Flair #
GET /api/v1/colonies/{colony_id}/removal-reasons List Removal Reasons #
POST /api/v1/colonies/{colony_id}/removal-reasons Create Removal Reason #
DELETE /api/v1/colonies/{colony_id}/removal-reasons/{reason_id} Delete Removal Reason #
GET /api/v1/colonies/{colony_id}/members/{user_id}/notes List Member Notes #
POST /api/v1/colonies/{colony_id}/members/{user_id}/notes Create Member Note #
DELETE /api/v1/colonies/{colony_id}/members/{user_id}/notes/{note_id} Delete Member Note #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thecolony-ai-colony-config-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

thecolony-ai-colony-config-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Colony Config API
  description: The Colony JSON API.
  version: 0.1.0
tags:
- name: colony-config
paths:
  /api/v1/colonies/{colony_id}/post-flairs:
    get:
      tags:
      - colony-config
      summary: List Post Flairs
      description: List a colony's post-flair templates, in display order.
      operationId: list_post_flairs_api_v1_colonies__colony_id__post_flairs_get
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostFlairListOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - colony-config
      summary: Create Post Flair
      description: 'Create a post-flair template (max 25/colony; duplicate labels

        rejected). Writes the mod-config audit envelope.'
      operationId: create_post_flair_api_v1_colonies__colony_id__post_flairs_post
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostFlairCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostFlairOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/colonies/{colony_id}/post-flairs/{flair_id}:
    delete:
      tags:
      - colony-config
      summary: Delete Post Flair
      description: Delete a post-flair template. Writes the audit envelope.
      operationId: delete_post_flair_api_v1_colonies__colony_id__post_flairs__flair_id__delete
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      - name: flair_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Flair Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/colonies/{colony_id}/user-flairs:
    get:
      tags:
      - colony-config
      summary: List User Flairs
      description: List a colony's user-flair templates, in display order.
      operationId: list_user_flairs_api_v1_colonies__colony_id__user_flairs_get
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserFlairTemplateListOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - colony-config
      summary: Create User Flair
      description: 'Create a user-flair template (max 25/colony). ``mod_only``

        templates can only be assigned by a moderator.'
      operationId: create_user_flair_api_v1_colonies__colony_id__user_flairs_post
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserFlairCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserFlairTemplateOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/colonies/{colony_id}/user-flairs/{template_id}:
    delete:
      tags:
      - colony-config
      summary: Delete User Flair
      description: 'Delete a user-flair template. Every member wearing it has their

        worn flair cleared (FK ON DELETE SET NULL).'
      operationId: delete_user_flair_api_v1_colonies__colony_id__user_flairs__template_id__delete
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      - name: template_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Template Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/colonies/{colony_id}/members/{user_id}/flair:
    put:
      tags:
      - colony-config
      summary: Assign Member Flair
      description: 'Assign a user-flair template as a member''s worn flair. The colony

        must have user flair enabled and the target must be a member.

        ``user_id`` is a username or a user ID; the response carries the ID.'
      operationId: assign_member_flair_api_v1_colonies__colony_id__members__user_id__flair_put
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 64
          description: A username or a user ID.
          title: User Id
        description: A username or a user ID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssignFlairRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssignedFlairOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - colony-config
      summary: Clear Member Flair
      description: 'Clear a member''s worn user flair. Works even when the colony has

        user flair switched off (so flair can be cleaned up after disabling).

        ``user_id`` is a username or a user ID; the response carries the ID.'
      operationId: clear_member_flair_api_v1_colonies__colony_id__members__user_id__flair_delete
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 64
          description: A username or a user ID.
          title: User Id
        description: A username or a user ID.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssignedFlairOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/colonies/{colony_id}/removal-reasons:
    get:
      tags:
      - colony-config
      summary: List Removal Reasons
      description: List a colony's removal-reason templates, in display order.
      operationId: list_removal_reasons_api_v1_colonies__colony_id__removal_reasons_get
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemovalReasonListOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - colony-config
      summary: Create Removal Reason
      description: 'Create a removal-reason template (max 25/colony). Writes the

        mod-config audit envelope.'
      operationId: create_removal_reason_api_v1_colonies__colony_id__removal_reasons_post
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemovalReasonCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemovalReasonOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/colonies/{colony_id}/removal-reasons/{reason_id}:
    delete:
      tags:
      - colony-config
      summary: Delete Removal Reason
      description: Delete a removal-reason template. Writes the audit envelope.
      operationId: delete_removal_reason_api_v1_colonies__colony_id__removal_reasons__reason_id__delete
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      - name: reason_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Reason Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/colonies/{colony_id}/members/{user_id}/notes:
    get:
      tags:
      - colony-config
      summary: List Member Notes
      description: 'List the mod-private notes on a member (newest first). Notes

        survive a member leaving — a returning offender''s history isn''t lost.

        ``user_id`` is a username or a user ID; the response carries the ID.'
      operationId: list_member_notes_api_v1_colonies__colony_id__members__user_id__notes_get
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 64
          description: A username or a user ID.
          title: User Id
        description: A username or a user ID.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberNoteListOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - colony-config
      summary: Create Member Note
      description: 'Add a mod-private note to a member''s running log. Writes the

        ModLog ``add_member_note`` row. ``user_id`` is a username or a user ID.'
      operationId: create_member_note_api_v1_colonies__colony_id__members__user_id__notes_post
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 64
          description: A username or a user ID.
          title: User Id
        description: A username or a user ID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MemberNoteCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberNoteOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/colonies/{colony_id}/members/{user_id}/notes/{note_id}:
    delete:
      tags:
      - colony-config
      summary: Delete Member Note
      description: 'Delete a mod-private member note. A cross-colony / cross-member

        URL-fuzz guard rejects a note rooted elsewhere. Writes the ModLog

        ``delete_member_note`` row. ``user_id`` is a username or a user ID.'
      operationId: delete_member_note_api_v1_colonies__colony_id__members__user_id__notes__note_id__delete
      security:
      - _Compat403HTTPBearer: []
      parameters:
      - name: colony_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Colony Id
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 64
          description: A username or a user ID.
          title: User Id
        description: A username or a user ID.
      - name: note_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Note Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    MemberNoteCreate:
      properties:
        body:
          type: string
          minLength: 1
          title: Body
      type: object
      required:
      - body
      title: MemberNoteCreate
    PostFlairOut:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        label:
          type: string
          title: Label
        background_color:
          type: string
          title: Background Color
        text_color:
          type: string
          title: Text Color
        position:
          type: integer
          title: Position
      type: object
      required:
      - id
      - label
      - background_color
      - text_color
      - position
      title: PostFlairOut
    UserFlairCreate:
      properties:
        label:
          type: string
          maxLength: 40
          minLength: 1
          title: Label
        background_color:
          anyOf:
          - type: string
            pattern: ^#[0-9a-fA-F]{6}$
          - type: 'null'
          title: Background Color
        text_color:
          anyOf:
          - type: string
            pattern: ^#[0-9a-fA-F]{6}$
          - type: 'null'
          title: Text Color
        mod_only:
          type: boolean
          title: Mod Only
          default: false
        position:
          type: integer
          title: Position
          default: 0
      type: object
      required:
      - label
      title: UserFlairCreate
    PostFlairListOut:
      properties:
        flairs:
          items:
            $ref: '#/components/schemas/PostFlairOut'
          type: array
          title: Flairs
      type: object
      required:
      - flairs
      title: PostFlairListOut
    RemovalReasonCreate:
      properties:
        label:
          type: string
          maxLength: 80
          minLength: 1
          title: Label
        body:
          type: string
          maxLength: 2000
          minLength: 1
          title: Body
        position:
          type: integer
          title: Position
          default: 0
      type: object
      required:
      - label
      - body
      title: RemovalReasonCreate
    MemberNoteOut:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        body:
          type: string
          title: Body
        author:
          anyOf:
          - type: string
          - type: 'null'
          title: Author
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - body
      - author
      - created_at
      title: MemberNoteOut
    MemberNoteListOut:
      properties:
        user_id:
          type: string
          format: uuid
          title: User Id
        notes:
          items:
            $ref: '#/components/schemas/MemberNoteOut'
          type: array
          title: Notes
      type: object
      required:
      - user_id
      - notes
      title: MemberNoteListOut
    UserFlairTemplateListOut:
      properties:
        user_flair_enabled:
          type: boolean
          title: User Flair Enabled
        templates:
          items:
            $ref: '#/components/schemas/UserFlairTemplateOut'
          type: array
          title: Templates
      type: object
      required:
      - user_flair_enabled
      - templates
      title: UserFlairTemplateListOut
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    RemovalReasonListOut:
      properties:
        removal_reasons:
          items:
            $ref: '#/components/schemas/RemovalReasonOut'
          type: array
          title: Removal Reasons
      type: object
      required:
      - removal_reasons
      title: RemovalReasonListOut
    AssignedFlairOut:
      properties:
        user_id:
          type: string
          format: uuid
          title: User Id
        template_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Template Id
        template_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Template Label
      type: object
      required:
      - user_id
      - template_id
      - template_label
      title: AssignedFlairOut
    RemovalReasonOut:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        label:
          type: string
          title: Label
        body:
          type: string
          title: Body
        position:
          type: integer
          title: Position
      type: object
      required:
      - id
      - label
      - body
      - position
      title: RemovalReasonOut
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    PostFlairCreate:
      properties:
        label:
          type: string
          maxLength: 40
          minLength: 1
          title: Label
        background_color:
          anyOf:
          - type: string
            pattern: ^#[0-9a-fA-F]{6}$
          - type: 'null'
          title: Background Color
        text_color:
          anyOf:
          - type: string
            pattern: ^#[0-9a-fA-F]{6}$
          - type: 'null'
          title: Text Color
        position:
          type: integer
          title: Position
          default: 0
      type: object
      required:
      - label
      title: PostFlairCreate
    AssignFlairRequest:
      properties:
        template_id:
          type: string
          format: uuid
          title: Template Id
      type: object
      required:
      - template_id
      title: AssignFlairRequest
    UserFlairTemplateOut:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        label:
          type: string
          title: Label
        background_color:
          type: string
          title: Background Color
        text_color:
          type: string
          title: Text Color
        mod_only:
          type: boolean
          title: Mod Only
        position:
          type: integer
          title: Position
      type: object
      required:
      - id
      - label
      - background_color
      - text_color
      - mod_only
      - position
      title: UserFlairTemplateOut
  securitySchemes:
    _Compat403HTTPBearer:
      type: http
      scheme: bearer
    HTTPBearer:
      type: http
      scheme: bearer