# Onlymonster API

#### Base URLs

* **Production:** `https://omapi.onlymonster.ai`

#### Rate limits

* **Token limit:** 25 requests per second across all endpoints.
* **Endpoint limit:** 15 requests per second per endpoint (default). Some endpoints override this — see the description on each endpoint.
* Exceeding either limit returns `429 Rate limit exceeded`.

<br>

## Get list of accounts.

> \*\*Rate limit:\*\* 15 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"accounts","description":"Endpoints for accessing account lists and detailed account information."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts":{"get":{"summary":"Get list of accounts.","tags":["accounts"],"description":"**Rate limit:** 15 requests per second","parameters":[{"schema":{"minLength":2,"type":"string"},"in":"query","name":"cursor","required":false},{"schema":{"minimum":1,"maximum":1000,"type":"integer"},"in":"query","name":"limit","required":false},{"schema":{"type":"boolean"},"in":"query","name":"withExpiredSubscriptions","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"accounts":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"id":{"type":"integer"},"platform_account_id":{"anyOf":[{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"description":"Big integer id as string","type":"string"},{"type":"string"}]},"platform":{"type":"string"},"name":{"type":"string"},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"avatar":{"type":"string"},"username":{"type":"string"},"organisation_id":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"description":"Big integer id as string","type":"string"},"subscribe_price":{"anyOf":[{"type":"number"},{"type":"null"}]},"subscription_expiration_date":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]}},"required":["id","platform_account_id","platform","name","email","avatar","username","organisation_id","subscribe_price","subscription_expiration_date"]}},"nextCursor":{"type":"string"}},"required":["accounts"]}}}}}}}}}
```

## Get account by ID.

> \*\*Rate limit:\*\* 15 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"accounts","description":"Endpoints for accessing account lists and detailed account information."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}":{"get":{"summary":"Get account by ID.","tags":["accounts"],"description":"**Rate limit:** 15 requests per second","parameters":[{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"account":{"additionalProperties":false,"type":"object","properties":{"id":{"type":"integer"},"platform_account_id":{"anyOf":[{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"description":"Big integer id as string","type":"string"},{"type":"string"}]},"platform":{"type":"string"},"name":{"type":"string"},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"avatar":{"type":"string"},"username":{"type":"string"},"organisation_id":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"description":"Big integer id as string","type":"string"},"subscribe_price":{"anyOf":[{"type":"number"},{"type":"null"}]},"subscription_expiration_date":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]}},"required":["id","platform_account_id","platform","name","email","avatar","username","organisation_id","subscribe_price","subscription_expiration_date"]}},"required":["account"]}}}}}}}}}
```

## Get fan IDs for an account based on recent chat activity.

> \*\*Rate limit:\*\* 1 request per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"accounts","description":"Endpoints for accessing account lists and detailed account information."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}/fans":{"get":{"summary":"Get fan IDs for an account based on recent chat activity.","tags":["accounts"],"description":"**Rate limit:** 1 request per second","parameters":[{"schema":{"minimum":1,"maximum":10000,"default":10000,"type":"integer"},"in":"query","name":"limit","required":false},{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"fan_ids":{"type":"array","items":{"type":"string"}}},"required":["fan_ids"]}}}}}}}}}
```

## Get chat messages for a specific chat.

> \*\*Rate limit:\*\* 1 request per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"messages","description":"Endpoints for sending messages."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}/chats/{chat_id}/messages":{"get":{"summary":"Get chat messages for a specific chat.","tags":["messages"],"description":"**Rate limit:** 1 request per second","parameters":[{"schema":{"minimum":1,"maximum":100,"default":100,"type":"integer"},"in":"query","name":"limit","required":false},{"schema":{"type":"integer"},"in":"query","name":"message_id","required":false,"description":"ID of the last message from previous page. Used for pagination"},{"schema":{"anyOf":[{"type":"string","enum":["asc"]},{"type":"string","enum":["desc"]}]},"in":"query","name":"order","required":false},{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"},{"schema":{"minLength":1,"maxLength":100,"type":"string"},"in":"path","name":"chat_id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"items":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"id":{"type":"integer"},"text":{"type":"string"},"from_user":{"type":"integer"},"is_sent_by_me":{"description":"true = sent by account owner (creator), false = sent by fan","type":"boolean"},"created_at":{"type":"string"},"media":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"can_view":{"type":"boolean"},"is_ready":{"type":"boolean"},"has_error":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"converted_to_video":{"type":"boolean"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"thumbnail_url":{"type":"string"}},"required":["id","type","can_view","is_ready","has_error","converted_to_video","created_at","thumbnail_url"]}},"media_count":{"type":"integer"},"is_opened":{"description":"read/unread: false = unread","type":"boolean"},"is_new":{"type":"boolean"},"price":{"type":"number"},"is_free":{"type":"boolean"},"can_purchase":{"type":"boolean"},"can_purchase_reason":{"type":"string"}},"required":["id","text","from_user","is_sent_by_me","created_at","media","media_count","is_opened","is_new","price","is_free","can_purchase","can_purchase_reason"]}},"has_more":{"description":"true if more messages are available beyond the returned page","type":"boolean"}},"required":["items","has_more"]}}}}}}}}}
```

