Syndicate api-key-manager > admin API

The api-key-manager > admin API from Syndicate — 11 operation(s) for api-key-manager > admin.

Operations 11

POST /admin/project Create Project #
POST /admin/project/{projectId}/updateName Update Project Name #
GET /admin/project/{projectId} Get Project #
POST /admin/contract/authorizeWithFunctionSignatures Authorize Contract With Function Signatures #
POST /admin/contract/authorizeWithJSONABI Authorize Contract With JSONABI #
POST /admin/project/{projectId}/contract/{chainId}/{contractAddress}/claim Claim Contract #
DELETE /admin/project/{projectId}/contract/{contractId} Delete Contract #
DELETE /admin/project/{projectId}/functionSignature/{functionSignatureId} Delete Function Signature #
POST /admin/allowedIP Create Allowed IP Range #
GET /admin/project/{projectId}/allowedIPRanges Get Project Allowed IP Ranges #
DELETE /admin/project/{projectId}/allowedIP/{IPId} Delete Allowed IP Range #

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/syndicate-api-key-manager-admin-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

syndicate-api-key-manager-admin-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: api-key-manager > admin API
  version: 1.0.0
servers:
- url: https://api.syndicate.io
  description: Production
tags:
- name: api-key-manager > admin
paths:
  /admin/project:
    post:
      operationId: create-project
      summary: Create Project
      description: Create a new project. Only available with environment wide API keys.
      tags:
      - api-key-manager > admin
      parameters:
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_api-key-manager_admin_Project'
        '400':
          description: Error response with status 400
        '403':
          description: Error response with status 403
        '404':
          description: Error response with status 404
        '500':
          description: Error response with status 500
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/type_api-key-manager_admin_CreateProjectRequest'
  /admin/project/{projectId}/updateName:
    post:
      operationId: update-project-name
      summary: Update Project Name
      description: Update a project name
      tags:
      - api-key-manager > admin
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_api-key-manager_admin_Project'
        '400':
          description: Error response with status 400
        '401':
          description: Error response with status 401
        '500':
          description: Error response with status 500
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/type_api-key-manager_admin_UpdateProjectNameRequest'
  /admin/project/{projectId}:
    get:
      operationId: get-project
      summary: Get Project
      description: Get a specific project
      tags:
      - api-key-manager > admin
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_api-key-manager_admin_Project'
        '401':
          description: Error response with status 401
  /admin/contract/authorizeWithFunctionSignatures:
    post:
      operationId: authorize-contract-with-function-signatures
      summary: Authorize Contract With Function Signatures
      description: Authorize a contract with function signatures
      tags:
      - api-key-manager > admin
      parameters:
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_api-key-manager_admin_Contract'
        '400':
          description: Error response with status 400
        '404':
          description: Error response with status 404
        '409':
          description: Error response with status 409
        '500':
          description: Error response with status 500
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/type_api-key-manager_admin_AuthorizeContractWithFunctionSignaturesRequest'
  /admin/contract/authorizeWithJSONABI:
    post:
      operationId: authorize-contract-with-jsonabi
      summary: Authorize Contract With JSONABI
      description: Authorize a contract and its corresponding function signatures using the JSON ABI format.
      tags:
      - api-key-manager > admin
      parameters:
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_api-key-manager_admin_Contract'
        '400':
          description: Error response with status 400
        '404':
          description: Error response with status 404
        '409':
          description: Error response with status 409
        '500':
          description: Error response with status 500
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/type_api-key-manager_admin_AuthorizeContractWithJSONABIRequest'
  /admin/project/{projectId}/contract/{chainId}/{contractAddress}/claim:
    post:
      operationId: claim-contract
      summary: Claim Contract
      description: Claim a contract. This contract must be authorized in your project first. See Authorize Contract with Function Signatures to authorize a contract in your project.
      tags:
      - api-key-manager > admin
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: chainId
        in: path
        required: true
        schema:
          type: integer
      - name: contractAddress
        in: path
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_api-key-manager_admin_Contract'
        '400':
          description: Error response with status 400
        '404':
          description: Error response with status 404
        '500':
          description: Error response with status 500
  /admin/project/{projectId}/contract/{contractId}:
    delete:
      operationId: delete-contract
      summary: Delete Contract
      description: Delete a contract
      tags:
      - api-key-manager > admin
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: contractId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Error response with status 400
        '404':
          description: Error response with status 404
        '500':
          description: Error response with status 500
  /admin/project/{projectId}/functionSignature/{functionSignatureId}:
    delete:
      operationId: delete-function-signature
      summary: Delete Function Signature
      description: Delete a function signature
      tags:
      - api-key-manager > admin
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: functionSignatureId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Error response with status 400
        '404':
          description: Error response with status 404
        '500':
          description: Error response with status 500
  /admin/allowedIP:
    post:
      operationId: create-allowed-ip-range
      summary: Create Allowed IP Range
      description: Create an IP range allowlist
      tags:
      - api-key-manager > admin
      parameters:
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_api-key-manager_admin_AllowlistIpRange'
        '400':
          description: Error response with status 400
        '401':
          description: Error response with status 401
        '404':
          description: Error response with status 404
        '500':
          description: Error response with status 500
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/type_api-key-manager_admin_CreateAllowedIPRangeRequest'
  /admin/project/{projectId}/allowedIPRanges:
    get:
      operationId: get-project-allowed-ip-ranges
      summary: Get Project Allowed IP Ranges
      description: Get allowed IP ranges by project ID
      tags:
      - api-key-manager > admin
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/type_api-key-manager_admin_AllowlistIpRange'
        '401':
          description: Error response with status 401
  /admin/project/{projectId}/allowedIP/{IPId}:
    delete:
      operationId: delete-allowed-ip-range
      summary: Delete Allowed IP Range
      description: Delete an IP range allowlist
      tags:
      - api-key-manager > admin
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: IPId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Error response with status 400
        '404':
          description: Error response with status 404
        '500':
          description: Error response with status 500
