v1.0.0
OpenAPI 3.0.3

YieldSeeker Integrator API

Manage an integrator's API keys and dashboard access, and pull revenue-share analytics for the users and agents referred through it.

This is a companion to the core YieldSeeker API v1 Reference - read that first for authentication, and for the User and Agent resource models and general platform concepts (users, agents, chains, assets). Every ID and resource referenced here (userId, agentId, chainId, assetAddress) is the same resource described there; this API only adds integrator-scoped views on top.

Authentication

Every integrator route that accepts user authentication requires the same Authorization: Signature <signature-token> header used by the core API and checks that the signed-in user is a member or master of the target integrator. The read-only integrator details and analytics routes also accept X-Api-Key as an alternative; the key must belong to the requested integrator and pass its configured origin check. If both headers are sent, either valid matching credential is sufficient. API-key management and dashboard-member routes still require a signature; adding or removing members requires the master user.

Client Libraries

Integrator

​
listIntegrators

List integrators for the caller

​

Lists every integrator the signed-in user belongs to, as a member or master.

Responses
  • 200
    Type: object · ListIntegratorsResponse

    Successful response

    • integrators
      Type: array object[] · Integrators
      required
    application/json
Request Example for get/integrators/v1/
curl /integrators/v1/ \
  --header 'Authorization: Signature <signature-token>'
{
  "integrators": [
    {
      "integratorId": "string",
      "masterUserId": "string",
      "name": "string",
      "slug": "string",
      "isActive": true,
      "revenueShareBps": 1,
      "createdDate": "2026-09-30T14:39:37.853Z"
    }
  ]
}
getIntegrator

Get an integrator

​

Returns a single integrator, including its revenue share rate.

Path Parameters
  • integratorId
    Type: string · Integratorid
    required
Responses
  • 200
    Type: object · GetIntegratorResponse

    Successful response

    • integrator
      Type: object · Integrator
      required
    application/json
Request Example for get/integrators/v1/{integratorId}
curl '/integrators/v1/{integratorId}' \
  --header 'Authorization: Signature <signature-token>'
{
  "integrator": {
    "integratorId": "string",
    "masterUserId": "string",
    "name": "string",
    "slug": "string",
    "isActive": true,
    "revenueShareBps": 1,
    "createdDate": "2026-09-30T14:39:37.853Z"
  }
}
listIntegratorApiKeys

List API keys

​

Lists the API keys issued for an integrator. Secrets are never returned here - only createIntegratorApiKey returns the secret, and only once, at creation.

Path Parameters
  • integratorId
    Type: string · Integratorid
    required
Responses
  • 200
    Type: object · ListIntegratorApiKeysResponse

    Successful response

    • apiKeys
      Type: array object[] · Apikeys
      required
    application/json
Request Example for get/integrators/v1/{integratorId}/api-keys
curl '/integrators/v1/{integratorId}/api-keys' \
  --header 'Authorization: Signature <signature-token>'
{
  "apiKeys": [
    {
      "integratorApiKeyId": "string",
      "integratorId": "string",
      "label": "string",
      "keyPrefix": "string",
      "allowedOrigins": [
        "string"
      ],
      "isActive": true,
      "lastUsedDate": "2026-09-30T14:39:37.853Z",
      "createdDate": "2026-09-30T14:39:37.853Z",
      "secret": null
    }
  ]
}
createIntegratorApiKey

Create an API key

​

Creates a new API key for an integrator. The response is the only time the secret is returned - store it immediately.

Path Parameters
  • integratorId
    Type: string · Integratorid
    required
Body·CreateIntegratorApiKeyRequest
application/json
  • allowedOrigins
    Type: array string[] · Allowedorigins
  • label
    Type: string · Labelnullable
Responses
  • 200
    Type: object · CreateIntegratorApiKeyResponse

    Successful response

    • apiKey
      Type: object · IntegratorApiKey
      required
    application/json