## Send a message to a chat.

> \*\*Rate limit:\*\* 1 request per second\
> \
> The message text is scanned by the content-moderation service before being enqueued.\
> Requests whose text matches restricted words or topics return \`400\` with\
> \`code: "RESTRICTED\_WORDS\_DETECTED"\` and the matching \`words\` / \`topics\` in \`details\`.

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"messages","description":"Endpoints for sending messages."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}/chats/{chat_id}/messages":{"post":{"summary":"Send a message to a chat.","tags":["messages"],"description":"**Rate limit:** 1 request per second\n\nThe message text is scanned by the content-moderation service before being enqueued.\nRequests whose text matches restricted words or topics return `400` with\n`code: \"RESTRICTED_WORDS_DETECTED\"` and the matching `words` / `topics` in `details`.","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"additionalProperties":false,"type":"object","properties":{"text":{"anyOf":[{"type":"null"},{"minLength":1,"maxLength":5000,"description":"The message text content. Required unless a media file is present.","type":"string"}]},"price":{"default":null,"description":"Price for the message (0 or null for free, or between 3-200 for paid content). A paid message (price >= 3) must carry at least one paid item.","anyOf":[{"type":"number","enum":[0]},{"minimum":3,"maximum":200,"type":"number"},{"type":"null"}]},"locked_text":{"default":false,"description":"If true, the text is locked behind the paywall (paid text). Requires price >= 3 and counts as a paid item, so media is not required.","type":"boolean"},"media":{"maxItems":100,"default":[],"description":"Media attachments (already uploaded to platform)","type":"array","items":{"additionalProperties":false,"type":"object","properties":{"id":{"minLength":1,"maxLength":100,"description":"Existing platform media ID","type":"string"},"type":{"type":"string","enum":["image","video","audio","gif"]},"is_paid":{"description":"If true, this media is locked behind the paywall and excluded from the preview shown to the recipient before purchase. Only meaningful when price >= 3.","type":"boolean"}},"required":["id","type"]}}},"required":["text","price","locked_text","media"]},{"if":{"properties":{"price":{"type":"number","minimum":3}},"required":["price"]},"then":{"anyOf":[{"properties":{"locked_text":{"enum":[true]}},"required":["locked_text"]},{"properties":{"media":{"contains":{"properties":{"is_paid":{"enum":[true]}},"required":["is_paid"]}}},"required":["media"]}]}},{"if":{"properties":{"media":{"contains":{"properties":{"is_paid":{"enum":[true]}},"required":["is_paid"]}}},"required":["media"]},"then":{"properties":{"price":{"type":"number","minimum":3}},"required":["price"]}},{"if":{"properties":{"locked_text":{"enum":[true]}},"required":["locked_text"]},"then":{"properties":{"price":{"type":"number","minimum":3}},"required":["price"]}},{"if":{"properties":{"text":{"enum":[null]}},"required":["text"]},"then":{"properties":{"media":{"minItems":1}},"required":["media"]}}]}}}},"parameters":[{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"},{"schema":{"minLength":1,"maxLength":100,"type":"string"},"in":"path","name":"chat_id","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"send_id":{"format":"uuid","description":"Unique identifier for tracking this send by webhook","type":"string"}},"required":["send_id"]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","enum":["RESTRICTED_WORDS_DETECTED"]},"details":{"type":"object","properties":{"words":{"type":"array","items":{"type":"string"}},"topics":{"type":"array","items":{"type":"string"}}},"required":["words","topics"]}},"required":["message"]}}}}}}}}}
```

## Retrieve tracking links for a platform account

> \*\*Rate limit:\*\* 15 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"statistics","description":"Endpoints for retrieving account statistics."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/platforms/{platform}/accounts/{platform_account_id}/tracking-links":{"get":{"summary":"Retrieve tracking links for a platform account","description":"**Rate limit:** 15 requests per second","tags":["statistics"],"parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string","enum":["onlyfans"]},"description":"Name of the platform. Currently, only \"onlyfans\" is supported."},{"name":"platform_account_id","in":"path","required":true,"schema":{"type":"string"},"description":"Unique account identifier returned by the OnlyFans platform."},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date-time"},"description":"Start of the tracking link creation timestamp range (ISO 8601 Zulu)."},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date-time"},"description":"End of the tracking link creation timestamp range (ISO 8601 Zulu)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":10,"maximum":1000},"description":"Items per page (min:10 max:1000 default:100)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","description":"base64-signed string"},"description":"Pagination cursor returned from the previous request."}],"responses":{"200":{"description":"List of tracking links successfully retrieved for the specified platform account.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of tracking link records associated with the account.","items":{"type":"object","properties":{"id":{"type":"string","description":"Globally unique identifier of the tracking link."},"name":{"type":"string","description":"Name of the tracking link."},"subscribers":{"type":"number","description":"Number of subscribers acquired through this tracking link."},"url":{"type":"string","format":"uri","description":"Full URL of the tracking link."},"is_active":{"type":"boolean","description":"Indicates whether the tracking link is currently active."},"clicks":{"type":"number","description":"Total number of clicks registered for this tracking link."},"created_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the tracking link was created."}},"required":["id","name","subscribers","url","is_active","clicks","created_at"]}},"cursor":{"type":"string","description":"Base64-encoded cursor used for paginating subsequent results. Present only if additional pages exist."}},"required":["items"]}}}}}}}}}
```