components:
  schemas:
    type_api-key-manager_admin_Project:
      type: object
      properties:
        id:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
        environment:
          $ref: '#/components/schemas/type_api-key-manager_admin_ProjectEnvironment'
        organizationId:
          type: string
          format: uuid
        contracts:
          type: array
          items:
            $ref: '#/components/schemas/type_api-key-manager_admin_Contract'
        allowlistIpRanges:
          type: array
          items:
            $ref: '#/components/schemas/type_api-key-manager_admin_AllowlistIpRange'
      required:
      - id
      - createdAt
      - name
      - environment
      - organizationId
      - contracts
      - allowlistIpRanges
      title: Project
    type_api-key-manager_admin_FunctionSignature:
      type: object
      properties:
        id:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        signature:
          type: string
        functionAbi:
          description: JSON ABI of the function signature. Null if function signature is unable to be parsed.
        hashedSignature:
          type: string
        contractId:
          type: string
          format: uuid
        payable:
          type: boolean
      required:
      - id
      - createdAt
      - signature
      - hashedSignature
      - contractId
      - payable
      title: FunctionSignature
    type_api-key-manager_admin_CreateAllowedIPRangeRequest:
      type: object
      properties:
        projectId:
          type: string
        ipRange:
          type: string
          description: The IP range to allow, specified in CIDR notation.
        note:
          type: string
          description: Must be alphanumeric and may include spaces, . ! ? , ' -
      required:
      - projectId
      - ipRange
      title: CreateAllowedIPRangeRequest
    type_api-key-manager_admin_AuthorizeContractWithFunctionSignaturesRequest:
      type: object
      properties:
        chainId:
          type: integer
        address:
          type: string
        name:
          type: string
        projectId:
          type: string
          format: uuid
        expiresAt:
          type: string
          format: date-time
        functionSignatures:
          type: array
          items:
            type: string
      required:
      - chainId
      - address
      - name
      - projectId
      - functionSignatures
      title: AuthorizeContractWithFunctionSignaturesRequest
    type_api-key-manager_admin_Contract:
      type: object
      properties:
        id:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        chainId:
          type: integer
        address:
          type: string
        name:
          type: string
        expiresAt:
          type: string
          format: date-time
        functionSignatures:
          type: array
          items:
            $ref: '#/components/schemas/type_api-key-manager_admin_FunctionSignature'
        projectId:
          type: string
          format: uuid
        claimedByOrganizationId:
          type: string
          format: uuid
      required:
      - id
      - createdAt
      - chainId
      - address
      - name
      - functionSignatures
      - projectId
      title: Contract
    type_api-key-manager_admin_CreateProjectRequest:
      type: object
      properties:
        name:
          type: string
        environment:
          $ref: '#/components/schemas/type_api-key-manager_admin_ProjectEnvironment'
        chainId:
          type: integer
        organizationId:
          type: string
          format: uuid
        numWallets:
          type: integer
          description: Number of wallets to create for the project. Defaults to 1. Max is 10.
      required:
      - name
      - environment
      - chainId
      - organizationId
      title: CreateProjectRequest
    type_api-key-manager_admin_AuthorizeContractWithJSONABIRequest:
      type: object
      properties:
        chainId:
          type: integer
        address:
          type: string
        name:
          type: string
        projectId:
          type: string
          format: uuid
        expiresAt:
          type: string
          format: date-time
        abi:
          type: array
          items:
            description: Any type
      required:
      - chainId
      - address
      - name
      - projectId
      - abi
      title: AuthorizeContractWithJSONABIRequest
    type_api-key-manager_admin_ProjectEnvironment:
      type: string
      enum:
      - staging
      - production
      title: ProjectEnvironment
    type_api-key-manager_admin_UpdateProjectNameRequest:
      type: object
      properties:
        name:
          type: string
      required:
      - name
      title: UpdateProjectNameRequest
    type_api-key-manager_admin_AllowlistIpRange:
      type: object
      properties:
        id:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        ipRange:
          type: string
        projectId:
          type: string
          format: uuid
      required:
      - id
      - createdAt
      - ipRange
      - projectId
      title: AllowlistIpRange
  securitySchemes:
    default:
      type: http
      scheme: bearer