Request Example for post/integrators/v1/{integratorId}/api-keys
curl '/integrators/v1/{integratorId}/api-keys' \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Signature <signature-token>' \
  --data '{
  "label": null,
  "allowedOrigins": [
    ""
  ]
}'
{
  "apiKey": {
    "integratorApiKeyId": "string",
    "integratorId": "string",
    "label": "string",
    "keyPrefix": "string",
    "allowedOrigins": [
      "string"
    ],
    "isActive": true,
    "lastUsedDate": "2026-09-30T14:39:37.853Z",
    "createdDate": "2026-09-30T14:39:37.853Z",
    "secret": null
  }
}
deleteIntegratorApiKey

Deactivate an API key

​

Deactivates an API key. This is permanent - a deactivated key cannot be reactivated, only replaced by creating a new one.

Path Parameters
  • integratorId
    Type: string · Integratorid
    required
  • apiKeyId
    Type: string · Apikeyid
    required
Responses
  • 200
    Type: object · DeleteIntegratorApiKeyResponse

    Successful response

    • apiKey
      Type: object · IntegratorApiKey
      required
    application/json
Request Example for delete/integrators/v1/{integratorId}/api-keys/{apiKeyId}
curl '/integrators/v1/{integratorId}/api-keys/{apiKeyId}' \
  --request DELETE \
  --header 'Authorization: Signature <signature-token>'
{
  "apiKey": {
    "integratorApiKeyId": "string",
    "integratorId": "string",
    "label": "string",
    "keyPrefix": "string",
    "allowedOrigins": [
      "string"
    ],
    "isActive": true,
    "lastUsedDate": "2026-09-30T14:39:37.853Z",
    "createdDate": "2026-09-30T14:39:37.853Z",
    "secret": null
  }
}
listIntegratorMembers

List dashboard members

​

Lists the users with dashboard access to an integrator - the master user plus any added members.

Path Parameters
  • integratorId
    Type: string · Integratorid
    required
Responses
  • 200
    Type: object · ListIntegratorMembersResponse

    Successful response

    • members
      Type: array object[] · Members
      required
    application/json
Request Example for get/integrators/v1/{integratorId}/members
curl '/integrators/v1/{integratorId}/members' \
  --header 'Authorization: Signature <signature-token>'
{
  "members": [
    {
      "integratorMemberId": "string",
      "integratorId": "string",
      "userId": "string",
      "username": "string",
      "createdDate": "2026-09-30T14:39:37.853Z"
    }
  ]
}
addIntegratorMember

Add a dashboard member

​

Grants dashboard access to an existing YieldSeeker user, identified by username or wallet address. Only the integrator master user may do this.

Path Parameters
  • integratorId
    Type: string · Integratorid
    required
Body·AddIntegratorMemberRequest
required
application/json
  • memberIdentifier
    Type: string · Memberidentifier
    required
Responses
  • 200
    Type: object · AddIntegratorMemberResponse

    Successful response

    • member
      Type: object · IntegratorMember
      required
    application/json
Request Example for post/integrators/v1/{integratorId}/members
curl '/integrators/v1/{integratorId}/members' \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Signature <signature-token>' \
  --data '{
  "memberIdentifier": ""
}'
{
  "member": {
    "integratorMemberId": "string",
    "integratorId": "string",
    "userId": "string",
    "username": "string",
    "createdDate": "2026-09-30T14:39:37.853Z"
  }
}
removeIntegratorMember

Remove a dashboard member

​

Revokes a member's dashboard access to an integrator. Only the integrator master user may do this.

Path Parameters
  • integratorId
    Type: string · Integratorid
    required
  • memberIdentifier
    Type: string · Memberidentifier
    required
Responses
  • 200
    Type: object · RemoveIntegratorMemberResponse

    Successful response

    • member
      Type: object · IntegratorMember
      required
    application/json