## Retrieve tracking link users for a platform account

> \*\*Rate limit:\*\* 15 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"statistics","description":"Endpoints for retrieving account statistics."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/platforms/{platform}/accounts/{platform_account_id}/tracking-link-users":{"get":{"summary":"Retrieve tracking link users for a platform account","description":"**Rate limit:** 15 requests per second","tags":["statistics"],"parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string","enum":["onlyfans"]},"description":"Name of the platform. Currently, only \"onlyfans\" is supported."},{"name":"platform_account_id","in":"path","required":true,"schema":{"type":"string"},"description":"Unique account identifier returned by the OnlyFans platform."},{"name":"collected_from","in":"query","required":false,"schema":{"type":"string","format":"date-time"},"description":"Start of the collection timestamp range (ISO 8601 Zulu)."},{"name":"collected_to","in":"query","required":false,"schema":{"type":"string","format":"date-time"},"description":"End of the collection timestamp range (ISO 8601 Zulu)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":750},"description":"Items per page (min:1 max:750 default:100)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","description":"base64-signed string"},"description":"Pagination cursor returned from the previous request."},{"name":"link_id","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by a specific tracking link ID."}],"responses":{"200":{"description":"List of tracking link users successfully retrieved for the specified platform account.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of tracking link user records associated with the account.","items":{"type":"object","properties":{"link_id":{"type":"string","description":"Identifier of the tracking link this user is associated with."},"fan":{"type":"object","description":"Information about the fan who used the tracking link.","properties":{"id":{"type":"string","description":"Unique identifier of the fan on the platform."},"name":{"type":"string","description":"Display name of the fan."},"username":{"type":"string","description":"Username of the fan on the platform."}},"required":["id","name","username"]},"subscribed_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the fan subscribed via this tracking link."},"collected_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when this record was collected."}},"required":["link_id","fan","subscribed_at","collected_at"]}},"cursor":{"type":"string","description":"Base64-encoded cursor used for paginating subsequent results. Present only if additional pages exist."}},"required":["items"]}}}}}}}}}
```

## Retrieve trial links for a platform account

> \*\*Rate limit:\*\* 15 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"statistics","description":"Endpoints for retrieving account statistics."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/platforms/{platform}/accounts/{platform_account_id}/trial-links":{"get":{"summary":"Retrieve trial links for a platform account","description":"**Rate limit:** 15 requests per second","tags":["statistics"],"parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string","enum":["onlyfans"]},"description":"Name of the platform. Currently, only \"onlyfans\" is supported."},{"name":"platform_account_id","in":"path","required":true,"schema":{"type":"string"},"description":"Unique account identifier returned by the OnlyFans platform."},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date-time"},"description":"Start of the trial link creation timestamp range (ISO 8601 Zulu)."},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date-time"},"description":"End of the trial link creation timestamp range (ISO 8601 Zulu)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":10,"maximum":1000},"description":"Items per page (min:10 max:1000 default:100)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","description":"base64-signed string"},"description":"Pagination cursor returned from the previous request."}],"responses":{"200":{"description":"List of trial links successfully retrieved for the specified platform account.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of trial link records associated with the account.","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the trial link."},"name":{"type":"string","description":"Name of the trial link. May be empty if not set."},"claims":{"type":"number","description":"Number of times the trial link has been claimed."},"claims_limit":{"type":"number","description":"Maximum number of claims allowed for the trial link."},"url":{"type":"string","format":"uri","description":"Full URL of the trial link."},"duration_days":{"type":"number","description":"Duration in days of free access granted by the trial link."},"expires_at":{"type":"string","anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"ISO 8601 timestamp when the trial link expires, or null if still active."},"is_active":{"type":"boolean","description":"Indicates whether the trial link is currently active."},"clicks":{"type":"number","description":"Total number of clicks registered for this trial link."},"created_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the trial link was created."}},"required":["id","name","claims","claims_limit","url","duration_days","expires_at","is_active","clicks","created_at"]}},"cursor":{"type":"string","description":"Base64-encoded cursor used for paginating subsequent results. Present only if additional pages exist."}},"required":["items"]}}}}}}}}}
```

