Flagsmith Metadata API

Manage metadata fields and model configuration.

Operations 9

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/v1/auth/saml/{name}/metadata/ Download SAML service provider metadata · Api v1 auth saml metadata retrieve #
Ask an LLM
“Where do I get the SAML metadata to give my identity provider?”
“Can the SAML metadata be returned in a different format?”
Tell an agent
Get the SAML metadata for configuration {name}.
Download SAML config {name}'s metadata in format {format}.
GET /api/v1/metadata/fields/ List an organisation's custom metadata fields · Api v1 metadata fields list #
Ask an LLM
“What custom metadata fields has my organisation defined?”
“Can I page through metadata fields for one organisation?”
Tell an agent
List metadata fields for organisation {organisation}.
Show {page_size} metadata fields per page for organisation {organisation}, page {page}.
POST /api/v1/metadata/fields/ Define a new custom metadata field · Api v1 metadata fields create #
Ask an LLM
“How do I add a custom field such as a Jira ticket URL to my flags?”
“Which data types can a metadata field hold?”
Tell an agent
Create metadata field {name} in organisation {organisation}.
Add a {type} metadata field {name} to organisation {organisation}, scoped to project {project}.
GET /api/v1/metadata/fields/{id}/ Get one metadata field definition · Api v1 metadata fields retrieve #
Ask an LLM
“What type and description does a given metadata field have?”
“Which entities is a metadata field attached to?”
Tell an agent
Fetch metadata field {field_id}.
Show the definition of custom field {field_id}.
PUT /api/v1/metadata/fields/{id}/ Replace a metadata field definition · Api v1 metadata fields update #
Ask an LLM
“Can I redefine a metadata field completely in one update?”
“Does a full metadata field update require the name and organisation again?”
Tell an agent
Replace metadata field {field_id} with name {name} in organisation {organisation}.
Overwrite field {field_id}: name {name}, type {type}, description {description}, organisation {organisation}.
PATCH /api/v1/metadata/fields/{id}/ Edit part of a metadata field · Api v1 metadata fields partial update #
Ask an LLM
“Can I just rename a metadata field?”
“Is changing only a field's description possible?”
Tell an agent
Rename metadata field {field_id} to {name}.
Set only the description of field {field_id} to {description}.
DELETE /api/v1/metadata/fields/{id}/ Delete a metadata field · Api v1 metadata fields destroy #
Ask an LLM
“How do I remove a custom metadata field we no longer use?”
“Are values stored against a metadata field lost when it is deleted?”
Tell an agent destructive · confirm first
Delete metadata field {field_id}.
Remove custom field {field_id} permanently.
GET /api/v1/projects/{project_pk}/metadata/fields/ List metadata fields available to a project · Api v1 projects metadata fields list #
Ask an LLM
“Which custom fields can I fill in on a project's features?”
“Can I include organisation-level fields that a project inherits?”
Tell an agent
List metadata fields for project {project}.
Show project {project}'s {entity} metadata fields, including inherited organisation ones: {include_organisation}.
GET /api/v1/projects/{project_pk}/metadata/fields/{id}/ Get a metadata field within a project · Api v1 projects metadata fields retrieve #
Ask an LLM
“What does a specific metadata field look like in the context of one project?”
“Can I read a project's metadata field by its id?”
Tell an agent
Fetch metadata field {field_id} in project {project}.
Show project {project}'s view of custom field {field_id}.

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/flagsmith:flagsmith-metadata-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

flagsmith-metadata-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Flagsmith Metadata API
  version: v1
  description: Flagsmith's Core and SDK APIs. Check out Flagsmith documentation.
  contact:
    email: support@flagsmith.com
  license:
    name: BSD License
    identifier: BSD-3-Clause
tags:
- name: Metadata
  description: Manage metadata fields and model configuration.
