openapi: 3.2.0 info: description: Read public social data through one API contract. API keys starting with oh_test_ use the deterministic synthetic dataset and record a $0.000 actual charge. Keys starting with oh_live_, plus legacy oh_ keys, use real public data and normal billing. Do not send an environment parameter or header. title: Openhandle Reddit API version: 1.1.0 servers: - url: https://api.openhandle.dev tags: - name: Reddit paths: /v1/reddit/domains/{identifier}/posts: get: description: List domain posts from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_domain_posts_list parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: example.com in: path name: identifier required: true schema: minLength: 1 type: string - description: Result ordering for this operation. example: hot in: query name: sort required: false schema: default: hot enum: - hot - new - top - rising - controversial type: string - description: Provider-specific public-data filter for this operation. in: query name: t required: false schema: enum: - hour - day - week - month - year - all type: string - description: Maximum number of results to return. in: query name: limit required: false schema: default: 25 maximum: 100 minimum: 1 type: integer - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditPost' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List domain posts tags: - Reddit x-openhandle-operation: reddit.domain.posts.list x-openhandle-sdk: operation: list paginated: true path: reddit.domain.posts.list scope: - name: reddit - name: domain parameter: identifier reference: domain - name: posts x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.domain.posts.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: example.com page: index query: synthetic /v1/reddit/posts/{identifier}: get: description: Get a post from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_post_get parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: synthetic in: path name: identifier required: true schema: minLength: 1 type: string - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/RedditPost' required: - data type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: Get a post tags: - Reddit x-openhandle-operation: reddit.post.get x-openhandle-sdk: operation: get paginated: false path: reddit.post.get scope: - name: reddit - name: post parameter: identifier reference: post x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.post.get contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: synthetic page: index query: synthetic /v1/reddit/posts/{identifier}/comments: get: description: List post comments from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_post_comments_list parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: synthetic in: path name: identifier required: true schema: minLength: 1 type: string - description: Result ordering for this operation. example: confidence in: query name: sort required: false schema: default: confidence enum: - confidence - top - new - controversial - old - qa type: string - description: Maximum number of results to return. in: query name: limit required: false schema: default: 25 maximum: 100 minimum: 1 type: integer - description: Provider-specific public-data filter for this operation. in: query name: depth required: false schema: maximum: 10 minimum: 0 type: integer - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditComment' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List post comments tags: - Reddit x-openhandle-operation: reddit.post.comments.list x-openhandle-sdk: operation: list paginated: true path: reddit.post.comments.list scope: - name: reddit - name: post parameter: identifier reference: post - name: comments x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.post.comments.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: synthetic page: index query: synthetic /v1/reddit/posts/{identifier}/duplicates: get: description: List duplicate posts from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_post_duplicates_list parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: synthetic in: path name: identifier required: true schema: minLength: 1 type: string - description: Maximum number of results to return. in: query name: limit required: false schema: default: 25 maximum: 100 minimum: 1 type: integer - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditPost' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List duplicate posts tags: - Reddit x-openhandle-operation: reddit.post.duplicates.list x-openhandle-sdk: operation: list paginated: true path: reddit.post.duplicates.list scope: - name: reddit - name: post parameter: identifier reference: post - name: duplicates x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.post.duplicates.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: synthetic page: index query: synthetic /v1/reddit/profiles/{identifier}: get: description: Return one public Reddit profile. Use @username or a t2_ profile ID. An ID resolves only after the profile was read by username once. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_profile_get parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: '@synthetic_reddit' in: path name: identifier required: true schema: minLength: 1 type: string - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/RedditProfile' required: - data type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: Get a profile tags: - Reddit x-openhandle-operation: reddit.profile.get x-openhandle-sdk: operation: get paginated: false path: reddit.profile.get scope: - name: reddit - name: profile parameter: identifier reference: profile x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.profile.get contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: '@synthetic_reddit' /v1/reddit/profiles/{identifier}/comments: get: description: List profile comments from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_profile_comments_list parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: '@synthetic_reddit' in: path name: identifier required: true schema: minLength: 1 type: string - description: Result ordering for this operation. example: new in: query name: sort required: false schema: default: new enum: - new - hot - top - controversial type: string - description: Provider-specific public-data filter for this operation. in: query name: t required: false schema: enum: - hour - day - week - month - year - all type: string - description: Maximum number of results to return. in: query name: limit required: false schema: default: 25 maximum: 100 minimum: 1 type: integer - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditComment' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List profile comments tags: - Reddit x-openhandle-operation: reddit.profile.comments.list x-openhandle-sdk: operation: list paginated: true path: reddit.profile.comments.list scope: - name: reddit - name: profile parameter: identifier reference: profile - name: comments x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.profile.comments.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: '@synthetic_reddit' page: index query: synthetic /v1/reddit/profiles/{identifier}/moderated: get: description: List moderated subreddits from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_profile_moderated_list parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: '@synthetic_reddit' in: path name: identifier required: true schema: minLength: 1 type: string - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditSubreddit' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List moderated subreddits tags: - Reddit x-openhandle-operation: reddit.profile.moderated.list x-openhandle-sdk: operation: list paginated: true path: reddit.profile.moderated.list scope: - name: reddit - name: profile parameter: identifier reference: profile - name: moderated x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.profile.moderated.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: '@synthetic_reddit' page: index query: synthetic /v1/reddit/profiles/{identifier}/posts: get: description: List profile posts from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_profile_posts_list parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: '@synthetic_reddit' in: path name: identifier required: true schema: minLength: 1 type: string - description: Result ordering for this operation. example: new in: query name: sort required: false schema: default: new enum: - new - hot - top - controversial type: string - description: Provider-specific public-data filter for this operation. in: query name: t required: false schema: enum: - hour - day - week - month - year - all type: string - description: Maximum number of results to return. in: query name: limit required: false schema: default: 25 maximum: 100 minimum: 1 type: integer - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditPost' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List profile posts tags: - Reddit x-openhandle-operation: reddit.profile.posts.list x-openhandle-sdk: operation: list paginated: true path: reddit.profile.posts.list scope: - name: reddit - name: profile parameter: identifier reference: profile - name: posts x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.profile.posts.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: '@synthetic_reddit' page: index query: synthetic /v1/reddit/profiles/{identifier}/trophies: get: description: List profile trophies from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_profile_trophies_list parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: '@synthetic_reddit' in: path name: identifier required: true schema: minLength: 1 type: string - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditTrophy' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List profile trophies tags: - Reddit x-openhandle-operation: reddit.profile.trophies.list x-openhandle-sdk: operation: list paginated: true path: reddit.profile.trophies.list scope: - name: reddit - name: profile parameter: identifier reference: profile - name: trophies x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.profile.trophies.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: '@synthetic_reddit' page: index query: synthetic /v1/reddit/search/posts: get: description: Search posts from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_search_posts_list parameters: - description: Public search query. example: synthetic in: query name: q required: true schema: minLength: 1 type: string - description: Result ordering for this operation. example: relevance in: query name: sort required: false schema: default: relevance enum: - relevance - hot - top - new - comments type: string - description: Provider-specific public-data filter for this operation. example: synthetic in: query name: subreddit required: false schema: minLength: 1 type: string - description: Provider-specific public-data filter for this operation. example: synthetic in: query name: t required: false schema: enum: - hour - day - week - month - year - all type: string - description: Maximum number of results to return. example: synthetic in: query name: limit required: false schema: default: 25 maximum: 100 minimum: 1 type: integer - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditPost' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: Search posts tags: - Reddit x-openhandle-operation: reddit.search.posts.list x-openhandle-sdk: operation: list paginated: true path: reddit.search.posts.list scope: - name: reddit - name: search - name: posts x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.search.posts.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: page: index query: synthetic /v1/reddit/search/profiles: get: description: Search profiles from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_search_profiles_list parameters: - description: Public search query. example: synthetic in: query name: q required: true schema: minLength: 1 type: string - description: Maximum number of results to return. example: synthetic in: query name: limit required: false schema: default: 25 maximum: 100 minimum: 1 type: integer - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditProfile' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: Search profiles tags: - Reddit x-openhandle-operation: reddit.search.profiles.list x-openhandle-sdk: operation: list paginated: true path: reddit.search.profiles.list scope: - name: reddit - name: search - name: profiles x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.search.profiles.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: page: index query: synthetic /v1/reddit/search/subreddits: get: description: Search subreddits from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_search_subreddits_list parameters: - description: Public search query. example: synthetic in: query name: q required: true schema: minLength: 1 type: string - description: Maximum number of results to return. example: synthetic in: query name: limit required: false schema: default: 25 maximum: 100 minimum: 1 type: integer - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditSubreddit' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: Search subreddits tags: - Reddit x-openhandle-operation: reddit.search.subreddits.list x-openhandle-sdk: operation: list paginated: true path: reddit.search.subreddits.list scope: - name: reddit - name: search - name: subreddits x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.search.subreddits.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: page: index query: synthetic /v1/reddit/subreddits/new: get: description: List new subreddits from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_subreddits_new_list parameters: - description: Maximum number of results to return. in: query name: limit required: false schema: default: 25 maximum: 100 minimum: 1 type: integer - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditSubreddit' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List new subreddits tags: - Reddit x-openhandle-operation: reddit.subreddits.new.list x-openhandle-sdk: operation: list paginated: true path: reddit.subreddits.new.list scope: - name: reddit - name: subreddits - name: new x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.subreddits.new.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: handle: synthetic_reddit id: synthetic page: index q: synthetic query: synthetic /v1/reddit/subreddits/popular: get: description: List popular subreddits from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_subreddits_popular_list parameters: - description: Maximum number of results to return. in: query name: limit required: false schema: default: 25 maximum: 100 minimum: 1 type: integer - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditSubreddit' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List popular subreddits tags: - Reddit x-openhandle-operation: reddit.subreddits.popular.list x-openhandle-sdk: operation: list paginated: true path: reddit.subreddits.popular.list scope: - name: reddit - name: subreddits - name: popular x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.subreddits.popular.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: handle: synthetic_reddit id: synthetic page: index q: synthetic query: synthetic /v1/reddit/subreddits/{identifier}: get: description: Get a subreddit from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_subreddit_get parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: synthetic in: path name: identifier required: true schema: minLength: 1 type: string - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/RedditSubreddit' required: - data type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: Get a subreddit tags: - Reddit x-openhandle-operation: reddit.subreddit.get x-openhandle-sdk: operation: get paginated: false path: reddit.subreddit.get scope: - name: reddit - name: subreddit parameter: identifier reference: subreddit x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.subreddit.get contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: synthetic page: index query: synthetic /v1/reddit/subreddits/{identifier}/posts: get: description: List subreddit posts from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_subreddit_posts_list parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: synthetic in: path name: identifier required: true schema: minLength: 1 type: string - description: Result ordering for this operation. example: hot in: query name: sort required: false schema: default: hot enum: - hot - new - top - rising - controversial type: string - description: Provider-specific public-data filter for this operation. in: query name: t required: false schema: enum: - hour - day - week - month - year - all type: string - description: Maximum number of results to return. in: query name: limit required: false schema: default: 25 maximum: 100 minimum: 1 type: integer - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditPost' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List subreddit posts tags: - Reddit x-openhandle-operation: reddit.subreddit.posts.list x-openhandle-sdk: operation: list paginated: true path: reddit.subreddit.posts.list scope: - name: reddit - name: subreddit parameter: identifier reference: subreddit - name: posts x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.subreddit.posts.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: synthetic page: index query: synthetic /v1/reddit/subreddits/{identifier}/rules: get: description: List subreddit rules from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_subreddit_rules_list parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: synthetic in: path name: identifier required: true schema: minLength: 1 type: string - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditRule' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List subreddit rules tags: - Reddit x-openhandle-operation: reddit.subreddit.rules.list x-openhandle-sdk: operation: list paginated: true path: reddit.subreddit.rules.list scope: - name: reddit - name: subreddit parameter: identifier reference: subreddit - name: rules x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.subreddit.rules.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: synthetic page: index query: synthetic /v1/reddit/subreddits/{identifier}/wiki-pages: get: description: List wiki pages from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_subreddit_wiki_list parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: synthetic in: path name: identifier required: true schema: minLength: 1 type: string - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditWikiPage' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List wiki pages tags: - Reddit x-openhandle-operation: reddit.subreddit.wiki.list x-openhandle-sdk: operation: list paginated: true path: reddit.subreddit.wikiPages.list scope: - name: reddit - name: subreddit parameter: identifier reference: subreddit - name: wikiPages x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.subreddit.wiki.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: synthetic page: index query: synthetic /v1/reddit/subreddits/{identifier}/wiki-pages/{page}: get: description: Get a wiki page from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_subreddit_wiki_page_get parameters: - description: Public resource reference. Profile paths accept a username with an @ prefix, such as @openai, or the stable platform ID. Post paths accept the platform post ID or shortcode. example: synthetic in: path name: identifier required: true schema: minLength: 1 type: string - description: Provider-specific public-data filter for this operation. example: index in: path name: page required: true schema: minLength: 1 type: string - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/RedditWikiPage' required: - data type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: Get a wiki page tags: - Reddit x-openhandle-operation: reddit.subreddit.wiki.page.get x-openhandle-sdk: operation: get paginated: false path: reddit.subreddit.wikiPage.get scope: - name: reddit - name: subreddit parameter: identifier reference: subreddit - name: wikiPage parameter: page reference: wikiPage x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.subreddit.wiki.page.get contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: identifier: synthetic page: index query: synthetic /v1/reddit/trending/posts: get: description: List trending posts from public Reddit data. Test and Live use the same route, parameters, response schema, pagination, and errors. In Test, null means unavailable, not zero. operationId: Reddit_trending_posts_list parameters: - description: Result ordering for this operation. example: hot in: query name: sort required: false schema: default: hot enum: - hot - new - top - rising - controversial - best type: string - description: Provider-specific public-data filter for this operation. in: query name: t required: false schema: enum: - hour - day - week - month - year - all type: string - description: Maximum number of results to return. in: query name: limit required: false schema: default: 25 maximum: 100 minimum: 1 type: integer - description: Maximum accepted data age. The default is 24h. example: 24h in: query name: freshness required: false schema: default: 24h enum: - live - 24h - 7d - 30d type: string - description: Opaque cursor returned by the previous page. in: query name: cursor required: false schema: type: string responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: items: $ref: '#/components/schemas/RedditPost' type: array required: - data - meta type: object description: A successful Test or Live response. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: List trending posts tags: - Reddit x-openhandle-operation: reddit.trending.posts.list x-openhandle-sdk: operation: list paginated: true path: reddit.trending.posts.list scope: - name: reddit - name: trending - name: posts x-openhandle-test-data: catalogUrl: /v1/test-data?operation=reddit.trending.posts.list contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 example: handle: synthetic_reddit id: synthetic page: index q: synthetic query: synthetic components: schemas: TwitterCardApp: additionalProperties: false properties: category: anyOf: - $ref: '#/components/schemas/TwitterCardText' - type: 'null' countryCode: minLength: 1 type: - string - 'null' description: anyOf: - $ref: '#/components/schemas/TwitterCardText' - type: 'null' groupId: minLength: 1 type: - string - 'null' hasInAppPurchases: type: - boolean - 'null' iconKey: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isEditorsChoice: type: - boolean - 'null' isFree: type: - boolean - 'null' metrics: anyOf: - $ref: '#/components/schemas/TwitterAppMetrics' - type: 'null' resolvedUrl: format: uri minLength: 1 type: - string - 'null' sizeBytes: type: - integer - 'null' title: anyOf: - $ref: '#/components/schemas/TwitterCardText' - type: 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - groupId - id - type - countryCode - url - resolvedUrl - isEditorsChoice - isFree - iconKey - sizeBytes - hasInAppPurchases - category - title - description - metrics type: object TwitterBroadcaster: additionalProperties: false properties: displayName: minLength: 1 type: - string - 'null' handle: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' required: - id - handle - displayName type: object RedditProfile: additionalProperties: false properties: acceptsFollowers: type: - boolean - 'null' avatar: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' banner: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' bio: minLength: 1 type: - string - 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' displayHandle: minLength: 1 type: - string - 'null' displayName: minLength: 1 type: - string - 'null' handle: minLength: 1 type: string id: minLength: 1 type: string isEmployee: type: - boolean - 'null' isModerator: type: - boolean - 'null' isPremium: type: - boolean - 'null' isSensitive: type: - boolean - 'null' metrics: $ref: '#/components/schemas/RedditProfileMetrics' profileCommunity: anyOf: - $ref: '#/components/schemas/RedditProfileCommunity' - type: 'null' snoovatar: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' url: format: uri minLength: 1 type: string verification: $ref: '#/components/schemas/RedditVerification' visibility: $ref: '#/components/schemas/RedditProfileVisibility' required: - id - handle - displayHandle - displayName - bio - url - createdAt - avatar - snoovatar - banner - isPremium - isEmployee - isModerator - acceptsFollowers - isSensitive - verification - visibility - metrics - profileCommunity type: object InstagramTemplateInfo: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' effectId: minLength: 1 type: - string - 'null' effects: additionalProperties: false properties: segments: items: {} type: - array - 'null' required: - segments type: object minimumSegments: type: - integer - 'null' postId: minLength: 1 type: - string - 'null' segments: items: $ref: '#/components/schemas/InstagramTemplateSegment' type: - array - 'null' required: - postId - author - minimumSegments - segments - effectId - effects type: object TwitterMediaFeature: additionalProperties: false properties: faceRegions: items: $ref: '#/components/schemas/TwitterRectangle' type: - array - 'null' size: minLength: 1 type: - string - 'null' taggedProfiles: items: $ref: '#/components/schemas/TwitterProfileReference' type: - array - 'null' required: - size - faceRegions - taggedProfiles type: object RedditPostingSettings: additionalProperties: false properties: allOriginalContent: type: - boolean - 'null' allowGalleries: type: - boolean - 'null' allowImages: type: - boolean - 'null' allowPolls: type: - boolean - 'null' allowVideos: type: - boolean - 'null' instructions: anyOf: - $ref: '#/components/schemas/RedditText' - type: 'null' labels: anyOf: - $ref: '#/components/schemas/RedditPostingLabels' - type: 'null' originalContentTagEnabled: type: - boolean - 'null' restrictPosting: type: - boolean - 'null' spoilersEnabled: type: - boolean - 'null' type: minLength: 1 type: - string - 'null' required: - type - instructions - labels - allowImages - allowVideos - allowGalleries - allowPolls - spoilersEnabled - originalContentTagEnabled - allOriginalContent - restrictPosting type: object TwitterRichText: additionalProperties: false properties: entities: items: $ref: '#/components/schemas/TwitterEntity' type: - array - 'null' text: minLength: 1 type: - string - 'null' required: - text - entities type: object InstagramProfileAddress: additionalProperties: false properties: city: minLength: 1 type: - string - 'null' cityId: minLength: 1 type: - string - 'null' postalCode: minLength: 1 type: - string - 'null' street: minLength: 1 type: - string - 'null' required: - street - city - cityId - postalCode type: object InstagramLocationReference: additionalProperties: false properties: address: $ref: '#/components/schemas/InstagramLocationAddress' category: minLength: 1 type: - string - 'null' coordinates: $ref: '#/components/schemas/InstagramCoordinates' external: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' source: minLength: 1 type: - string - 'null' required: - id - source type: object hours: anyOf: - $ref: '#/components/schemas/InstagramLocationHours' - type: 'null' id: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' phone: minLength: 1 type: - string - 'null' searchContext: additionalProperties: false properties: subtitle: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' required: - title - subtitle type: object shortName: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' website: minLength: 1 type: - string - 'null' required: - id - name - shortName - category - url - phone - website - address - coordinates - external - searchContext - hours type: object TwitterRectangle: additionalProperties: false properties: height: type: - integer - 'null' width: type: - integer - 'null' x: type: - integer - 'null' y: type: - integer - 'null' required: - x - y - width - height type: object InstagramScrubber: additionalProperties: false properties: duration: type: - number - 'null' height: type: - integer - 'null' maxThumbnailsPerSprite: type: - integer - 'null' thumbnailDuration: type: - number - 'null' thumbnailHeight: type: - integer - 'null' thumbnailWidth: type: - integer - 'null' thumbnailsPerRow: type: - integer - 'null' thumbnailsPerSprite: type: - integer - 'null' urls: items: minLength: 1 type: string type: - array - 'null' width: type: - integer - 'null' required: - urls - width - height - thumbnailWidth - thumbnailHeight - thumbnailsPerRow - thumbnailsPerSprite - maxThumbnailsPerSprite - thumbnailDuration - duration type: object ResponseMeta: properties: cashtags: items: {} type: - array - 'null' chart: anyOf: - $ref: '#/components/schemas/TikTokChartMetadata' - type: 'null' collection: anyOf: - $ref: '#/components/schemas/InstagramStoryCollection' - type: 'null' community: anyOf: - $ref: '#/components/schemas/RedditCommunityHandle' - type: 'null' context: anyOf: - $ref: '#/components/schemas/RedditListingContext' - type: 'null' continuation: anyOf: - $ref: '#/components/schemas/TikTokPageContinuation' - type: 'null' count: type: - integer - 'null' cursors: $ref: '#/components/schemas/ResponseCursors' domain: minLength: 1 type: - string - 'null' events: items: {} type: - array - 'null' handle: minLength: 1 type: - string - 'null' hasFilteredComments: type: - boolean - 'null' hasMore: type: - boolean - 'null' hasMoreAfter: type: - boolean - 'null' hasMoreBefore: type: - boolean - 'null' hashtags: items: {} type: - array - 'null' isLimited: type: boolean likesEnabled: type: - boolean - 'null' limit: type: - integer - 'null' lists: items: {} type: - array - 'null' metrics: properties: comments: type: - integer - 'null' followers: type: - integer - 'null' following: type: - integer - 'null' likes: type: - integer - 'null' replies: type: - integer - 'null' results: type: - integer - 'null' suggestions: type: - integer - 'null' type: object nextCursorLabel: minLength: 1 type: - string - 'null' nextCursorType: minLength: 1 type: - string - 'null' parent: anyOf: - $ref: '#/components/schemas/InstagramCommentReference' - type: 'null' previousCursor: minLength: 1 type: - string - 'null' promoted: items: $ref: '#/components/schemas/TwitterPostReference' type: - array - 'null' queries: items: $ref: '#/components/schemas/TwitterSuggestedQuery' type: - array - 'null' query: minLength: 1 type: - string - 'null' siteRules: items: minLength: 1 type: string type: - array - 'null' sort: minLength: 1 type: - string - 'null' threadingEnabled: type: - boolean - 'null' track: anyOf: - $ref: '#/components/schemas/InstagramAudioReference' - type: 'null' required: - cursors type: object InstagramPosition: additionalProperties: false properties: x: type: - number - 'null' y: type: - number - 'null' required: - x - y type: object TwitterCommunityNote: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' presentation: anyOf: - $ref: '#/components/schemas/TwitterNotePresentation' - type: 'null' preview: anyOf: - $ref: '#/components/schemas/TwitterRichText' - type: 'null' shortTitle: minLength: 1 type: - string - 'null' summary: anyOf: - $ref: '#/components/schemas/TwitterRichText' - type: 'null' title: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - url - title - shortTitle - summary - preview - presentation type: object InstagramProfileReference: additionalProperties: false properties: accountBadges: items: {} type: - array - 'null' accountType: anyOf: - $ref: '#/components/schemas/InstagramProfileAccountType' - type: 'null' avatar: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' bio: minLength: 1 type: - string - 'null' bioEntities: items: {} type: - array - 'null' bioLinks: items: $ref: '#/components/schemas/InstagramBioLink' type: - array - 'null' broadcastChannels: $ref: '#/components/schemas/InstagramProfileBroadcastChannels' category: minLength: 1 type: - string - 'null' categoryId: minLength: 1 type: - string - 'null' contact: $ref: '#/components/schemas/InstagramProfileContact' content: $ref: '#/components/schemas/InstagramProfileContent' contentSettings: $ref: '#/components/schemas/InstagramProfileContentSettings' displayName: minLength: 1 type: - string - 'null' displaySettings: $ref: '#/components/schemas/InstagramProfileDisplaySettings' externalUrl: format: uri minLength: 1 type: - string - 'null' fanClub: $ref: '#/components/schemas/InstagramProfileFanClub' fbid: minLength: 1 type: - string - 'null' fundraisers: $ref: '#/components/schemas/InstagramProfileFundraisers' handle: minLength: 1 type: - string - 'null' hasDigitalAvatar: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' isAccountTransparencyVisible: type: - boolean - 'null' isBusiness: type: - boolean - 'null' isFacebookOnboardedCharity: type: - boolean - 'null' isMemorialized: type: - boolean - 'null' isNew: type: - boolean - 'null' isOpenToCollaboration: type: - boolean - 'null' isPotentialBusiness: type: - boolean - 'null' isPrivate: type: - boolean - 'null' isUnpublished: type: - boolean - 'null' isVerified: type: - boolean - 'null' lastStoryAt: format: date-time minLength: 1 type: - string - 'null' location: $ref: '#/components/schemas/InstagramProfileLocation' mediaPreviews: items: $ref: '#/components/schemas/InstagramMediaPreview' type: - array - 'null' messagingFbid: minLength: 1 type: - string - 'null' metrics: $ref: '#/components/schemas/InstagramProfileMetrics' pronouns: items: minLength: 1 type: string type: - array - 'null' socialContext: minLength: 1 type: - string - 'null' suggestion: anyOf: - $ref: '#/components/schemas/InstagramSuggestion' - type: 'null' threads: $ref: '#/components/schemas/InstagramProfileThreads' upcomingEvents: items: {} type: - array - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - suggestion - mediaPreviews - id - handle - displayName - bio - url - externalUrl - avatar - fbid - messagingFbid - isPrivate - isVerified - isBusiness - isPotentialBusiness - isUnpublished - isMemorialized - isNew - isOpenToCollaboration - isFacebookOnboardedCharity - hasDigitalAvatar - isAccountTransparencyVisible - category - categoryId - accountType - socialContext - lastStoryAt - pronouns - accountBadges - bioEntities - bioLinks - upcomingEvents - metrics - contact - location - fanClub - content - contentSettings - displaySettings - threads - broadcastChannels - fundraisers type: object InstagramSuggestion: additionalProperties: false properties: caption: minLength: 1 type: - string - 'null' hasStoryRing: type: - boolean - 'null' icon: minLength: 1 type: - string - 'null' isNew: type: - boolean - 'null' largeImages: items: $ref: '#/components/schemas/InstagramImage' type: - array - 'null' posts: items: $ref: '#/components/schemas/InstagramPostReference' type: - array - 'null' socialContext: minLength: 1 type: - string - 'null' thumbnails: items: $ref: '#/components/schemas/InstagramImage' type: - array - 'null' required: - socialContext - hasStoryRing - isNew - icon - caption - thumbnails - largeImages - posts type: object InstagramLocationAddress: additionalProperties: false properties: city: minLength: 1 type: - string - 'null' countryCode: minLength: 1 type: - string - 'null' postalCode: minLength: 1 type: - string - 'null' region: minLength: 1 type: - string - 'null' street: minLength: 1 type: - string - 'null' required: - street - city - postalCode - region - countryCode type: object TwitterArticle: additionalProperties: false properties: cover: anyOf: - $ref: '#/components/schemas/TwitterMedia' - type: 'null' id: minLength: 1 type: - string - 'null' previewText: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' required: - id - title - previewText - cover type: object RedditSubredditMetrics: additionalProperties: false properties: subscribers: type: - integer - 'null' required: - subscribers type: object InstagramStoryCollection: additionalProperties: false properties: audience: additionalProperties: false properties: hasCloseFriendsStories: type: - boolean - 'null' hasSubscriberStories: type: - boolean - 'null' required: - hasCloseFriendsStories - hasSubscriberStories type: object expiresAt: format: date-time minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isArchived: type: - boolean - 'null' lastStoryAt: format: date-time minLength: 1 type: - string - 'null' metrics: additionalProperties: false properties: stories: type: - integer - 'null' required: - stories type: object required: - id - lastStoryAt - expiresAt - isArchived - metrics - audience type: object InstagramProfileMetrics: additionalProperties: false properties: arEffects: type: - integer - 'null' followers: type: - integer - 'null' following: type: - integer - 'null' posts: type: - integer - 'null' required: - followers - following - posts - arEffects type: object RedditPostMetrics: additionalProperties: false properties: awards: type: - integer - 'null' comments: type: - integer - 'null' crossposts: type: - integer - 'null' gilded: type: - integer - 'null' score: type: - integer - 'null' upvoteRatio: type: - number - 'null' views: type: - integer - 'null' required: - score - upvoteRatio - comments - crossposts - awards - gilded - views type: object RedditSubreddit: additionalProperties: false properties: acceptsFollowers: type: - boolean - 'null' avatar: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' banner: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' branding: $ref: '#/components/schemas/RedditSubredditBranding' createdAt: format: date-time minLength: 1 type: - string - 'null' description: anyOf: - $ref: '#/components/schemas/RedditText' - type: 'null' displayHandle: minLength: 1 type: - string - 'null' displayName: minLength: 1 type: - string - 'null' handle: minLength: 1 type: string id: minLength: 1 type: string isQuarantined: type: - boolean - 'null' isSensitive: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' metrics: $ref: '#/components/schemas/RedditSubredditMetrics' settings: $ref: '#/components/schemas/RedditSubredditSettings' summary: anyOf: - $ref: '#/components/schemas/RedditText' - type: 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: string required: - id - handle - displayHandle - displayName - type - language - url - createdAt - isQuarantined - isSensitive - acceptsFollowers - metrics - description - summary - settings - branding - avatar - banner type: object TwitterPollChoice: additionalProperties: false properties: images: items: $ref: '#/components/schemas/TwitterImage' type: - array - 'null' label: minLength: 1 type: - string - 'null' metrics: additionalProperties: false properties: votes: type: integer required: - votes type: - object - 'null' position: type: integer required: - position - label - metrics - images type: object TwitterMediaSize: additionalProperties: false properties: height: type: - integer - 'null' name: minLength: 1 type: - string - 'null' resizeMode: minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - name - width - height - resizeMode type: object TwitterCardComponent: additionalProperties: false properties: appGroupId: minLength: 1 type: - string - 'null' buttons: items: $ref: '#/components/schemas/TwitterCardButton' type: - array - 'null' destinationId: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' media: items: $ref: '#/components/schemas/TwitterCardMediaRef' type: - array - 'null' mediaKey: minLength: 1 type: - string - 'null' subtitle: anyOf: - $ref: '#/components/schemas/TwitterCardText' - type: 'null' title: anyOf: - $ref: '#/components/schemas/TwitterCardText' - type: 'null' type: minLength: 1 type: - string - 'null' required: - id - type - destinationId - mediaKey - appGroupId - title - subtitle - media - buttons type: object RedditCommentSettings: additionalProperties: false properties: restrictCommenting: type: - boolean - 'null' scoreHideDuration: type: - integer - 'null' suggestedSort: minLength: 1 type: - string - 'null' required: - restrictCommenting - suggestedSort - scoreHideDuration type: object InstagramMediaPreview: additionalProperties: false properties: fbid: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' required: - id - fbid - thumbnail type: object InstagramProfileAccountType: oneOf: - enum: - personal - business - creator type: string - type: integer InstagramProfileDisplaySettings: additionalProperties: false properties: showCategory: type: - boolean - 'null' showPublicContacts: type: - boolean - 'null' required: - showCategory - showPublicContacts type: object RedditCommentDisplay: additionalProperties: false properties: collapsedReason: minLength: 1 type: - string - 'null' isCollapsed: type: - boolean - 'null' required: - isCollapsed - collapsedReason type: object RedditPostingLabels: additionalProperties: false properties: link: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - text - link type: object RedditCommentsSetting: additionalProperties: false properties: allowLiveComments: type: - boolean - 'null' discussionType: minLength: 1 type: - string - 'null' isContestMode: type: - boolean - 'null' suggestedSort: minLength: 1 type: - string - 'null' required: - isContestMode - allowLiveComments - suggestedSort - discussionType type: object InstagramCrop: additionalProperties: false properties: bottom: type: - number - 'null' left: type: - number - 'null' right: type: - number - 'null' top: type: - number - 'null' required: - left - right - top - bottom type: object TikTokPreviewThumbnails: additionalProperties: false properties: columns: type: - integer - 'null' duration: type: - number - 'null' format: minLength: 1 type: - string - 'null' imageCount: type: - integer - 'null' imageIds: items: minLength: 1 type: string type: - array - 'null' images: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' interval: type: - number - 'null' rows: type: - integer - 'null' tileHeight: type: - integer - 'null' tileWidth: type: - integer - 'null' required: - duration - interval - imageCount - columns - rows - tileWidth - tileHeight - format - images - imageIds type: object InstagramProfileThreads: additionalProperties: false properties: handle: minLength: 1 type: - string - 'null' isActive: type: - boolean - 'null' joinerLabel: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - isActive - handle - url - joinerLabel type: object RedditDisplaySettings: additionalProperties: false properties: showMedia: type: - boolean - 'null' required: - showMedia type: object RedditKarma: additionalProperties: false properties: awardee: type: - integer - 'null' awarder: type: - integer - 'null' comments: type: - integer - 'null' posts: type: - integer - 'null' total: type: - integer - 'null' required: - posts - comments - awardee - awarder - total type: object RedditFlair: additionalProperties: false properties: backgroundColor: minLength: 1 type: - string - 'null' cssClass: minLength: 1 type: - string - 'null' hasPatreonFlair: type: - boolean - 'null' templateId: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' textColor: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' required: - text - type - templateId - cssClass - backgroundColor - textColor - hasPatreonFlair type: object RedditComment: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/RedditAuthor' - type: 'null' community: anyOf: - $ref: '#/components/schemas/RedditCommunity' - type: 'null' createdAt: format: date-time minLength: 1 type: string depth: type: - integer - 'null' display: $ref: '#/components/schemas/RedditCommentDisplay' distinguishedBy: minLength: 1 type: - string - 'null' editedAt: format: date-time minLength: 1 type: - string - 'null' id: minLength: 1 type: string isArchived: type: - boolean - 'null' isByPostAuthor: type: - boolean - 'null' isControversial: type: - boolean - 'null' isEdited: type: - boolean - 'null' isLocked: type: - boolean - 'null' isStickied: type: - boolean - 'null' metrics: $ref: '#/components/schemas/RedditCommentMetrics' parentId: minLength: 1 type: - string - 'null' postId: minLength: 1 type: - string - 'null' replies: items: $ref: '#/components/schemas/RedditCommentReference' type: - array - 'null' text: minLength: 1 type: - string - 'null' textHtml: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: string visibility: $ref: '#/components/schemas/RedditCommentVisibility' required: - id - text - textHtml - author - community - postId - parentId - url - metrics - visibility - isByPostAuthor - isStickied - isLocked - isArchived - distinguishedBy - type - display - createdAt - isEdited - editedAt - isControversial - depth - replies type: object RedditImage: additionalProperties: false properties: height: type: - integer - 'null' label: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/RedditImage' type: - array - 'null' width: type: - integer - 'null' required: - type - url - label - width - height - variants type: object RedditMediaVariant: additionalProperties: false properties: format: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - format - type - url type: object TwitterProfessional: additionalProperties: false properties: categories: items: $ref: '#/components/schemas/TwitterProfessionalCategory' type: - array - 'null' type: minLength: 1 type: - string - 'null' required: - type - categories type: object InstagramCoordinates: additionalProperties: false properties: latitude: type: - number - 'null' longitude: type: - number - 'null' required: - latitude - longitude type: object TwitterColor: additionalProperties: false properties: percentage: type: number rgb: $ref: '#/components/schemas/TwitterRGB' required: - percentage - rgb type: object SuccessEnvelope: additionalProperties: false properties: capturedAt: format: date-time type: string data: {} meta: $ref: '#/components/schemas/ResponseMeta' platform: enum: - instagram - tiktok - twitter - reddit type: string resource: enum: - profile - post - comment - hashtag - location - music - category - list - entity - subreddit - rule - wiki - trophy type: string source: enum: - live - cache type: string required: - platform - resource - capturedAt - source - data type: object TwitterFormatting: additionalProperties: false properties: range: $ref: '#/components/schemas/TwitterRange' types: items: minLength: 1 type: string type: - array - 'null' required: - range - types type: object RedditSubredditBranding: additionalProperties: false properties: banner: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' colors: $ref: '#/components/schemas/RedditSubredditColors' header: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' headerTitle: minLength: 1 type: - string - 'null' icon: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' required: - headerTitle - colors - icon - banner - header type: object TwitterPlace: additionalProperties: false properties: country: minLength: 1 type: - string - 'null' countryCode: minLength: 1 type: - string - 'null' fullName: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' required: - id - name - fullName - type - country - countryCode type: object TwitterProfileLocation: additionalProperties: false properties: place: anyOf: - $ref: '#/components/schemas/TwitterPlace' - type: 'null' text: minLength: 1 type: - string - 'null' required: - text - place type: object TwitterImage: additionalProperties: false properties: altText: minLength: 1 type: - string - 'null' height: type: - integer - 'null' isNft: type: - boolean - 'null' role: minLength: 1 type: - string - 'null' shape: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - type - url - role - width - height - altText - shape - isNft type: object TwitterAppMetrics: additionalProperties: false properties: rating: type: - number - 'null' ratings: type: - integer - 'null' required: - rating - ratings type: object TwitterRGB: additionalProperties: false properties: blue: type: integer green: type: integer red: type: integer required: - red - green - blue type: object InstagramAudioMetrics: additionalProperties: false properties: photos: type: - integer - 'null' previousTrendRank: type: - integer - 'null' reels: type: - integer - 'null' trendRank: type: - integer - 'null' required: - trendRank - previousTrendRank - reels - photos type: object TwitterNotePresentation: additionalProperties: false properties: iconType: minLength: 1 type: - string - 'null' style: minLength: 1 type: - string - 'null' required: - iconType - style type: object TwitterLongText: additionalProperties: false properties: formatting: items: $ref: '#/components/schemas/TwitterFormatting' type: - array - 'null' id: minLength: 1 type: - string - 'null' inlineMedia: items: {} type: - array - 'null' isExpandable: type: - boolean - 'null' timestamps: items: {} type: - array - 'null' required: - id - isExpandable - inlineMedia - formatting - timestamps type: object InstagramDASH: additionalProperties: false properties: manifest: minLength: 1 type: - string - 'null' qualityCount: type: - integer - 'null' variants: items: $ref: '#/components/schemas/InstagramStreamVariant' type: - array - 'null' required: - manifest - variants - qualityCount type: object RedditPostReference: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/RedditAuthor' - type: 'null' comments: $ref: '#/components/schemas/RedditCommentsSetting' community: anyOf: - $ref: '#/components/schemas/RedditCommunity' - type: 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' distinguishedBy: minLength: 1 type: - string - 'null' domain: minLength: 1 type: - string - 'null' editedAt: format: date-time minLength: 1 type: - string - 'null' embed: anyOf: - $ref: '#/components/schemas/RedditEmbed' - type: 'null' flair: anyOf: - $ref: '#/components/schemas/RedditFlair' - type: 'null' id: minLength: 1 type: - string - 'null' isArchived: type: - boolean - 'null' isCrosspostable: type: - boolean - 'null' isEdited: type: - boolean - 'null' isGallery: type: - boolean - 'null' isLocked: type: - boolean - 'null' isMediaOnly: type: - boolean - 'null' isMeta: type: - boolean - 'null' isOriginalContent: type: - boolean - 'null' isPinned: type: - boolean - 'null' isRedditMediaDomain: type: - boolean - 'null' isSelf: type: - boolean - 'null' isSensitive: type: - boolean - 'null' isSpoiler: type: - boolean - 'null' isStickied: type: - boolean - 'null' isVideo: type: - boolean - 'null' linkUrl: format: uri minLength: 1 type: - string - 'null' media: items: $ref: '#/components/schemas/RedditMedia' type: - array - 'null' metrics: $ref: '#/components/schemas/RedditPostMetrics' removedByCategory: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' textHtml: minLength: 1 type: - string - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/RedditThumbnail' - type: 'null' title: minLength: 1 type: - string - 'null' topAwardedType: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' visibility: $ref: '#/components/schemas/RedditPostVisibility' required: - id - title - text - textHtml - domain - url - linkUrl - author - community - metrics - createdAt - isEdited - editedAt - isSelf - isVideo - isGallery - isMeta - isOriginalContent - isCrosspostable - isRedditMediaDomain - isMediaOnly - isSensitive - isSpoiler - isStickied - isLocked - isArchived - isPinned - visibility - comments - distinguishedBy - removedByCategory - topAwardedType - flair - thumbnail - media - embed type: object InstagramProfileBroadcastChannels: additionalProperties: false properties: hasPublicChannels: type: - boolean - 'null' isCreator: type: - boolean - 'null' pinned: items: $ref: '#/components/schemas/InstagramProfileBroadcastChannel' type: - array - 'null' required: - isCreator - hasPublicChannels - pinned type: object RedditSubredditColors: additionalProperties: false properties: bannerBackground: minLength: 1 type: - string - 'null' key: minLength: 1 type: - string - 'null' primary: minLength: 1 type: - string - 'null' required: - primary - key - bannerBackground type: object TwitterMediaSource: additionalProperties: false properties: authorId: minLength: 1 type: - string - 'null' postId: minLength: 1 type: - string - 'null' required: - postId - authorId type: object InstagramNote: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - id - text - createdAt - author type: object RedditReportSettings: additionalProperties: false properties: allowCustomReasons: type: - boolean - 'null' required: - allowCustomReasons type: object InstagramProfileBroadcastChannel: additionalProperties: false properties: avatar: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' cover: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' creator: additionalProperties: false properties: handle: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isVerified: type: - boolean - 'null' required: - id - handle - isVerified type: object id: minLength: 1 type: - string - 'null' metrics: additionalProperties: false properties: members: type: - integer - 'null' required: - members type: object title: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - title - url - avatar - cover - creator - metrics type: object RedditThumbnail: additionalProperties: false properties: height: type: - integer - 'null' state: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - type - url - state - width - height type: object RedditCommentReference: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/RedditAuthor' - type: 'null' community: anyOf: - $ref: '#/components/schemas/RedditCommunity' - type: 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' depth: type: - integer - 'null' display: $ref: '#/components/schemas/RedditCommentDisplay' distinguishedBy: minLength: 1 type: - string - 'null' editedAt: format: date-time minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isArchived: type: - boolean - 'null' isByPostAuthor: type: - boolean - 'null' isControversial: type: - boolean - 'null' isEdited: type: - boolean - 'null' isLocked: type: - boolean - 'null' isStickied: type: - boolean - 'null' metrics: $ref: '#/components/schemas/RedditCommentMetrics' parentId: minLength: 1 type: - string - 'null' postId: minLength: 1 type: - string - 'null' replies: items: $ref: '#/components/schemas/RedditCommentReference' type: - array - 'null' text: minLength: 1 type: - string - 'null' textHtml: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' visibility: $ref: '#/components/schemas/RedditCommentVisibility' required: - id - text - textHtml - author - community - postId - parentId - url - metrics - visibility - isByPostAuthor - isStickied - isLocked - isArchived - distinguishedBy - type - display - createdAt - isEdited - editedAt - isControversial - depth - replies type: object TwitterPostReference: additionalProperties: false properties: article: anyOf: - $ref: '#/components/schemas/TwitterArticle' - type: 'null' author: anyOf: - $ref: '#/components/schemas/TwitterProfileReference' - type: 'null' authorId: minLength: 1 type: - string - 'null' card: anyOf: - $ref: '#/components/schemas/TwitterCard' - type: 'null' communityNote: anyOf: - $ref: '#/components/schemas/TwitterCommunityNote' - type: 'null' conversationId: minLength: 1 type: - string - 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' displayTextRange: anyOf: - $ref: '#/components/schemas/TwitterRange' - type: 'null' edit: anyOf: - $ref: '#/components/schemas/TwitterEdit' - type: 'null' entities: items: $ref: '#/components/schemas/TwitterEntity' type: - array - 'null' hasGrokAnalysisButton: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' inReplyToHandle: minLength: 1 type: - string - 'null' inReplyToPostId: minLength: 1 type: - string - 'null' inReplyToUserId: minLength: 1 type: - string - 'null' isPromoted: type: - boolean - 'null' isQuote: type: - boolean - 'null' isRepost: type: - boolean - 'null' isSensitive: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' longText: anyOf: - $ref: '#/components/schemas/TwitterLongText' - type: 'null' media: items: $ref: '#/components/schemas/TwitterMedia' type: - array - 'null' metrics: $ref: '#/components/schemas/TwitterPostMetrics' preview: anyOf: - $ref: '#/components/schemas/TwitterPreview' - type: 'null' previousMetrics: anyOf: - $ref: '#/components/schemas/TwitterPreviousMetrics' - type: 'null' promotion: anyOf: - $ref: '#/components/schemas/TwitterPromotion' - type: 'null' quotedPost: anyOf: - $ref: '#/components/schemas/TwitterPostReference' - type: 'null' quotedPostId: minLength: 1 type: - string - 'null' repostedPost: anyOf: - $ref: '#/components/schemas/TwitterPostReference' - type: 'null' restrictions: items: $ref: '#/components/schemas/TwitterRestriction' type: - array - 'null' text: minLength: 1 type: - string - 'null' timeline: anyOf: - $ref: '#/components/schemas/TwitterTimelinePlacement' - type: 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - text - language - isSensitive - isQuote - createdAt - conversationId - authorId - inReplyToPostId - inReplyToUserId - inReplyToHandle - quotedPostId - author - url - metrics - displayTextRange - media - entities - edit - hasGrokAnalysisButton - communityNote - isRepost - repostedPost - quotedPost - preview - longText - article - previousMetrics - card - restrictions - isPromoted - promotion - timeline type: object RedditEmbed: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/RedditEmbedAuthor' - type: 'null' domain: minLength: 1 type: - string - 'null' height: type: - integer - 'null' html: minLength: 1 type: - string - 'null' mediaDomainUrl: format: uri minLength: 1 type: - string - 'null' provider: anyOf: - $ref: '#/components/schemas/RedditEmbedSource' - type: 'null' scrolling: type: - boolean - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/RedditThumbnail' - type: 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' version: minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - domain - version - title - type - html - height - width - provider - author - thumbnail - scrolling - mediaDomainUrl type: object InstagramMediaVariant: additionalProperties: false properties: bitrate: type: - integer - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isSpatial: type: - boolean - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - id - type - url - width - height - bitrate - isSpatial type: object InstagramProfileFundraisers: additionalProperties: false properties: items: items: {} type: - array - 'null' metrics: additionalProperties: false properties: active: type: - integer - 'null' required: - active type: object required: - metrics - items type: object RedditWikiAuthor: additionalProperties: false properties: handle: minLength: 1 type: - string - 'null' required: - handle type: object RedditCommentMetrics: additionalProperties: false properties: awards: type: - integer - 'null' gilded: type: - integer - 'null' score: type: - integer - 'null' required: - score - awards - gilded type: object TwitterRestriction: additionalProperties: false properties: action: minLength: 1 type: - string - 'null' message: minLength: 1 type: - string - 'null' required: - action - message type: object InstagramUserTag: additionalProperties: false properties: position: $ref: '#/components/schemas/InstagramPosition' user: $ref: '#/components/schemas/InstagramProfileReference' required: - user - position type: object RedditListingContext: additionalProperties: false properties: originalPost: anyOf: - $ref: '#/components/schemas/RedditPostReference' - type: 'null' post: anyOf: - $ref: '#/components/schemas/RedditPostReference' - type: 'null' required: - post - originalPost type: object TwitterEntity: additionalProperties: false properties: displayName: minLength: 1 type: - string - 'null' displayUrl: format: uri minLength: 1 type: - string - 'null' handle: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' mediaId: minLength: 1 type: - string - 'null' range: anyOf: - $ref: '#/components/schemas/TwitterRange' - type: 'null' shortUrl: format: uri minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - type - range - shortUrl - url - displayUrl - text - handle - id - displayName - mediaId type: object RedditPostVisibility: additionalProperties: false properties: isRobotIndexable: type: - boolean - 'null' isScoreHidden: type: - boolean - 'null' required: - isRobotIndexable - isScoreHidden type: object RedditMedia: additionalProperties: false properties: bitrateKbps: type: - integer - 'null' caption: minLength: 1 type: - string - 'null' duration: type: - number - 'null' hasAudio: type: - boolean - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isAnimated: type: - boolean - 'null' mimeType: minLength: 1 type: - string - 'null' scrubber: anyOf: - $ref: '#/components/schemas/RedditMediaVariant' - type: 'null' transcodingStatus: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/RedditMediaVariant' type: - array - 'null' width: type: - integer - 'null' required: - type - id - width - height - mimeType - caption - url - variants - bitrateKbps - hasAudio - duration - isAnimated - transcodingStatus - scrubber type: object TwitterCardDestination: additionalProperties: false properties: appGroupId: minLength: 1 type: - string - 'null' displayUrl: format: uri minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' mediaKey: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - type - mediaKey - appGroupId - url - displayUrl type: object RedditPost: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/RedditAuthor' - type: 'null' comments: $ref: '#/components/schemas/RedditCommentsSetting' community: anyOf: - $ref: '#/components/schemas/RedditCommunity' - type: 'null' createdAt: format: date-time minLength: 1 type: string distinguishedBy: minLength: 1 type: - string - 'null' domain: minLength: 1 type: - string - 'null' editedAt: format: date-time minLength: 1 type: - string - 'null' embed: anyOf: - $ref: '#/components/schemas/RedditEmbed' - type: 'null' flair: anyOf: - $ref: '#/components/schemas/RedditFlair' - type: 'null' id: minLength: 1 type: string isArchived: type: - boolean - 'null' isCrosspostable: type: - boolean - 'null' isEdited: type: - boolean - 'null' isGallery: type: - boolean - 'null' isLocked: type: - boolean - 'null' isMediaOnly: type: - boolean - 'null' isMeta: type: - boolean - 'null' isOriginalContent: type: - boolean - 'null' isPinned: type: - boolean - 'null' isRedditMediaDomain: type: - boolean - 'null' isSelf: type: - boolean - 'null' isSensitive: type: - boolean - 'null' isSpoiler: type: - boolean - 'null' isStickied: type: - boolean - 'null' isVideo: type: - boolean - 'null' linkUrl: format: uri minLength: 1 type: - string - 'null' media: items: $ref: '#/components/schemas/RedditMedia' type: array metrics: $ref: '#/components/schemas/RedditPostMetrics' removedByCategory: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' textHtml: minLength: 1 type: - string - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/RedditThumbnail' - type: 'null' title: minLength: 1 type: - string - 'null' topAwardedType: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: string visibility: $ref: '#/components/schemas/RedditPostVisibility' required: - id - title - text - textHtml - domain - url - linkUrl - author - community - metrics - createdAt - isEdited - editedAt - isSelf - isVideo - isGallery - isMeta - isOriginalContent - isCrosspostable - isRedditMediaDomain - isMediaOnly - isSensitive - isSpoiler - isStickied - isLocked - isArchived - isPinned - visibility - comments - distinguishedBy - removedByCategory - topAwardedType - flair - thumbnail - media - embed type: object InstagramProfileContentSettings: additionalProperties: false properties: highlightResharingEnabled: type: - boolean - 'null' postRemixingEnabled: type: - boolean - 'null' postResharingEnabled: type: - boolean - 'null' reelRemixingEnabled: type: - boolean - 'null' required: - postResharingEnabled - highlightResharingEnabled - postRemixingEnabled - reelRemixingEnabled type: object InstagramMedia: additionalProperties: false properties: altText: minLength: 1 type: - string - 'null' audio: anyOf: - $ref: '#/components/schemas/InstagramAudioReference' - type: 'null' bitrate: type: - integer - 'null' commercialityStatus: minLength: 1 type: - string - 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' crops: additionalProperties: false properties: feedPreview: $ref: '#/components/schemas/InstagramCrop' fourByThree: $ref: '#/components/schemas/InstagramCrop' square: $ref: '#/components/schemas/InstagramCrop' required: - fourByThree - square - feedPreview type: object duration: type: - number - 'null' firstFrame: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' hasAudio: type: - boolean - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' originalHeight: type: - integer - 'null' originalWidth: type: - integer - 'null' parentId: minLength: 1 type: - string - 'null' productTags: items: $ref: '#/components/schemas/InstagramProductTag' type: - array - 'null' scrubber: anyOf: - $ref: '#/components/schemas/InstagramScrubber' - type: 'null' streaming: anyOf: - $ref: '#/components/schemas/InstagramStreaming' - type: 'null' subtitles: anyOf: - $ref: '#/components/schemas/InstagramSubtitles' - type: 'null' taggedUsers: items: $ref: '#/components/schemas/InstagramUserTag' type: - array - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/InstagramMediaVariant' type: - array - 'null' width: type: - integer - 'null' required: - id - type - parentId - createdAt - url - width - height - originalWidth - originalHeight - bitrate - hasAudio - altText - commercialityStatus - duration - variants - thumbnail - firstFrame - scrubber - streaming - subtitles - audio - taggedUsers - productTags - crops type: object TwitterProfessionalCategory: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' required: - id - name type: object ResponseCursors: properties: next: type: - string - 'null' required: - next type: object TwitterEdit: additionalProperties: false properties: editableUntil: minLength: 1 type: - string - 'null' historyIds: items: minLength: 1 type: string type: - array - 'null' initialPostId: minLength: 1 type: - string - 'null' remaining: type: - integer - 'null' required: - historyIds - editableUntil - remaining - initialPostId type: object TwitterCardText: additionalProperties: false properties: isRightToLeft: type: - boolean - 'null' text: minLength: 1 type: - string - 'null' required: - text - isRightToLeft type: object TikTokAsset: additionalProperties: false properties: bitrate: type: - integer - 'null' codecCode: type: - integer - 'null' covers: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' duration: type: - number - 'null' expiresAt: format: date-time minLength: 1 type: - string - 'null' format: minLength: 1 type: - string - 'null' frameRate: type: - number - 'null' hasWatermark: type: - boolean - 'null' hash: minLength: 1 type: - string - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isAutoGenerated: type: - boolean - 'null' isBytevc1: type: - boolean - 'null' isOriginal: type: - boolean - 'null' label: minLength: 1 type: - string - 'null' language: minLength: 1 type: - string - 'null' locale: minLength: 1 type: - string - 'null' previewThumbnails: items: $ref: '#/components/schemas/TikTokPreviewThumbnails' type: - array - 'null' qualityCode: type: - integer - 'null' qualityLabel: minLength: 1 type: - string - 'null' renditions: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' role: minLength: 1 type: - string - 'null' size: type: - integer - 'null' subtitles: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' version: minLength: 1 type: - string - 'null' volumeInfo: $ref: '#/components/schemas/TikTokVolumeInfo' width: type: - integer - 'null' required: - volumeInfo - id - type - url - width - height - size - hash - role - label - duration - hasWatermark - qualityLabel - qualityCode - bitrate - frameRate - isBytevc1 - codecCode - format - language - locale - isAutoGenerated - isOriginal - version - expiresAt - renditions - covers - subtitles - previewThumbnails - variants type: object InstagramLocationHours: additionalProperties: false properties: currentStatus: minLength: 1 type: - string - 'null' isOpen: type: - boolean - 'null' schedule: items: {} type: - array - 'null' status: minLength: 1 type: - string - 'null' today: minLength: 1 type: - string - 'null' required: - status - currentStatus - today - isOpen - schedule type: object RedditEmbedAuthor: additionalProperties: false properties: displayName: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - displayName - url type: object RedditWikiRevision: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/RedditWikiAuthor' - type: 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' reason: minLength: 1 type: - string - 'null' required: - id - reason - author - createdAt type: object InstagramProductTag: additionalProperties: false properties: position: $ref: '#/components/schemas/InstagramPosition' product: $ref: '#/components/schemas/InstagramProduct' required: - product - position type: object InstagramPostMetrics: additionalProperties: false properties: comments: type: - integer - 'null' facebook: additionalProperties: false properties: comments: type: - integer - 'null' likes: type: - integer - 'null' plays: type: - integer - 'null' required: - likes - plays - comments type: object instagram: additionalProperties: false properties: plays: type: - integer - 'null' required: - plays type: object likes: type: - integer - 'null' plays: type: - integer - 'null' premiumReactions: type: - integer - 'null' reposts: type: - integer - 'null' reshares: type: - integer - 'null' saves: type: - integer - 'null' views: type: - integer - 'null' required: - likes - comments - saves - reshares - reposts - premiumReactions - plays - views - instagram - facebook type: object TwitterMediaVariant: additionalProperties: false properties: bitrate: type: - integer - 'null' contentType: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - url - bitrate - contentType type: object TwitterPostMetrics: additionalProperties: false properties: comments: type: - integer - 'null' likes: type: - integer - 'null' quotes: type: - integer - 'null' reposts: type: - integer - 'null' saves: type: - integer - 'null' views: type: - integer - 'null' viewsState: minLength: 1 type: - string - 'null' required: - likes - comments - reposts - quotes - saves - views - viewsState type: object TwitterTimelinePlacement: additionalProperties: false properties: conversationSection: minLength: 1 type: - string - 'null' displayType: minLength: 1 type: - string - 'null' moduleDisplayType: minLength: 1 type: - string - 'null' position: type: - integer - 'null' required: - position - conversationSection - moduleDisplayType - displayType type: object InstagramSubtitles: additionalProperties: false properties: confidence: type: - number - 'null' enabled: type: - boolean - 'null' generated: type: - boolean - 'null' locale: minLength: 1 type: - string - 'null' status: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - enabled - generated - status - locale - confidence - url type: object TwitterSuggestedQuery: additionalProperties: false properties: text: minLength: 1 type: - string - 'null' required: - text type: object RedditRule: additionalProperties: false properties: createdAt: format: date-time minLength: 1 type: - string - 'null' description: anyOf: - $ref: '#/components/schemas/RedditText' - type: 'null' kind: minLength: 1 type: - string - 'null' name: minLength: 1 type: string priority: type: - integer - 'null' violationReason: minLength: 1 type: - string - 'null' required: - priority - name - violationReason - kind - description - createdAt type: object TwitterProfileEntities: additionalProperties: false properties: bio: items: $ref: '#/components/schemas/TwitterEntity' type: - array - 'null' externalUrl: items: $ref: '#/components/schemas/TwitterEntity' type: - array - 'null' required: - bio - externalUrl type: object TwitterRange: additionalProperties: false properties: end: type: integer start: type: integer required: - start - end type: object TwitterCardMediaRef: additionalProperties: false properties: destinationId: minLength: 1 type: - string - 'null' key: minLength: 1 type: - string - 'null' required: - key - destinationId type: object InstagramStreaming: additionalProperties: false properties: dash: anyOf: - $ref: '#/components/schemas/InstagramDASH' - type: 'null' required: - dash type: object TwitterBroadcastMedia: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' key: minLength: 1 type: - string - 'null' required: - id - key type: object TikTokPageContinuation: additionalProperties: false properties: maxTime: type: - integer - 'null' minTime: type: - integer - 'null' offset: type: - integer - 'null' pageToken: minLength: 1 type: - string - 'null' required: - pageToken - minTime - maxTime - offset type: object InstagramCommentReference: additionalProperties: false properties: ai: additionalProperties: false properties: type: minLength: 1 type: - string - 'null' required: - type type: object author: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isByPostAuthor: type: - boolean - 'null' isCovered: type: - boolean - 'null' isEdited: type: - boolean - 'null' isLikedByPostAuthor: type: - boolean - 'null' isPinned: type: - boolean - 'null' keywords: items: {} type: - array - 'null' likedByCoauthors: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' media: items: $ref: '#/components/schemas/InstagramImage' type: - array - 'null' metrics: $ref: '#/components/schemas/InstagramCommentMetrics' parentId: minLength: 1 type: - string - 'null' pinnedPosition: type: - integer - 'null' postId: minLength: 1 type: - string - 'null' previewUsers: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' ranking: additionalProperties: false properties: index: type: - integer - 'null' isRanked: type: - boolean - 'null' replyIndex: type: - integer - 'null' required: - index - replyIndex - isRanked type: object replies: items: $ref: '#/components/schemas/InstagramCommentReference' type: - array - 'null' replyToId: minLength: 1 type: - string - 'null' sharingEnabled: type: - boolean - 'null' status: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' translation: additionalProperties: false properties: text: minLength: 1 type: - string - 'null' required: - text type: object required: - id - text - postId - parentId - replyToId - createdAt - author - status - isCovered - isEdited - sharingEnabled - isByPostAuthor - isPinned - pinnedPosition - isLikedByPostAuthor - ai - ranking - keywords - previewUsers - metrics - replies - translation - likedByCoauthors - media type: object RedditText: additionalProperties: false properties: html: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - text - html type: object TwitterMediaRestrictions: additionalProperties: false properties: isDmca: type: - boolean - 'null' required: - isDmca type: object TwitterWithheld: additionalProperties: false properties: copyright: type: - boolean - 'null' description: minLength: 1 type: - string - 'null' scope: minLength: 1 type: - string - 'null' required: - copyright - description - scope type: object InstagramProduct: additionalProperties: false properties: checkout: additionalProperties: false properties: style: minLength: 1 type: - string - 'null' required: - style type: object compoundId: minLength: 1 type: - string - 'null' description: minLength: 1 type: - string - 'null' hasVariants: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' image: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' isAffiliate: type: - boolean - 'null' isInStock: type: - boolean - 'null' merchant: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' name: minLength: 1 type: - string - 'null' pricing: additionalProperties: false properties: current: $ref: '#/components/schemas/InstagramPrice' formatted: minLength: 1 type: - string - 'null' full: $ref: '#/components/schemas/InstagramPrice' isUkEuCompliant: type: - boolean - 'null' required: - current - full - formatted - isUkEuCompliant type: object retailerId: minLength: 1 type: - string - 'null' reviewStatus: minLength: 1 type: - string - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - compoundId - retailerId - name - description - url - hasVariants - isInStock - isAffiliate - reviewStatus - merchant - image - thumbnail - pricing - checkout type: object TwitterBroadcast: additionalProperties: false properties: broadcaster: anyOf: - $ref: '#/components/schemas/TwitterBroadcaster' - type: 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isHighLatency: type: - boolean - 'null' media: anyOf: - $ref: '#/components/schemas/TwitterBroadcastMedia' - type: 'null' orientationCode: type: - integer - 'null' replayEditedStartTime: minLength: 1 type: - string - 'null' scheduledStartAt: format: date-time minLength: 1 type: - string - 'null' source: minLength: 1 type: - string - 'null' state: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - id - url - title - source - state - isHighLatency - width - height - orientationCode - scheduledStartAt - media - broadcaster - replayEditedStartTime type: object TwitterSubscriptions: additionalProperties: false properties: isEligible: type: - boolean - 'null' required: - isEligible type: object TwitterMediaAvailability: additionalProperties: false properties: status: minLength: 1 type: - string - 'null' required: - status type: object RedditWikiContent: additionalProperties: false properties: html: minLength: 1 type: - string - 'null' markdown: minLength: 1 type: - string - 'null' required: - markdown - html type: object RedditProfileVisibility: additionalProperties: false properties: hideFromRobots: type: - boolean - 'null' required: - hideFromRobots type: object RedditTrophy: additionalProperties: false properties: awardId: minLength: 1 type: - string - 'null' description: minLength: 1 type: - string - 'null' grantedAt: format: date-time minLength: 1 type: - string - 'null' icon: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' id: minLength: 1 type: - string - 'null' name: minLength: 1 type: string url: format: uri minLength: 1 type: - string - 'null' required: - id - awardId - name - description - url - grantedAt - icon type: object TikTokVolumeInfo: additionalProperties: false properties: loudness: type: - number - 'null' loudnessRange: type: - number - 'null' loudnessRangeEnd: type: - number - 'null' loudnessRangeStart: type: - number - 'null' maxVolume: type: - number - 'null' maximumMomentaryLoudness: type: - number - 'null' maximumShortTermLoudness: type: - number - 'null' meanVolume: type: - number - 'null' peak: type: - number - 'null' version: type: - number - 'null' required: - loudness - peak - loudnessRange - loudnessRangeStart - loudnessRangeEnd - maximumMomentaryLoudness - maximumShortTermLoudness - version - maxVolume - meanVolume type: object ErrorEnvelope: properties: error: properties: code: type: string details: additionalProperties: true type: object message: type: string requestId: type: string retryable: type: boolean required: - code - message - requestId - retryable type: object required: - error type: object InstagramPrice: additionalProperties: false properties: amount: minLength: 1 type: - string - 'null' formatted: minLength: 1 type: - string - 'null' strippedFormatted: minLength: 1 type: - string - 'null' required: - amount - formatted - strippedFormatted type: object InstagramCommentMetrics: additionalProperties: false properties: likes: type: - integer - 'null' replies: type: - integer - 'null' required: - likes - replies type: object InstagramProfileFanClub: additionalProperties: false properties: hasExclusiveFeedContent: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' largestPublicBroadcastChannelId: minLength: 1 type: - string - 'null' metrics: additionalProperties: false properties: subscribers: type: - integer - 'null' required: - subscribers type: object name: minLength: 1 type: - string - 'null' required: - id - name - largestPublicBroadcastChannelId - hasExclusiveFeedContent - metrics type: object TwitterCardButton: additionalProperties: false properties: action: minLength: 1 type: - string - 'null' destinationId: minLength: 1 type: - string - 'null' style: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' required: - action - style - type - destinationId type: object InstagramCommentSettings: additionalProperties: false properties: enabled: type: - boolean - 'null' hasMore: type: - boolean - 'null' likesEnabled: type: - boolean - 'null' maxVisiblePreviewComments: type: - integer - 'null' preview: items: $ref: '#/components/schemas/InstagramCommentReference' type: - array - 'null' threadingEnabled: type: - boolean - 'null' required: - hasMore - maxVisiblePreviewComments - likesEnabled - threadingEnabled - enabled - preview type: object TwitterPromotion: additionalProperties: false properties: advertiser: anyOf: - $ref: '#/components/schemas/TwitterProfileReference' - type: 'null' required: - advertiser type: object RedditPostFlairSettings: additionalProperties: false properties: enabled: type: - boolean - 'null' position: minLength: 1 type: - string - 'null' required: - enabled - position type: object TwitterVerification: additionalProperties: false properties: isBlueVerified: type: - boolean - 'null' legacyVerified: type: - boolean - 'null' type: minLength: 1 type: - string - 'null' required: - legacyVerified - type - isBlueVerified type: object TwitterVisibility: additionalProperties: false properties: hasHiddenLikesOnProfile: type: - boolean - 'null' hasHiddenSubscriptionsOnProfile: type: - boolean - 'null' required: - hasHiddenLikesOnProfile - hasHiddenSubscriptionsOnProfile type: object RedditWikiPage: additionalProperties: false properties: content: anyOf: - $ref: '#/components/schemas/RedditWikiContent' - type: 'null' revision: anyOf: - $ref: '#/components/schemas/RedditWikiRevision' - type: 'null' title: minLength: 1 type: string url: format: uri minLength: 1 type: string required: - title - url - content - revision type: object InstagramPostReference: additionalProperties: false properties: ai: additionalProperties: false properties: detectionMethod: minLength: 1 type: - string - 'null' label: additionalProperties: false properties: detectionMethod: minLength: 1 type: - string - 'null' isSelfDisclosed: type: - boolean - 'null' subtitle: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - text - subtitle - detectionMethod - isSelfDisclosed type: object required: - detectionMethod - label type: object attribution: additionalProperties: false properties: originalPost: anyOf: - $ref: '#/components/schemas/InstagramPostReference' - type: 'null' required: - originalPost type: object author: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' caption: anyOf: - $ref: '#/components/schemas/InstagramCommentReference' - type: 'null' carousel: additionalProperties: false properties: itemCount: type: - integer - 'null' pendingItemCount: type: - integer - 'null' previousSubmitters: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' submissionState: minLength: 1 type: - string - 'null' required: - itemCount - pendingItemCount - submissionState - previousSubmitters type: object code: minLength: 1 type: - string - 'null' collaborators: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' comments: $ref: '#/components/schemas/InstagramCommentSettings' createdAt: format: date-time minLength: 1 type: - string - 'null' crossposting: additionalProperties: false properties: isFeedbackAggregated: type: - boolean - 'null' isSharedToFacebook: type: - boolean - 'null' required: - isSharedToFacebook - isFeedbackAggregated type: object fbid: minLength: 1 type: - string - 'null' hasDelayedMetadata: type: - boolean - 'null' hasTaggedUsers: type: - boolean - 'null' hasVisualReplies: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' invitedCollaborators: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' isEarlyAccess: type: - boolean - 'null' isFanClubPromo: type: - boolean - 'null' isOpenToPublicSubmission: type: - boolean - 'null' isPaidPartnership: type: - boolean - 'null' isPublicChatWelcomeVideo: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' likeAndViewCountsHidden: type: - boolean - 'null' location: anyOf: - $ref: '#/components/schemas/InstagramLocationReference' - type: 'null' media: items: $ref: '#/components/schemas/InstagramMedia' type: - array - 'null' metrics: $ref: '#/components/schemas/InstagramPostMetrics' notes: items: $ref: '#/components/schemas/InstagramNote' type: - array - 'null' pinning: additionalProperties: false properties: profileUserIds: items: minLength: 1 type: string type: - array - 'null' reelsUserIds: items: minLength: 1 type: string type: - array - 'null' required: - profileUserIds - reelsUserIds type: object productTags: items: $ref: '#/components/schemas/InstagramProductTag' type: - array - 'null' remix: additionalProperties: false properties: allowed: type: - boolean - 'null' carouselRemixesAllowed: type: - boolean - 'null' crosspostingAllowed: type: - boolean - 'null' hasBeenRemixed: type: - boolean - 'null' isRequestingRemixes: type: - boolean - 'null' required: - allowed - carouselRemixesAllowed - hasBeenRemixed - isRequestingRemixes - crosspostingAllowed type: object reuse: additionalProperties: false properties: allowed: type: - boolean - 'null' cutoutStickersAllowed: type: - boolean - 'null' required: - allowed - cutoutStickersAllowed type: object shareCountHidden: type: - boolean - 'null' sharingEnabled: type: - boolean - 'null' taggedUsers: items: $ref: '#/components/schemas/InstagramUserTag' type: - array - 'null' template: anyOf: - $ref: '#/components/schemas/InstagramTemplateInfo' - type: 'null' text: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - code - fbid - type - url - title - text - createdAt - author - caption - media - metrics - comments - taggedUsers - productTags - collaborators - invitedCollaborators - location - isPaidPartnership - isEarlyAccess - likeAndViewCountsHidden - shareCountHidden - hasVisualReplies - hasDelayedMetadata - language - hasTaggedUsers - isOpenToPublicSubmission - sharingEnabled - isFanClubPromo - isPublicChatWelcomeVideo - reuse - remix - pinning - carousel - ai - notes - crossposting - attribution - template type: object RedditVerification: additionalProperties: false properties: hasVerifiedEmail: type: - boolean - 'null' reportedVerified: type: - boolean - 'null' required: - reportedVerified - hasVerifiedEmail type: object TwitterLabel: additionalProperties: false properties: description: anyOf: - $ref: '#/components/schemas/TwitterRichText' - type: 'null' icon: anyOf: - $ref: '#/components/schemas/TwitterImage' - type: 'null' text: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - type - text - icon - url - description type: object TwitterCard: additionalProperties: false properties: apps: items: $ref: '#/components/schemas/TwitterCardApp' type: - array - 'null' broadcast: anyOf: - $ref: '#/components/schemas/TwitterBroadcast' - type: 'null' components: items: $ref: '#/components/schemas/TwitterCardComponent' type: - array - 'null' description: minLength: 1 type: - string - 'null' destinations: items: $ref: '#/components/schemas/TwitterCardDestination' type: - array - 'null' displayUrl: format: uri minLength: 1 type: - string - 'null' domain: minLength: 1 type: - string - 'null' event: anyOf: - $ref: '#/components/schemas/TwitterEvent' - type: 'null' imageAltText: items: $ref: '#/components/schemas/TwitterImageAltText' type: - array - 'null' images: items: $ref: '#/components/schemas/TwitterImage' type: - array - 'null' layoutType: minLength: 1 type: - string - 'null' media: items: $ref: '#/components/schemas/TwitterMedia' type: - array - 'null' mediaType: minLength: 1 type: - string - 'null' poll: anyOf: - $ref: '#/components/schemas/TwitterPoll' - type: 'null' profiles: items: $ref: '#/components/schemas/TwitterProfileReference' type: - array - 'null' publisherId: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - type - url - profiles - title - description - domain - displayUrl - mediaType - broadcast - event - publisherId - images - imageAltText - poll - layoutType - components - destinations - media - apps type: object TwitterProfileReference: additionalProperties: false properties: avatar: anyOf: - $ref: '#/components/schemas/TwitterImage' - type: 'null' banner: anyOf: - $ref: '#/components/schemas/TwitterImage' - type: 'null' bio: minLength: 1 type: - string - 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' displayName: minLength: 1 type: - string - 'null' entities: $ref: '#/components/schemas/TwitterProfileEntities' externalUrl: format: uri minLength: 1 type: - string - 'null' handle: minLength: 1 type: - string - 'null' hasCustomTimelines: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' isLifelineInstitution: type: - boolean - 'null' isPrivate: type: - boolean - 'null' isSuspended: type: - boolean - 'null' isVerified: type: - boolean - 'null' labels: items: $ref: '#/components/schemas/TwitterLabel' type: - array - 'null' location: anyOf: - $ref: '#/components/schemas/TwitterProfileLocation' - type: 'null' metrics: $ref: '#/components/schemas/TwitterProfileMetrics' pinnedPostIds: items: minLength: 1 type: string type: - array - 'null' professional: anyOf: - $ref: '#/components/schemas/TwitterProfessional' - type: 'null' subscriptions: $ref: '#/components/schemas/TwitterSubscriptions' url: format: uri minLength: 1 type: - string - 'null' verification: $ref: '#/components/schemas/TwitterVerification' visibility: $ref: '#/components/schemas/TwitterVisibility' withheld: $ref: '#/components/schemas/TwitterWithheld' required: - id - handle - displayName - bio - url - externalUrl - createdAt - location - avatar - banner - isPrivate - isSuspended - isVerified - hasCustomTimelines - isLifelineInstitution - metrics - verification - pinnedPostIds - entities - withheld - subscriptions - visibility - professional - labels type: object RedditAuthor: additionalProperties: false properties: flair: anyOf: - $ref: '#/components/schemas/RedditFlair' - type: 'null' handle: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isPremium: type: - boolean - 'null' placeholder: minLength: 1 type: - string - 'null' required: - id - handle - placeholder - isPremium - flair type: object TwitterEvent: additionalProperties: false properties: category: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' subtitle: minLength: 1 type: - string - 'null' timelineId: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' required: - id - title - subtitle - category - timelineId type: object InstagramProfileContact: additionalProperties: false properties: contactPhone: minLength: 1 type: - string - 'null' email: minLength: 1 type: - string - 'null' method: minLength: 1 type: - string - 'null' phone: minLength: 1 type: - string - 'null' phoneCountryCode: minLength: 1 type: - string - 'null' required: - email - phone - phoneCountryCode - contactPhone - method type: object InstagramProfileLocation: additionalProperties: false properties: address: $ref: '#/components/schemas/InstagramProfileAddress' id: minLength: 1 type: - string - 'null' required: - id - address type: object InstagramAudioPart: additionalProperties: false properties: artist: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' artistName: minLength: 1 type: - string - 'null' artwork: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' isExplicit: type: - boolean - 'null' musicId: minLength: 1 type: - string - 'null' parentStartTime: type: - number - 'null' startTime: type: - number - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' required: - type - title - artistName - isExplicit - musicId - artist - startTime - parentStartTime - artwork type: object InstagramTemplateSegment: additionalProperties: false properties: assetEndTime: type: - number - 'null' assetStartTime: type: - number - 'null' duration: type: - number - 'null' required: - duration - assetStartTime - assetEndTime type: object TwitterProfileMetrics: additionalProperties: false properties: affiliates: type: - integer - 'null' creatorSubscriptions: type: - integer - 'null' followers: type: - integer - 'null' following: type: - integer - 'null' likedPosts: type: - integer - 'null' mediaPosts: type: - integer - 'null' posts: type: - integer - 'null' required: - followers - following - posts - likedPosts - mediaPosts - creatorSubscriptions - affiliates type: object InstagramStreamVariant: additionalProperties: false properties: bitrate: type: - integer - 'null' codec: minLength: 1 type: - string - 'null' frameRate: type: - number - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' mimeType: minLength: 1 type: - string - 'null' qualityLabel: minLength: 1 type: - string - 'null' sampleRate: type: - integer - 'null' sizeBytes: type: - integer - 'null' url: format: uri minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - id - url - codec - mimeType - qualityLabel - width - height - bitrate - sizeBytes - sampleRate - frameRate type: object RedditEmbedSource: additionalProperties: false properties: name: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - name - url type: object RedditProfileMetrics: additionalProperties: false properties: followers: type: - integer - 'null' karma: $ref: '#/components/schemas/RedditKarma' required: - followers - karma type: object RedditCommunity: additionalProperties: false properties: displayHandle: minLength: 1 type: - string - 'null' handle: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isQuarantined: type: - boolean - 'null' metrics: $ref: '#/components/schemas/RedditSubredditMetrics' type: minLength: 1 type: - string - 'null' required: - id - handle - displayHandle - type - metrics - isQuarantined type: object InstagramBioLink: additionalProperties: false properties: icon: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' id: minLength: 1 type: - string - 'null' image: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' isPinned: type: - boolean - 'null' isVerified: type: - boolean - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - title - url - type - isPinned - isVerified - icon - image type: object TwitterImageAltText: additionalProperties: false properties: role: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - role - text type: object TikTokChartMetadata: additionalProperties: false properties: cover: anyOf: - $ref: '#/components/schemas/TikTokAsset' - type: 'null' id: minLength: 1 type: - string - 'null' updatedAt: format: date-time minLength: 1 type: - string - 'null' required: - id - updatedAt - cover type: object RedditProfileCommunity: additionalProperties: false properties: communityIcon: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' displayHandle: minLength: 1 type: - string - 'null' handle: minLength: 1 type: - string - 'null' icon: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' primaryColor: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' required: - handle - type - displayHandle - icon - communityIcon - primaryColor type: object TwitterPreviousMetrics: additionalProperties: false properties: comments: type: - integer - 'null' likes: type: - integer - 'null' quotes: type: - integer - 'null' required: - likes - quotes - comments type: object RedditSubredditSettings: additionalProperties: false properties: comments: $ref: '#/components/schemas/RedditCommentSettings' display: $ref: '#/components/schemas/RedditDisplaySettings' postFlair: $ref: '#/components/schemas/RedditPostFlairSettings' posting: $ref: '#/components/schemas/RedditPostingSettings' reports: $ref: '#/components/schemas/RedditReportSettings' required: - posting - comments - reports - display - postFlair type: object RedditCommentVisibility: additionalProperties: false properties: isScoreHidden: type: - boolean - 'null' required: - isScoreHidden type: object TwitterMedia: additionalProperties: false properties: altText: minLength: 1 type: - string - 'null' aspectRatio: anyOf: - $ref: '#/components/schemas/TwitterAspectRatio' - type: 'null' availability: anyOf: - $ref: '#/components/schemas/TwitterMediaAvailability' - type: 'null' duration: type: - number - 'null' features: items: $ref: '#/components/schemas/TwitterMediaFeature' type: - array - 'null' focusRegions: items: $ref: '#/components/schemas/TwitterRectangle' type: - array - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isAnimated: type: - boolean - 'null' isMonetizable: type: - boolean - 'null' key: minLength: 1 type: - string - 'null' palette: items: $ref: '#/components/schemas/TwitterColor' type: - array - 'null' restrictions: anyOf: - $ref: '#/components/schemas/TwitterMediaRestrictions' - type: 'null' sizes: items: $ref: '#/components/schemas/TwitterMediaSize' type: - array - 'null' source: anyOf: - $ref: '#/components/schemas/TwitterMediaSource' - type: 'null' thumbnail: anyOf: - $ref: '#/components/schemas/TwitterImage' - type: 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/TwitterMediaVariant' type: - array - 'null' width: type: - integer - 'null' required: - id - type - key - altText - isAnimated - source - width - height - focusRegions - features - sizes - duration - aspectRatio - variants - url - thumbnail - availability - restrictions - isMonetizable - palette type: object TwitterPreview: additionalProperties: false properties: displayTextRange: anyOf: - $ref: '#/components/schemas/TwitterRange' - type: 'null' entities: items: $ref: '#/components/schemas/TwitterEntity' type: - array - 'null' text: minLength: 1 type: - string - 'null' required: - text - entities - displayTextRange type: object TwitterAspectRatio: additionalProperties: false properties: height: type: integer width: type: integer required: - width - height type: object InstagramImage: additionalProperties: false properties: height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isDefault: type: - boolean - 'null' isSpatial: type: - boolean - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/InstagramImage' type: - array - 'null' width: type: - integer - 'null' required: - thumbnail - id - type - url - width - height - isDefault - isSpatial - variants type: object InstagramAudioReference: additionalProperties: false properties: artist: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' artistId: minLength: 1 type: - string - 'null' artistName: minLength: 1 type: - string - 'null' artwork: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' clusterId: minLength: 1 type: - string - 'null' compositionStartTime: type: - number - 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' duration: type: - number - 'null' fastStartUrl: format: uri minLength: 1 type: - string - 'null' filters: items: {} type: - array - 'null' hasLyrics: type: - boolean - 'null' highlightStartTimes: items: type: number type: - array - 'null' id: minLength: 1 type: - string - 'null' isAutomaticallyAttributed: type: - boolean - 'null' isCrosspostedFromFacebook: type: - boolean - 'null' isExplicit: type: - boolean - 'null' isTrending: type: - boolean - 'null' metrics: $ref: '#/components/schemas/InstagramAudioMetrics' monetizationType: minLength: 1 type: - string - 'null' musicId: minLength: 1 type: - string - 'null' originalPostId: minLength: 1 type: - string - 'null' overlapDuration: type: - number - 'null' parts: items: $ref: '#/components/schemas/InstagramAudioPart' type: - array - 'null' previewUrl: format: uri minLength: 1 type: - string - 'null' spotify: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - url type: object startTime: type: - number - 'null' streaming: anyOf: - $ref: '#/components/schemas/InstagramStreaming' - type: 'null' subtype: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - type - musicId - artistId - clusterId - title - artistName - artist - isExplicit - hasLyrics - isTrending - subtype - isAutomaticallyAttributed - isCrosspostedFromFacebook - monetizationType - duration - startTime - overlapDuration - compositionStartTime - createdAt - originalPostId - url - fastStartUrl - previewUrl - artwork - streaming - highlightStartTimes - filters - metrics - spotify - parts type: object InstagramProfileContent: additionalProperties: false properties: hasGuides: type: - boolean - 'null' hasHighlights: type: - boolean - 'null' hasLongformMedia: type: - boolean - 'null' hasMusic: type: - boolean - 'null' hasVideos: type: - boolean - 'null' hasVisibleNotes: type: - boolean - 'null' required: - hasHighlights - hasLongformMedia - hasVideos - hasMusic - hasGuides - hasVisibleNotes type: object TwitterPoll: additionalProperties: false properties: choices: items: $ref: '#/components/schemas/TwitterPollChoice' type: - array - 'null' countsAreFinal: type: - boolean - 'null' duration: type: - integer - 'null' endsAt: format: date-time minLength: 1 type: - string - 'null' metrics: additionalProperties: false properties: choices: type: integer required: - choices type: object updatedAt: format: date-time minLength: 1 type: - string - 'null' required: - metrics - choices - endsAt - updatedAt - countsAreFinal - duration type: object RedditCommunityHandle: additionalProperties: false properties: handle: minLength: 1 type: - string - 'null' required: - handle type: object securitySchemes: OpenhandleKey: description: Use an oh_test_ key for synthetic data and $0.000 actual charges, or an oh_live_ key for real public data and normal billing. Legacy oh_ keys remain Live. scheme: bearer type: http OpenhandleMCPOAuth: description: OAuth grants for the MCP endpoint only. REST operations require OpenhandleKey. flows: authorizationCode: authorizationUrl: https://api.openhandle.dev/oauth/authorize scopes: mcp: Read public social data through all MCP tools (legacy default). read:instagram: Read public Instagram data through MCP tools. read:tiktok: Read public TikTok data through MCP tools. read:twitter: Read public X (Twitter) data through MCP tools. tokenUrl: https://api.openhandle.dev/oauth/token type: oauth2 externalDocs: description: Test environment guide url: https://openhandle.dev/docs/test-environment x-openhandle-mcp: documentation: https://openhandle.dev/docs/mcp protectedResourceMetadata: https://api.openhandle.dev/.well-known/oauth-protected-resource/mcp scopesSupported: - mcp - read:instagram - read:tiktok - read:twitter securityScheme: OpenhandleMCPOAuth transport: streamable-http url: https://api.openhandle.dev/mcp x-openhandle-sdks: - documentation: https://openhandle.dev/docs/sdks language: TypeScript package: '@openhandle/sdk' repository: https://github.com/openhandlehq/openhandle-typescript - documentation: https://openhandle.dev/docs/sdks language: Go package: github.com/openhandlehq/openhandle-go repository: https://github.com/openhandlehq/openhandle-go - documentation: https://openhandle.dev/docs/sdks language: Python package: openhandle repository: https://github.com/openhandlehq/openhandle-python x-openhandle-test-data: catalogUrl: /v1/test-data contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 x-openhandle-versioning-policy: https://openhandle.dev/docs/versioning