## Retrieve trial link users for a platform account

> \*\*Rate limit:\*\* 15 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"statistics","description":"Endpoints for retrieving account statistics."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/platforms/{platform}/accounts/{platform_account_id}/trial-link-users":{"get":{"summary":"Retrieve trial link users for a platform account","description":"**Rate limit:** 15 requests per second","tags":["statistics"],"parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string","enum":["onlyfans"]},"description":"Name of the platform. Currently, only \"onlyfans\" is supported."},{"name":"platform_account_id","in":"path","required":true,"schema":{"type":"string"},"description":"Unique account identifier returned by the OnlyFans platform."},{"name":"collected_from","in":"query","required":false,"schema":{"type":"string","format":"date-time"},"description":"Start of the collected_at timestamp range filter (ISO 8601 Zulu)."},{"name":"collected_to","in":"query","required":false,"schema":{"type":"string","format":"date-time"},"description":"End of the collected_at timestamp range filter (ISO 8601 Zulu)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":750},"description":"Items per page (min:1 max:750 default:100)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","description":"base64-signed string"},"description":"Pagination cursor returned from the previous request."},{"name":"link_id","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results to a specific trial link ID."}],"responses":{"200":{"description":"List of trial link users successfully retrieved for the specified platform account.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of trial link user records associated with the account.","items":{"type":"object","properties":{"link_id":{"type":"string","description":"Identifier of the trial link this user is associated with."},"fan":{"type":"object","description":"Information about the fan who used the trial link.","properties":{"id":{"type":"string","description":"Unique identifier of the fan on the platform."},"name":{"type":"string","description":"Fan display name."},"username":{"type":"string","description":"Fan username."}},"required":["id","name","username"]},"subscribed_at":{"type":"string","format":"date-time","description":"ISO 8601 UTC timestamp when the fan subscribed."},"collected_at":{"type":"string","format":"date-time","description":"ISO 8601 UTC timestamp when the record was collected."}},"required":["link_id","fan","subscribed_at","collected_at"]}},"cursor":{"type":"string","description":"Base64-encoded cursor for paginating subsequent results. Present only if additional pages exist."}},"required":["items"]}}}}}}}}}
```

## Retrieve chargebacks for a platform account

> \*\*Rate limit:\*\* 15 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"statistics","description":"Endpoints for retrieving account statistics."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/platforms/{platform}/accounts/{platform_account_id}/chargebacks":{"get":{"summary":"Retrieve chargebacks for a platform account","description":"**Rate limit:** 15 requests per second","tags":["statistics"],"parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string","enum":["onlyfans"]},"description":"Name of the platform. Currently, only \"onlyfans\" is supported."},{"name":"platform_account_id","in":"path","required":true,"schema":{"type":"string"},"description":"Unique account identifier returned by the OnlyFans platform."},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date-time"},"description":"Start of the chargeback creation timestamp range (ISO 8601 Zulu)."},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date-time"},"description":"End of the chargeback creation timestamp range (ISO 8601 Zulu)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":10,"maximum":1000,"default":100},"description":"Items per page (min:10 max:1000 default:100)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","description":"base64-signed string"},"description":"Pagination cursor returned from the previous request."}],"responses":{"200":{"description":"List of chargebacks successfully retrieved for the specified platform account.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of chargeback records associated with the account.","items":{"type":"object","properties":{"id":{"type":"string","description":"Globally unique identifier of the chargeback transaction."},"amount":{"type":"number","description":"Monetary amount of the chargeback."},"fan":{"type":"object","description":"Information about the fan associated with this chargeback.","properties":{"id":{"type":"string","description":"Unique identifier of the fan."}},"required":["id"]},"type":{"type":"string","description":"Type of the original transaction (e.g., tip, message payment)."},"status":{"type":"string","description":"Current state of the chargeback (e.g., undo)."},"chargeback_timestamp":{"type":"string","format":"date-time","description":"ISO 8601 timestamp indicating when the chargeback was created."},"transaction_timestamp":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of the original transaction."}},"required":["id","amount","fan","type","status","chargeback_timestamp","transaction_timestamp"]}},"cursor":{"type":"string","description":"Base64-encoded cursor used for paginating subsequent results. Present only if additional pages exist."}},"required":["items"]}}}}}}}}}
```

