Create, update and submit listings, and keep customer accounts and attached integrations in sync.
The Core API (Admin API v2) is PartnerFleet's current API for managing your marketplace programmatically. Use it to create, update and submit listings, and to keep the customer accounts and attached integrations that power your in-app marketplace in sync with your product.
Base URL
Send every request to your marketplace's domain, followed by /admin_api/v2: either its PartnerFleet subdomain or your custom domain.
https://<your-marketplace>.partnerfleet.app/admin_api/v2
The domain identifies the marketplace, so a key only works on the marketplace it was created in.
Authentication
Every endpoint requires an API key. Admins create keys in the admin under Settings → Advanced → API Keys; the full key is shown once, when it is created. Send it in the Authorization header:
Authorization: Bearer <api-key>
Only the Bearer scheme is accepted. A missing, invalid or revoked key returns 401 Unauthorized. GET /ping is a quick way to check that a key works.
In the interactive reference, click Authorize and paste the raw key.
Permissions
Each key carries a set of permissions chosen when the key is created, named <area>_<action>. Each endpoint lists the permission it needs. A request made with a key that lacks it returns 403 Forbidden.
| Area | Permissions |
|---|---|
| Listings | listings_read, listings_create, listings_update, listings_delete |
| Customer accounts | customer_accounts_read, customer_accounts_create, customer_accounts_update, customer_accounts_delete |
| Attached integrations | integrations_read, integrations_create, integrations_update, integrations_delete |
Availability of the listings endpoints
The listings endpoints must be enabled for your marketplace. Until they are, every /listings endpoint returns 404 Not Found. Contact your PartnerFleet account team to enable them.
How listing changes go live
- Each version of a partner's listing is a separate listing with its own ID: its
activelisting, and itsdraftorpendingversion. - Creating a listing returns its
draftversion. Nothing is visible on the marketplace until you submit the draft for approval and an admin approves it. - Updating an
activelisting doesn't change what the marketplace shows. The changes are saved to the partner's draft version, created if needed, which the response identifies withrevision_idandrevision_of. - A
pendinglisting returns422to edits until you unsubmit it withPOST /listings/{id}/unsubmit. - You submit with
POST /listings/{id}/submit_for_approval. Approval itself is only possible in the admin.
AI assistants (MCP)
When PartnerFleet's MCP server is enabled for your marketplace, AI assistants can use the same listings operations through it, at /mcp. The MCP server does not accept API keys: AI clients authenticate with OAuth, signing in as an admin and approving the requested access. Clients can register themselves at /admin/oauth/register; discovery is at /.well-known/oauth-authorization-server. OAuth access tokens, in turn, do not work on this HTTP API. Deleting and restoring listings is available to API keys only.
Rate limits
Each API key can make up to 120 requests per minute. Requests over the limit return 429 Too Many Requests; wait for the next minute and retry.
Errors
Errors return a JSON body with either a single error message or an errors array:
{ "error": "Forbidden: missing listings_update permission" }| Status | Meaning |
|---|---|
400 | A parameter is missing or has the wrong type. |
401 | The API key is missing, invalid or revoked. |
403 | The API key does not have the permission this endpoint needs. |
404 | The record does not exist, or the endpoint is not enabled for your marketplace. |
409 | The request conflicts with an existing record, for example a duplicate external ID. |
422 | The request was understood but could not be processed (validation failed). |
429 | The API key exceeded its rate limit. |
503 | Listing search is temporarily unavailable; retry later. |