paths:
  /api/v1/auth/saml/{name}/metadata/:
    get:
      operationId: api_v1_auth_saml_metadata_retrieve
      parameters:
      - in: query
        name: format
        schema:
          type: string
          enum:
          - json
          - xml
      - in: path
        name: name
        schema:
          type: string
        required: true
      tags:
      - Metadata
      security:
      - tokenAuth: []
      - Master API Key: []
      - {}
      responses:
        '200':
          description: No response body
      summary: Api v1 auth saml metadata retrieve
      x-summary-source: derived
  /api/v1/metadata/fields/:
    get:
      operationId: api_v1_metadata_fields_list
      parameters:
      - in: query
        name: organisation
        schema:
          type: integer
        description: Organisation ID to filter by
        required: true
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      tags:
      - Metadata
      security:
      - tokenAuth: []
      - Master API Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMetadataFieldList'
          description: ''
      summary: Api v1 metadata fields list
      x-summary-source: derived
    post:
      operationId: api_v1_metadata_fields_create
      tags:
      - Metadata
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetadataField'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MetadataField'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MetadataField'
        required: true
      security:
      - tokenAuth: []
      - Master API Key: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataField'
          description: ''
      summary: Api v1 metadata fields create
      x-summary-source: derived
  /api/v1/metadata/fields/{id}/:
    get:
      operationId: api_v1_metadata_fields_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this metadata field.
        required: true
      tags:
      - Metadata
      security:
      - tokenAuth: []
      - Master API Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataField'
          description: ''
      summary: Api v1 metadata fields retrieve
      x-summary-source: derived
    put:
      operationId: api_v1_metadata_fields_update
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this metadata field.
        required: true
      tags:
      - Metadata
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetadataField'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MetadataField'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MetadataField'
        required: true
      security:
      - tokenAuth: []
      - Master API Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataField'
          description: ''
      summary: Api v1 metadata fields update
      x-summary-source: derived
    patch:
      operationId: api_v1_metadata_fields_partial_update
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this metadata field.
        required: true
      tags:
      - Metadata
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadataField'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadataField'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadataField'
      security:
      - tokenAuth: []
      - Master API Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataField'
          description: ''
      summary: Api v1 metadata fields partial update
      x-summary-source: derived
    delete:
      operationId: api_v1_metadata_fields_destroy
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this metadata field.
        required: true
      tags:
      - Metadata
      security:
      - tokenAuth: []
      - Master API Key: []
      responses:
        '204':
          description: No response body
      summary: Api v1 metadata fields destroy
      x-summary-source: derived
  /api/v1/projects/{project_pk}/metadata/fields/:
    get:
      operationId: api_v1_projects_metadata_fields_list
      parameters:
      - in: query
        name: entity
        schema:
          enum:
          - feature
          - segment
          - environment
          type: string
          minLength: 1
        description: 'Filter by entity type (feature, segment, or environment).


          * `feature` - feature

          * `segment` - segment

          * `environment` - environment'
      - in: query
        name: include_organisation
        schema:
          type: boolean
          default: false
        description: Include inherited organisation-level fields. Project-level fields override same-named org fields.
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: path
        name: project_pk
        schema:
          type:
          - integer
          - 'null'
        required: true
      tags:
      - Metadata
      security:
      - tokenAuth: []
      - Master API Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMetadataFieldList'
          description: ''
      summary: Api v1 projects metadata fields list
      x-summary-source: derived
  /api/v1/projects/{project_pk}/metadata/fields/{id}/:
    get:
      operationId: api_v1_projects_metadata_fields_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this metadata field.
        required: true
      - in: path
        name: project_pk
        schema:
          type:
          - integer
          - 'null'
        required: true
      tags:
      - Metadata
      security:
      - tokenAuth: []
      - Master API Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataField'
          description: ''
      summary: Api v1 projects metadata fields retrieve
      x-summary-source: derived
components:
  schemas:
    MetadataModelFieldRequirement:
      type: object
      properties:
        content_type:
          type: integer
        object_id:
          type: integer
          maximum: 2147483647
          minimum: 0
      required:
      - content_type
      - object_id
    MetadataField:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        type:
          $ref: '#/components/schemas/MetadataFieldTypeEnum'
        description:
          type:
          - string
          - 'null'
        organisation:
          type: integer
        project:
          type:
          - integer
          - 'null'
        model_fields:
          type: array
          items:
            $ref: '#/components/schemas/MetadataModelFieldNested'
          readOnly: true
      required:
      - name
      - organisation
    PatchedMetadataField:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        type:
          $ref: '#/components/schemas/MetadataFieldTypeEnum'
        description:
          type:
          - string
          - 'null'
        organisation:
          type: integer
        project:
          type:
          - integer
          - 'null'
        model_fields:
          type: array
          items:
            $ref: '#/components/schemas/MetadataModelFieldNested'
          readOnly: true
    MetadataFieldTypeEnum:
      enum:
      - int
      - str
      - bool
      - url
      - multiline_str
      type: string
      description: '* `int` - Integer

        * `str` - String

        * `bool` - Boolean

        * `url` - Url

        * `multiline_str` - Multiline String'
    MetadataModelFieldNested:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        content_type:
          type: integer
        is_required_for:
          type: array
          items:
            $ref: '#/components/schemas/MetadataModelFieldRequirement'
          readOnly: true
      required:
      - content_type
    PaginatedMetadataFieldList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/MetadataField'
  securitySchemes:
    Cohort_Sync_Key:
      type: http
      scheme: bearer
      description: For cohort sync endpoints called by an external cohort source, such as Amplitude.
    Cohort_Sync_Key__Basic:
      type: http
      scheme: basic
      description: For cohort sync endpoints called by an external cohort source that can only send Basic credentials, such as Mixpanel. The key is the password; the username is ignored.
    Environment_API_Key:
      type: apiKey
      in: header
      name: X-Environment-Key
      description: For SDK endpoints. <a href='https://docs.flagsmith.com/clients/rest#public-api-endpoints'>Find out more</a>.
    Master_API_Key:
      type: apiKey
      in: header
      name: Authorization
      description: For Management API endpoints. <a href='https://docs.flagsmith.com/integrating-with-flagsmith/flagsmith-api-overview/management-api'>Find out more</a>.
    basicAuth:
      type: http
      scheme: basic
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"
x-provenance:
  method: harvested
  publisher: Flagsmith
  source: https://api.flagsmith.com/api/v1/swagger.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)