{"openapi":"3.1.0","info":{"title":"Apizie","version":"2.0.0","description":"One API key, one envelope, many public data sources."},"servers":[{"url":"https://zieapi.vercel.app"}],"security":[{"ApiKeyAuth":[]}],"paths":{"/v1/social-media:bluesky/profile/{handle}":{"get":{"operationId":"social_media_bluesky_profile","summary":"Profile","description":"Profile of a Bluesky account.","tags":["social-media"],"parameters":[{"name":"handle","in":"path","required":true,"description":"Handle or DID","schema":{"type":"string","description":"Handle or DID"},"example":"bsky.app"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":900,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}},"/v1/social-media:bluesky/trends":{"get":{"operationId":"social_media_bluesky_trends","summary":"Get Trending Topics","description":"Currently trending topics on Bluesky (unspecced AppView endpoint).","tags":["social-media"],"parameters":[{"name":"limit","in":"query","required":false,"description":"Results per page","schema":{"type":"integer","default":10,"minimum":1,"maximum":25,"description":"Results per page"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":300,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"live"}},"/v1/social-media:bluesky/search-posts":{"get":{"operationId":"social_media_bluesky_search_posts","summary":"Search Posts","description":"Full-text post search.","tags":["social-media"],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"example":"jakarta"},{"name":"limit","in":"query","required":false,"description":"Results per page","schema":{"type":"integer","default":25,"minimum":1,"maximum":100,"description":"Results per page"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["top","latest"],"default":"latest"}},{"name":"lang","in":"query","required":false,"schema":{"type":"string"},"example":"id"},{"name":"author","in":"query","required":false,"schema":{"type":"string"}},{"name":"since","in":"query","required":false,"description":"ISO datetime or YYYY-MM-DD","schema":{"type":"string","description":"ISO datetime or YYYY-MM-DD"}},{"name":"until","in":"query","required":false,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":300,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}},"/v1/social-media:bluesky/search-users":{"get":{"operationId":"social_media_bluesky_search_users","summary":"Search Users","description":"Search accounts by handle, name or bio.","tags":["social-media"],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"example":"news"},{"name":"limit","in":"query","required":false,"description":"Results per page","schema":{"type":"integer","default":25,"minimum":1,"maximum":100,"description":"Results per page"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":600,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}},"/v1/social-media:bluesky/followers/{handle}":{"get":{"operationId":"social_media_bluesky_followers","summary":"Get Followers","description":"Accounts following a user.","tags":["social-media"],"parameters":[{"name":"handle","in":"path","required":true,"description":"Handle or DID","schema":{"type":"string","description":"Handle or DID"},"example":"bsky.app"},{"name":"limit","in":"query","required":false,"description":"Results per page","schema":{"type":"integer","default":50,"minimum":1,"maximum":100,"description":"Results per page"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":600,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}},"/v1/social-media:bluesky/following/{handle}":{"get":{"operationId":"social_media_bluesky_following","summary":"Get Following","description":"Accounts a user follows.","tags":["social-media"],"parameters":[{"name":"handle","in":"path","required":true,"description":"Handle or DID","schema":{"type":"string","description":"Handle or DID"},"example":"bsky.app"},{"name":"limit","in":"query","required":false,"description":"Results per page","schema":{"type":"integer","default":50,"minimum":1,"maximum":100,"description":"Results per page"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":600,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}},"/v1/social-media:bluesky/post":{"get":{"operationId":"social_media_bluesky_post","summary":"Get Post Thread","description":"A post with its parent chain and replies, from a bsky.app URL or at:// URI.","tags":["social-media"],"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"example":"https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l"},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","default":3,"minimum":0,"maximum":10}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":300,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}},"/v1/social-media:bluesky/feed/{handle}":{"get":{"operationId":"social_media_bluesky_feed","summary":"Author Feed","description":"Recent posts by an account.","tags":["social-media"],"parameters":[{"name":"handle","in":"path","required":true,"description":"Handle or DID","schema":{"type":"string","description":"Handle or DID"},"example":"bsky.app"},{"name":"limit","in":"query","required":false,"description":"Results per page","schema":{"type":"integer","default":30,"minimum":1,"maximum":100,"description":"Results per page"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"filter","in":"query","required":false,"schema":{"type":"string","enum":["posts_with_replies","posts_no_replies","posts_with_media","posts_and_author_threads"],"default":"posts_no_replies"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":300,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"live"}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"RunEnvelope":{"type":"object","required":["project","data","timestamp"],"properties":{"project":{"type":"string","example":"dev-tools:hash"},"data":{},"timestamp":{"type":"string","format":"date-time"}}},"ErrorEnvelope":{"type":"object","properties":{"content":{},"message":{"type":"string"},"errors":{"type":"array","items":{}},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}},"responses":{"Error":{"description":"Invalid key, plan gate, rate limit or upstream failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}}