## Retrieve transactions for a platform account

> \*\*Rate limit:\*\* 15 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"statistics","description":"Endpoints for retrieving account statistics."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/platforms/{platform}/accounts/{platform_account_id}/transactions":{"get":{"summary":"Retrieve transactions for a platform account","description":"**Rate limit:** 15 requests per second","tags":["statistics"],"parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string","enum":["onlyfans"]},"description":"Name of the platform. Currently, only \"onlyfans\" is supported."},{"name":"platform_account_id","in":"path","required":true,"schema":{"type":"string"},"description":"Unique account identifier returned by the OnlyFans platform."},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date-time"},"description":"Start of the transaction creation timestamp range (ISO 8601 Zulu)."},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date-time"},"description":"End of the transaction creation timestamp range (ISO 8601 Zulu)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":10,"maximum":1000,"default":100},"description":"Items per page (min:10 max:1000 default:100)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","description":"base64-signed string"},"description":"Pagination cursor returned from the previous request."}],"responses":{"200":{"description":"List of transactions successfully retrieved for the specified platform account.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Array of transaction records associated with the account.","items":{"type":"object","properties":{"id":{"type":"string","description":"Globally unique identifier of the transaction."},"amount":{"type":"number","description":"Monetary amount of the transaction."},"fan":{"type":"object","description":"Information about the fan involved in the transaction.","properties":{"id":{"type":"string","description":"Unique identifier of the fan."}},"required":["id"]},"type":{"type":"string","description":"Categorization of the transaction (e.g., tip, message payment, recurring subscription, post purchase, live stream, unknown)."},"status":{"type":"string","description":"Current state of the transaction (done, loading, pending return)."},"timestamp":{"type":"string","format":"date-time","description":"ISO 8601 timestamp indicating when the transaction occurred."}},"required":["id","amount","fan","type","status","timestamp"]}},"cursor":{"type":"string","description":"Base64-encoded cursor used for paginating subsequent results. Included only if additional pages exist."}},"required":["items"]}}}}}}}}}
```

## Retrieve user metrics for OnlyFans platform

> \*\*Rate limit:\*\* 15 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"statistics","description":"Endpoints for retrieving account statistics."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/users/metrics":{"get":{"summary":"Retrieve user metrics for OnlyFans platform","description":"**Rate limit:** 15 requests per second","tags":["statistics"],"parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","format":"date-time"},"description":"Start of the metrics timestamp range (ISO 8601 Zulu)."},{"name":"to","in":"query","required":true,"schema":{"type":"string","format":"date-time"},"description":"End of the metrics timestamp range (ISO 8601 Zulu)."},{"name":"creator_ids","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","minimum":1},"minItems":1,"maxItems":100},"description":"Array of creator IDs to filter metrics by."},{"name":"user_ids","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","minimum":1},"minItems":1,"maxItems":100},"description":"Array of user IDs to filter metrics by."},{"name":"account_group_id","in":"query","required":false,"schema":{"type":"integer"},"description":"Account group ID to filter metrics by."},{"name":"role_id","in":"query","required":false,"schema":{"type":"integer"},"description":"Role ID to filter metrics by."},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0,"default":0},"description":"Offset for pagination."},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":1,"maximum":100,"default":100},"description":"Limit for pagination (max 100)."}],"responses":{"200":{"description":"User metrics successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"user_id":{"type":"integer","description":"User ID"},"creator_ids":{"type":"array","items":{"type":"integer"},"description":"Array of creator IDs"},"fans_count":{"type":"integer","description":"Total number of fans"},"messages_count":{"type":"integer","description":"Total number of messages sent"},"template_messages_count":{"type":"integer","description":"Number of template messages sent"},"ai_generated_messages_count":{"type":"integer","description":"Number of AI-generated messages"},"copied_messages_count":{"type":"integer","description":"Number of copied messages"},"media_messages_count":{"type":"integer","description":"Number of messages with media"},"paid_messages_count":{"type":"integer","description":"Number of paid messages sent"},"paid_messages_price_sum":{"type":"number","description":"Total sum of paid messages prices"},"words_count_sum":{"type":"integer","description":"Total word count across all messages"},"unsent_messages_count":{"type":"integer","description":"Number of unsent messages"},"purchase_interval_avg":{"type":"number","description":"Average purchase interval in seconds"},"reply_time_avg":{"type":"number","description":"Average reply time in seconds"},"posts_count":{"type":"integer","description":"Total number of posts"},"deleted_posts_count":{"type":"integer","description":"Number of deleted posts"},"work_time":{"type":"number","description":"Total work time"},"break_time":{"type":"number","description":"Total break time"},"sold_messages_count":{"type":"integer","description":"Number of messages sold"},"sold_messages_price_sum":{"type":"number","description":"Total price of messages sold"},"total_sold_messages_count":{"type":"integer","description":"Total count of all sold messages"},"total_sold_messages_price_sum":{"type":"number","description":"Total price sum of all sold messages"},"purchase_interval_min":{"type":"integer","description":"Minimum purchase interval"},"purchase_interval_max":{"type":"integer","description":"Maximum purchase interval"},"sold_posts_count":{"type":"integer","description":"Number of posts sold"},"sold_posts_price_sum":{"type":"number","description":"Total price of posts sold"},"total_sold_posts_count":{"type":"integer","description":"Total count of all sold posts"},"tips_amount_sum":{"type":"number","description":"Total sum of tips received"},"total_tips_amount_sum":{"type":"number","description":"Total sum of all tips"},"chargedback_tips_amount_sum":{"type":"number","description":"Total sum of chargedback tips"},"chargedback_posts_price_sum":{"type":"number","description":"Total price sum of chargedback posts"},"chargedback_posts_count":{"type":"integer","description":"Number of chargedback posts"},"chargedback_messages_price_sum":{"type":"number","description":"Total price sum of chargedback messages"},"chargedback_messages_count":{"type":"integer","description":"Number of chargedback messages"},"total_chargedback_tips_amount_sum":{"type":"number","description":"Total sum of all chargedback tips"},"total_chargedback_posts_price_sum":{"type":"number","description":"Total price sum of all chargedback posts"},"total_chargedback_posts_count":{"type":"integer","description":"Total count of all chargedback posts"},"total_chargedback_messages_price_sum":{"type":"number","description":"Total price sum of all chargedback messages"},"total_chargedback_messages_count":{"type":"integer","description":"Total count of all chargedback messages"},"internal_templates_count":{"type":"number","description":"Number of internal templates used"}},"required":["user_id","creator_ids"]}}},"required":["items"]}}}}}}}}}
```