Request Example for delete/integrators/v1/{integratorId}/members/{memberIdentifier}
curl '/integrators/v1/{integratorId}/members/{memberIdentifier}' \
  --request DELETE \
  --header 'Authorization: Signature <signature-token>'
{
  "member": {
    "integratorMemberId": "string",
    "integratorId": "string",
    "userId": "string",
    "username": "string",
    "createdDate": "2026-09-30T14:39:37.853Z"
  }
}
listIntegratorReferredUsers

List referred users

​

Lists the users referred to YieldSeeker through this integrator, each with their holdings, yield, and platform fee totals.

Rate limited to 30 requests/minute, 300 requests/hour.

Path Parameters
  • integratorId
    Type: string · Integratorid
    required
Responses
  • 200
    Type: object · ListIntegratorReferredUsersResponse

    Successful response

    • users
      Type: array object[] · Users
      required
    application/json
Request Example for get/integrators/v1/{integratorId}/users
curl '/integrators/v1/{integratorId}/users' \
  --header 'Authorization: Signature <signature-token>'
{
  "users": [
    {
      "userId": "string",
      "username": "string",
      "createdDate": "2026-09-30T14:39:37.853Z",
      "totalHoldingsUsd": 1,
      "cumulativeYieldEarnedUsd": 1,
      "platformFeesCollectedUsd": 1,
      "platformFeesAccruedUsd": 1,
      "integratorFeeShareUsd": 1
    }
  ]
}
getIntegratorRevenueSummary

Get revenue summary

​

Returns aggregate, all-time totals across every user and agent referred through this integrator: counts, holdings, yield earned, fees, and the integrator's revenue share.

Rate limited to 30 requests/minute, 300 requests/hour.

Path Parameters
  • integratorId
    Type: string · Integratorid
    required
Responses
  • 200
    Type: object · GetIntegratorRevenueSummaryResponse

    Successful response

    • revenueSummary
      Type: object · IntegratorRevenueSummary
      required
    application/json
Request Example for get/integrators/v1/{integratorId}/revenue-summary
curl '/integrators/v1/{integratorId}/revenue-summary' \
  --header 'Authorization: Signature <signature-token>'
{
  "revenueSummary": {
    "referredUserCount": 1,
    "agentCount": 1,
    "totalHoldingsUsd": 1,
    "totalYieldEarnedUsd": 1,
    "totalPlatformFeesCollectedUsd": 1,
    "totalPlatformFeesAccruedUsd": 1,
    "totalIntegratorFeeShareUsd": 1,
    "revenueShareBps": 1,
    "totalTransactionCount": 1,
    "totalTransactionValueUsd": 1,
    "apy75thPercentile": 1,
    "apy99thPercentile": 1
  }
}
listIntegratorAgents

List agents with financials

​

Lists the agents created by users referred through this integrator, each with its chain, asset, wallet, holdings, yield, fees, and transaction totals.

Rate limited to 30 requests/minute, 300 requests/hour.

Path Parameters
  • integratorId
    Type: string · Integratorid
    required
Responses
  • 200
    Type: object · ListIntegratorAgentsResponse

    Successful response

    • agents
      Type: array object[] · Agents
      required
    application/json
Request Example for get/integrators/v1/{integratorId}/agents
curl '/integrators/v1/{integratorId}/agents' \
  --header 'Authorization: Signature <signature-token>'
{
  "agents": [
    {
      "agentId": "string",
      "userId": "string",
      "chainId": 1,
      "assetAddress": "string",
      "walletAddress": "string",
      "createdDate": "2026-09-30T14:39:37.853Z",
      "deactivatedDate": "2026-09-30T14:39:37.853Z",
      "totalValueUsd": 1,
      "cumulativeYieldEarnedUsd": 1,
      "platformFeesCollectedUsd": 1,
      "platformFeesAccruedUsd": 1,
      "integratorFeeShareUsd": 1,
      "transactionCount": 1,
      "transactionValueUsd": 1
    }
  ]
}
YieldSeeker Docs