---
title: "Create Agent's Service"
method: POST
path: "/api/v1/agents/seller-services"
---

# Create Agent's Service

`POST /api/v1/agents/seller-services`

## Request

- Base URL: `https://api.skyfire.xyz`
- URL: `https://api.skyfire.xyz/api/v1/agents/seller-services`
- Auth: API key in header `skyfire-api-key`

Create a seller service that belongs to an agent.

## Request body

- object
  - `name` string, required: The name of the service.
  - `description` string, required: The description of the service.
  - `tags` string[], required: The tags for this service. An empty array is fine.
  - `type` 'API' | 'WEB_PAGE' | 'MCP_SERVER_REMOTE' | 'MCP_SERVER_LOCAL' | 'FETCH_AGENT', required: The type of the service. This is one of: "API", "WEB_PAGE", "MCP_SERVER_REMOTE", "MCP_SERVER_LOCAL", or "FETCH_AGENT"
  - `price` string, required: Price of the service in USD.
  - `priceModel` 'PAY_PER_USE' | 'SUBSCRIPTION' | 'PAY_PER_MB' | 'CUSTOM', required: The pricing model of the service. This is one of "PAY_PER_USE", "SUBSCRIPTION", "PAY_PER_MB", or "CUSTOM".
  - `minimumTokenAmount` string, required: Buyers must create tokens of at least this amount in USD.
  - `mcpServerUrl` string: The URL of the MCP Server for this service. This is required if the "type" is "MCP_SERVER_REMOTE" or "MCP_SERVER_LOCAL".
  - `openApiSpecUrl` string: The URL of the OpenAPI specification for this service. This is required if the "type" is "API".
  - `websiteUrl` string: The URL of the website. This is required if the "type" is "WEB_PAGE".
  - `fetchAgentProfileUrl` string: The URL of the Fetch.ai agent. This is required if the "type" is "FETCH_AGENT".
  - `humanIdentityRequirement` object, required: The identity verification requirements for individuals, organizations, or both. See https://docs.skyfire.xyz/reference/identity-fields for more info.
    - `individual` string[], required: List of identity fields required from verified individuals. An empty array indicates no verification required.
    - `organization` string[], required: List of identity fields required from verified organizations. An empty array indicates no verification required.
  - `termsOfService` object: The details of the terms of service if they exist.
    - `url` string: The URL where the terms of service are available to review.
    - `required` boolean: 'true' if acceptance of the terms of service is required.
  - `acceptedTokens` string[]: Must be one or more of "kya", "pay" and "kya-pay". Must not be an empty array. If this field is omitted then all token types will be accepted.
  - `maxTokenTTLSeconds` number: Maximum token TTL in seconds between 10s and 24hr.

## Response `200`

Ok

- SellerService
  - `id` string, required: Unique identifier of the seller service.
  - `name` string, required: The name of the service.
  - `description` string, required: The description of the service.
  - `tags` string[], required: The tags for this service. Empty if none were set.
  - `type` 'API' | 'WEB_PAGE' | 'VERIFIED_DOMAIN' | 'MCP_SERVER_LOCAL' | 'MCP_SERVER_REMOTE' | 'FETCH_AGENT', required: One of "API", "WEB_PAGE", "VERIFIED_DOMAIN", "MCP_SERVER_LOCAL", "MCP_SERVER_REMOTE", or "FETCH_AGENT"
  - `price` string, required: USD as string. For priceModel: CUSTOM, use "0".
  - `priceModel` 'PAY_PER_USE' | 'SUBSCRIPTION' | 'PAY_PER_MB' | 'CUSTOM', required: One of "PAY_PER_USE", "SUBSCRIPTION", "PAY_PER_MB", or "CUSTOM"
  - `minimumTokenAmount` string, required: USD as string. For CUSTOM, use "0". Must be ≥ price after numeric conversion.
  - `humanIdentityRequirement` object, required: The identity verification requirements for individuals, organizations, or both. See https://docs.skyfire.xyz/reference/identity-fields for more info.
    - `identityLevels` string[]: Identity levels required from verified humans. e.g. `"INDIVIDUAL_LEVEL1"`.
    - `organization` string[]: Values must be allowed identity field names.
    - `individual` string[]: Values must be allowed identity field names.
  - `openApiSpecUrl` string: Required when `type` is API.
  - `websiteUrl` string: Required when `type` is WEB_PAGE.
  - `fetchAgentProfileUrl` string: Required when `type` is FETCH_AGENT.
  - `mcpServerUrl` string: Required when `type` is MCP_SERVER_LOCAL or MCP_SERVER_REMOTE.
  - `termsOfService` object: The details of the terms of service if they exist.
    - `url` string: The URL where the terms of service are available to review.
    - `required` boolean: `true` if acceptance of the terms of service is required.
  - `acceptedTokens` string[]: Any of "kya", "pay", and/or "kya-pay". Must not be an empty array. If field is omitted, then all token types are accepted.
  - `maxTokenTTLSeconds` number: Maximum token TTL in seconds.
  - `seller` object, required: The seller that owns this service.
    - `id` string: Unique identifier of the seller.
    - `name` string: Name of the seller.
    - `identityLevel` string: Does not exist if the seller has not done verification.
  - `createdAt` string, required: When the service was created. e.g. `"2025-07-18T02:51:54.265Z"`.
  - `updatedAt` string, required: When the service was last updated. e.g. `"2025-07-18T02:54:19.767Z"`.
  - `active` boolean, required: Whether the service is active.
  - `approved` boolean, required: Whether the service has been approved. Only approved services can be activated.

## Other responses

- `422`: Unprocessable Entity

## Changes

- **2026-11-03** `22cbec9d7630`: 4 breaking, 13 warning, 18 info
  - request body became required
  - request property `acceptedTokens/items/` was restricted to a list of enum values
  - request property `priceModel` was restricted to a list of enum values
  - request property `type` was restricted to a list of enum values
  - …31 more

[Operation history](https://skmtc.dev/skyfire/apis/skyfire-agent-and-token-apis/changes/api/v1/agents/seller-services/post.md)

---

[API](https://skmtc.dev/skyfire/apis/skyfire-agent-and-token-apis.md) - [All operations](https://skmtc.dev/skyfire/apis/skyfire-agent-and-token-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/skyfire/apis/skyfire-agent-and-token-apis/revisions/22cbec9d7630?raw)