## Retrieve organisation members

> \*\*Rate limit:\*\* 15 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"members","description":"Endpoints for managing organisation members."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/members":{"get":{"summary":"Retrieve organisation members","description":"**Rate limit:** 15 requests per second","tags":["members"],"parameters":[{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":1,"maximum":50},"description":"Number of members to return (min: 1, max: 50)."},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0},"description":"Number of members to skip for pagination."}],"responses":{"200":{"description":"List of organisation members successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"users":{"type":"array","description":"Array of organisation members.","items":{"type":"object","properties":{"id":{"type":"number","minimum":1,"description":"Unique identifier of the user."},"avatar":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"URL of the user avatar image."},"name":{"type":"string","description":"Full name of the user."},"email":{"type":"string","description":"Email address of the user."},"createdAt":{"type":"string","description":"ISO 8601 timestamp of when the user was created."},"customName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Custom display name assigned to the member within the organisation."}},"required":["id","avatar","name","email","createdAt","customName"]}}},"required":["users"]}}}}}}}}}
```

## Retrieve vault folders for a platform account. (For OnlyFans account only)

> \*\*Rate limit:\*\* 5 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"vault","description":"Endpoints for accessing vault folders and media."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}/vault/folders":{"get":{"summary":"Retrieve vault folders for a platform account. (For OnlyFans account only)","tags":["vault"],"description":"**Rate limit:** 5 requests per second","parameters":[{"schema":{"minimum":1,"maximum":10,"default":10,"type":"integer"},"in":"query","name":"limit","required":false},{"schema":{"minimum":0,"default":0,"type":"integer"},"in":"query","name":"offset","required":false},{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"items":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"id":{"type":"number"},"type":{"type":"string"},"name":{"type":"string"},"has_media":{"type":"boolean"},"can_update":{"type":"boolean"},"can_delete":{"type":"boolean"},"videos_count":{"type":"number"},"photos_count":{"type":"number"},"gifs_count":{"type":"number"},"audios_count":{"type":"number"}},"required":["id","type","name","has_media","can_update","can_delete","videos_count","photos_count","gifs_count","audios_count"]}}},"required":["items"]}}}}}}}}}
```

## Retrieve medias from a vault folder. (For OnlyFans account only)

> \*\*Rate limit:\*\* 5 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"vault","description":"Endpoints for accessing vault folders and media."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}/vault/folders/{folder_id}/medias":{"get":{"summary":"Retrieve medias from a vault folder. (For OnlyFans account only)","tags":["vault"],"description":"**Rate limit:** 5 requests per second","parameters":[{"schema":{"minimum":1,"maximum":10,"default":10,"type":"integer"},"in":"query","name":"limit","required":false},{"schema":{"minimum":0,"default":0,"type":"integer"},"in":"query","name":"offset","required":false},{"schema":{"type":"string","enum":["audio","video","photo","gif","all"],"default":"all"},"in":"query","name":"type","required":false},{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"},{"schema":{"minLength":1,"maxLength":100,"pattern":"^[0-9]+$","type":"string"},"in":"path","name":"folder_id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"items":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"can_view":{"type":"boolean"},"is_ready":{"type":"boolean"},"has_error":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"converted_to_video":{"type":"boolean"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}]},"thumbnail_url":{"type":"string"}},"required":["id","type","can_view","is_ready","has_error","converted_to_video","created_at","thumbnail_url"]}}},"required":["items"]}}}}}}}}}
```

## Stream a media thumbnail from the vault. (For OnlyFans account only)

> \*\*Rate limit:\*\* 3 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"vault","description":"Endpoints for accessing vault folders and media."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}/vault/media/{media_id}/thumbnail":{"get":{"summary":"Stream a media thumbnail from the vault. (For OnlyFans account only)","tags":["vault"],"description":"**Rate limit:** 3 requests per second","parameters":[{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"},{"schema":{"minimum":1,"type":"integer"},"in":"path","name":"media_id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}}}}}}
```

## List media uploads for a vault account.

> \*\*Rate limit:\*\* 3 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"vault","description":"Endpoints for accessing vault folders and media."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}/vault/medias/uploads":{"get":{"summary":"List media uploads for a vault account.","tags":["vault"],"description":"**Rate limit:** 3 requests per second","parameters":[{"schema":{"minimum":1,"maximum":100,"default":10,"type":"integer"},"in":"query","name":"limit","required":false},{"schema":{"minimum":0,"default":0,"type":"integer"},"in":"query","name":"offset","required":false},{"schema":{"type":"boolean"},"in":"query","name":"expired","required":false},{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"items":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["uploaded","processing","processed","exporting","exported","failed","unprocessable"]},"media_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadata":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string"},"size":{"type":"integer"},"content_type":{"type":"string"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}]},"key":{"type":"string"},"e_tag":{"type":"string"},"get_url":{"type":"string"},"export_type":{"type":"string"},"export_fan_id":{"type":"string"},"rf_guest":{"type":"array","items":{"type":"string"}},"rf_partner":{"type":"array","items":{"type":"string"}},"rf_tag":{"type":"array","items":{"type":"string"}}},"required":["name","size","content_type","duration","key","e_tag","get_url","export_type"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","status","media_id","metadata","created_at","updated_at"]}},"total":{"minimum":0,"type":"integer"}},"required":["items","total"]}}}}}}}}}
```

## Start a new vault media upload.

> \*\*Rate limit:\*\* 3 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"vault","description":"Endpoints for accessing vault folders and media."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}/vault/medias/uploads/start":{"post":{"summary":"Start a new vault media upload.","tags":["vault"],"description":"**Rate limit:** 3 requests per second","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"name":{"minLength":1,"maxLength":255,"pattern":"^[\\w. \\-()]{1,255}$","type":"string"},"size":{"minimum":1,"maximum":5368709120,"type":"integer"},"content_type":{"minLength":1,"maxLength":255,"pattern":"^(image|video|audio)/[a-zA-Z0-9.+-]+$","type":"string"},"duration":{"minimum":0,"type":"number"}},"required":["name","size","content_type"]}}},"required":true},"parameters":[{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":false,"type":"object","properties":{"get_url":{"type":"string"},"put_url":{"type":"string"},"key":{"type":"string"}},"required":["get_url","put_url","key"]},{"additionalProperties":false,"type":"object","properties":{"get_url":{"type":"string"},"upload_id":{"type":"string"},"parts":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"id":{"type":"integer"},"put_url":{"type":"string"}},"required":["id","put_url"]}},"key":{"type":"string"}},"required":["get_url","upload_id","parts","key"]}]}}}}}}}}}
```

## Finish a multipart vault media upload.

> \*\*Rate limit:\*\* 3 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"vault","description":"Endpoints for accessing vault folders and media."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}/vault/medias/uploads/finish":{"post":{"summary":"Finish a multipart vault media upload.","tags":["vault"],"description":"**Rate limit:** 3 requests per second","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"key":{"minLength":1,"maxLength":1024,"type":"string"},"upload_id":{"minLength":1,"maxLength":256,"type":"string"},"parts":{"minItems":1,"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"part":{"minimum":1,"type":"integer"},"e_tag":{"minLength":1,"maxLength":256,"type":"string"}},"required":["part","e_tag"]}}},"required":["key","upload_id","parts"]}}},"required":true},"parameters":[{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"e_tag":{"type":"string"}},"required":["e_tag"]}}}}}}}}}
```

## Export an uploaded media to the vault.

> \*\*Rate limit:\*\* 3 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"vault","description":"Endpoints for accessing vault folders and media."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}/vault/medias/uploads/export":{"post":{"summary":"Export an uploaded media to the vault.","tags":["vault"],"description":"**Rate limit:** 3 requests per second","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"name":{"minLength":1,"maxLength":255,"pattern":"^[\\w. \\-()]{1,255}$","type":"string"},"size":{"minimum":1,"maximum":5368709120,"type":"integer"},"content_type":{"minLength":1,"maxLength":255,"pattern":"^(image|video|audio)/[a-zA-Z0-9.+-]+$","type":"string"},"duration":{"minimum":0,"type":"number"},"key":{"minLength":1,"maxLength":1024,"type":"string"},"e_tag":{"minLength":1,"maxLength":256,"type":"string"},"get_url":{"minLength":1,"maxLength":2048,"format":"uri","type":"string"},"export_type":{"type":"string","enum":["post","message"]},"export_fan_id":{"minLength":1,"type":"string"},"rf_guest":{"type":"array","items":{"minLength":1,"type":"string"}},"rf_partner":{"type":"array","items":{"minLength":1,"type":"string"}},"rf_tag":{"type":"array","items":{"minLength":1,"type":"string"}}},"required":["name","size","content_type","key","e_tag","get_url","export_type"]}}},"required":true},"parameters":[{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["uploaded","processing","processed","exporting","exported","failed","unprocessable"]},"media_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadata":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string"},"size":{"type":"integer"},"content_type":{"type":"string"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}]},"key":{"type":"string"},"e_tag":{"type":"string"},"get_url":{"type":"string"},"export_type":{"type":"string"},"export_fan_id":{"type":"string"},"rf_guest":{"type":"array","items":{"type":"string"}},"rf_partner":{"type":"array","items":{"type":"string"}},"rf_tag":{"type":"array","items":{"type":"string"}}},"required":["name","size","content_type","duration","key","e_tag","get_url","export_type"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","status","media_id","metadata","created_at","updated_at"]}}}}}}}}}
```

## Retry a failed vault media upload.

> \*\*Rate limit:\*\* 3 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"vault","description":"Endpoints for accessing vault folders and media."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}/vault/medias/uploads/{upload_id}/retry":{"post":{"summary":"Retry a failed vault media upload.","tags":["vault"],"description":"**Rate limit:** 3 requests per second","parameters":[{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"},{"schema":{"format":"uuid","type":"string"},"in":"path","name":"upload_id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["uploaded","processing","processed","exporting","exported","failed","unprocessable"]},"media_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadata":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string"},"size":{"type":"integer"},"content_type":{"type":"string"},"duration":{"anyOf":[{"type":"number"},{"type":"null"}]},"key":{"type":"string"},"e_tag":{"type":"string"},"get_url":{"type":"string"},"export_type":{"type":"string"},"export_fan_id":{"type":"string"},"rf_guest":{"type":"array","items":{"type":"string"}},"rf_partner":{"type":"array","items":{"type":"string"}},"rf_tag":{"type":"array","items":{"type":"string"}}},"required":["name","size","content_type","duration","key","e_tag","get_url","export_type"]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","status","media_id","metadata","created_at","updated_at"]}}}}}}}}}
```

## Verify a fan link before exporting vault media. (For OnlyFans account only)

> \*\*Rate limit:\*\* 3 requests per second

```json
{"openapi":"3.0.0","info":{"title":"om-api-service","version":"0.36.0"},"tags":[{"name":"vault","description":"Endpoints for accessing vault folders and media."}],"servers":[{"url":"https://omapi.onlymonster.ai","description":"Production"}],"security":[{"ApiToken":[]}],"components":{"securitySchemes":{"ApiToken":{"type":"apiKey","in":"header","name":"x-om-auth-token","description":"API token for authentication"}}},"paths":{"/api/v0/accounts/{account_id}/vault/medias/uploads/fans/verify":{"post":{"summary":"Verify a fan link before exporting vault media. (For OnlyFans account only)","tags":["vault"],"description":"**Rate limit:** 3 requests per second","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"fan_link":{"minLength":1,"maxLength":2048,"pattern":"^https?://(www\\.)?onlyfans\\.com/","type":"string"}},"required":["fan_link"]}}},"required":true},"parameters":[{"schema":{"pattern":"^(0|[1-9]\\d*)$","maxLength":19,"type":"string"},"in":"path","name":"account_id","required":true,"description":"Big integer id as string"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","properties":{"fan_id":{"minLength":1,"type":"string"}},"required":["fan_id"]}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onlymonster.ai/integrations-and-api/openapi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
