{"openapi":"3.1.0","info":{"title":"Teamfluence API v2.0","summary":"\nTo access the API, route your request to a base URL of https://api.teamfluence.com. All endpoints are prefixed with /v2. \n\nThe API uses standard HTTP methods and status codes, and responses are returned in JSON format. For Authentication, you will need to include an API key in the request header [Authorization: Bearer *Your API key*]. You can obtain an API key by signing up for a Teamfluence account and generating a key in the workspace settings. Make all API requests over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.\n\nRate Limiting: most endpoints are rate limited to 80 requests per minute. If you exceed this limit, you will receive a 429 Too Many Requests response. To avoid hitting the rate limit, you can implement exponential backoff or retry logic in your application.\n","termsOfService":"https://teamfluence.com/tos","contact":{"name":"API Reference","url":"https://developer.teamfluence.com/","email":"developer@teamfluence.com"},"version":"0.2.0"},"paths":{"/v2/health":{"get":{"summary":"Ping","description":"System endpoint for health checks","operationId":"ping_v2_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v2/leads/":{"get":{"tags":["leads"],"summary":"List Workspace Leads","description":"Retrieves leads from the workspace based on the provided filters and sorting options.","operationId":"list_workspace_leads_v2_leads__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"enum":["newest_first","oldest_first","last_touch_first","last_touch_last","most_engaged_first","least_engaged_first"],"type":"string"},{"type":"null"}],"default":"newest_first","title":"Sort By"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"If provided filters leads based on a date they were created. ISO 8601 formatted date string YYYY-MM-DD in UTC timezone.","title":"Start Date"},"description":"If provided filters leads based on a date they were created. ISO 8601 formatted date string YYYY-MM-DD in UTC timezone."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"If provided filters leads based on a date they were created. ISO 8601 formatted date string YYYY-MM-DD in UTC timezone.","title":"End Date"},"description":"If provided filters leads based on a date they were created. ISO 8601 formatted date string YYYY-MM-DD in UTC timezone."},{"name":"days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"If provided replaces [start_date] and [end_date] filters with a start date that is X days before the current date. If both start_date and days are provided, days will take precedence.","title":"Days"},"description":"If provided replaces [start_date] and [end_date] filters with a start date that is X days before the current date. If both start_date and days are provided, days will take precedence."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["NEW","QUALIFIED","DISQUALIFIED"],"type":"string"},{"type":"null"}],"description":"Filters leads based on their status. If not provided, all leads will be returned (excluding discarded)","title":"Status"},"description":"Filters leads based on their status. If not provided, all leads will be returned (excluding discarded)"},{"name":"company_public_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filters leads based on their Company / Organization LinkedIn handle or company numerical id","title":"Company Public Id"},"description":"Filters leads based on their Company / Organization LinkedIn handle or company numerical id"},{"name":"post_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filters leads based on the post they were generated from. Post id can be obtained from the Content team feed API.","title":"Post Id"},"description":"Filters leads based on the post they were generated from. Post id can be obtained from the Content team feed API."},{"name":"email_enriched","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filters leads based on their email enrichment status. If true, only leads with enriched emails will be returned. If false, only leads without enriched emails will be returned. If not provided, all leads will be returned regardless of their email enrichment status.","title":"Email Enriched"},"description":"Filters leads based on their email enrichment status. If true, only leads with enriched emails will be returned. If false, only leads without enriched emails will be returned. If not provided, all leads will be returned regardless of their email enrichment status."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provides a cursor for pagination. If not provided, the first page of results will be returned. To get the next page of results, provide the cursor value from the previous response. If page results are exhausted, the cursor will be null in the response. If you provide a cursor that is not valid, you will receive an 400 error.","title":"Cursor"},"description":"Provides a cursor for pagination. If not provided, the first page of results will be returned. To get the next page of results, provide the cursor value from the previous response. If page results are exhausted, the cursor will be null in the response. If you provide a cursor that is not valid, you will receive an 400 error."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"description":"Limits the number of leads returned in the response. Default is 50. Maximum is 50.","default":50,"title":"Limit"},"description":"Limits the number of leads returned in the response. Default is 50. Maximum is 50."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceLeadsPageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/leads/{lead_id}":{"patch":{"tags":["leads"],"summary":"Update Lead","description":"Use this endpoint to update specific lead from the workspace based on the provided lead ID. You can update the lead's status, tags, note, CRM ID, CRM contact URL, and ICP match status.","operationId":"update_lead_v2_leads__lead_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"lead_id","in":"path","required":true,"schema":{"type":"string","title":"Lead Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadUpdatePayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/workspace/users":{"get":{"tags":["workspace"],"summary":"List Workspace Users","description":"Retrieve list of workspace team members and their LinkedIn integration status","operationId":"list_workspace_users_v2_workspace_users_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiWorkspaceUserRead"},"type":"array","title":"Response List Workspace Users V2 Workspace Users Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workspace/credits":{"get":{"tags":["workspace"],"summary":"Get Workspace Credits Balance","description":"Retrieves the current credits balance for the workspace.","operationId":"get_workspace_credits_balance_v2_workspace_credits_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceBalanceRead"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/networking/campaigns/{campaign_id}":{"put":{"tags":["networking"],"summary":"Add Profiles To Networking Campaign","operationId":"add_profiles_to_networking_campaign_v2_networking_campaigns__campaign_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtendConnectionCampaignPayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/content/team/feed":{"get":{"tags":["content"],"summary":"Get Team Feed Posts","description":"Retrieves team feed content based on the provided filters and sorting options.","operationId":"get_team_feed_posts_v2_content_team_feed_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"enum":["newest_first","oldest_first","most_viewed_first","least_viewed_first"],"type":"string"},{"type":"null"}],"default":"newest_first","title":"Sort By"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"If provided filters feed posts based on a date they were published. ISO 8601 formatted date string YYYY-MM-DD in UTC timezone.","title":"Start Date"},"description":"If provided filters feed posts based on a date they were published. ISO 8601 formatted date string YYYY-MM-DD in UTC timezone."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"If provided filters feed posts based on a date they were published. ISO 8601 formatted date string YYYY-MM-DD in UTC timezone.","title":"End Date"},"description":"If provided filters feed posts based on a date they were published. ISO 8601 formatted date string YYYY-MM-DD in UTC timezone."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provides a cursor for pagination. If not provided, the first page of results will be returned. To get the next page of results, provide the cursor value from the previous response. If page results are exhausted, the cursor will be null in the response. If you provide a cursor that is not valid, you will receive an 400 error.","title":"Cursor"},"description":"Provides a cursor for pagination. If not provided, the first page of results will be returned. To get the next page of results, provide the cursor value from the previous response. If page results are exhausted, the cursor will be null in the response. If you provide a cursor that is not valid, you will receive an 400 error."},{"name":"team_member_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"If provided filters feed posts based on a specific team member. The value can be retrieved from the workspace team members list endpoint. If the provided team member ID is not valid, you will receive an 400 error.","title":"Team Member Id"},"description":"If provided filters feed posts based on a specific team member. The value can be retrieved from the workspace team members list endpoint. If the provided team member ID is not valid, you will receive an 400 error."},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":50,"minimum":1},{"type":"null"}],"description":"Limits the number of feed posts returned in the response. Default is 15. Maximum is 50.","default":15,"title":"Limit"},"description":"Limits the number of feed posts returned in the response. Default is 15. Maximum is 50."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamFeedPostsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/content/tracked-contacts/feed":{"get":{"tags":["content"],"summary":"Get Tracked Contacts Feed Posts","description":"Retrieves tracked contacts feed content based on the provided filters and sorting options.","operationId":"get_tracked_contacts_feed_posts_v2_content_tracked_contacts_feed_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"enum":["newest_first","oldest_first","most_viewed_first","least_viewed_first"],"type":"string"},{"type":"null"}],"default":"newest_first","title":"Sort By"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"If provided filters feed posts based on a date they were published. ISO 8601 formatted date string YYYY-MM-DD in UTC timezone.","title":"Start Date"},"description":"If provided filters feed posts based on a date they were published. ISO 8601 formatted date string YYYY-MM-DD in UTC timezone."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"If provided filters feed posts based on a date they were published. ISO 8601 formatted date string YYYY-MM-DD in UTC timezone.","title":"End Date"},"description":"If provided filters feed posts based on a date they were published. ISO 8601 formatted date string YYYY-MM-DD in UTC timezone."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Provides a cursor for pagination. If not provided, the first page of results will be returned. To get the next page of results, provide the cursor value from the previous response. If page results are exhausted, the cursor will be null in the response. If you provide a cursor that is not valid, you will receive an 400 error.","title":"Cursor"},"description":"Provides a cursor for pagination. If not provided, the first page of results will be returned. To get the next page of results, provide the cursor value from the previous response. If page results are exhausted, the cursor will be null in the response. If you provide a cursor that is not valid, you will receive an 400 error."},{"name":"team_member_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"If provided filters feed posts based on a specific team member. The value can be retrieved from the workspace team members list endpoint. If the provided team member ID is not valid, you will receive an 400 error.","title":"Team Member Id"},"description":"If provided filters feed posts based on a specific team member. The value can be retrieved from the workspace team members list endpoint. If the provided team member ID is not valid, you will receive an 400 error."},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":50,"minimum":1},{"type":"null"}],"description":"Limits the number of feed posts returned in the response. Default is 15. Maximum is 50.","default":15,"title":"Limit"},"description":"Limits the number of feed posts returned in the response. Default is 15. Maximum is 50."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamFeedPostsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ApiWorkspaceUserRead":{"properties":{"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"is_active_seat":{"type":"boolean","title":"Is Active Seat"},"integration_status":{"anyOf":[{"type":"string","enum":["NOT_CONNECTED","CONNECTED","DISCONNECTED"]},{"type":"null"}],"title":"Integration Status"},"linkedin_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linkedin Username"},"last_linkedin_update":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Linkedin Update"}},"type":"object","required":["id","email","is_active_seat"],"title":"ApiWorkspaceUserRead"},"CampaignProfile":{"properties":{"username":{"type":"string","title":"Username"},"linkedin_urn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linkedin Urn"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"crm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Crm Id"}},"type":"object","required":["username"],"title":"CampaignProfile"},"ExtendConnectionCampaignPayload":{"properties":{"profiles":{"items":{"$ref":"#/components/schemas/CampaignProfile"},"type":"array","title":"Profiles"}},"type":"object","required":["profiles"],"title":"ExtendConnectionCampaignPayload"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LeadNoteUpdatePayload":{"properties":{"note_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note Id","description":"If provided, updates the existing note with this ID. If not provided, creates a new note."},"note_content":{"type":"string","title":"Note Content"}},"type":"object","required":["note_id","note_content"],"title":"LeadNoteUpdatePayload"},"LeadUpdatePayload":{"properties":{"status":{"anyOf":[{"type":"string","enum":["NEW","QUALIFIED","DISQUALIFIED"]},{"type":"null"}],"title":"Status"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"note":{"anyOf":[{"$ref":"#/components/schemas/LeadNoteUpdatePayload"},{"type":"null"}]},"crm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Crm Id"},"crm_contact_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Crm Contact Url"},"is_icp_match":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Icp Match"}},"type":"object","title":"LeadUpdatePayload"},"LinkedinCompanyRead":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"picture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Picture"},"employees_num_min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employees Num Min"},"employees_num_max":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employees Num Max"},"headquarters":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Headquarters"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"followers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Followers"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"website_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website Url"},"phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number"},"company_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Type"},"founded_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founded Year"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"industries":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Industries","default":[]},"specialties":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Specialties","default":[]},"funding":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Funding","default":[]},"is_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Verified"},"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"hash_id":{"type":"string","title":"Hash Id","default":""},"linkedin_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linkedin Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["website_url","created_at"],"title":"LinkedinCompanyRead"},"LinkedinLeadExport":{"properties":{"id":{"type":"string","title":"Id","default":""},"crm_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Crm Id"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"headline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Headline"},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Title"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"linkedin_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linkedin Url"},"contact_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Email"},"phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number"},"enrichment_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Enrichment Status"},"team_member_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Member Email"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_content_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Content Url"},"status":{"anyOf":[{"type":"string","enum":["NEW","QUALIFIED","DISQUALIFIED"]},{"type":"null"}],"title":"Status"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","default":[]},"engagement_events_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Engagement Events Count"},"engagement_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Engagement Score"},"is_icp_match":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Icp Match","default":false},"is_account_based":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Account Based","default":false},"history":{"anyOf":[{"items":{"$ref":"#/components/schemas/LinkedinLeadHistoryRecordShallowRead"},"type":"array"},{"type":"null"}],"title":"History","default":[]},"picture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Picture","default":"https://my.teamfluence.app/placeholders/default-profile.png"},"followers_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Followers Count"},"connections_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Connections Count"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"feed_updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Feed Updated At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_engagement_dt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Engagement Dt"},"company":{"anyOf":[{"$ref":"#/components/schemas/LinkedinCompanyRead"},{"type":"null"}]}},"type":"object","required":["created_at"],"title":"LinkedinLeadExport"},"LinkedinLeadHistoryRecordShallowRead":{"properties":{"id":{"type":"string","title":"Id","default":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"recorded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Recorded At"}},"type":"object","title":"LinkedinLeadHistoryRecordShallowRead"},"TeamFeedPostRead":{"properties":{"id":{"type":"string","title":"Id"},"activity_urn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Activity Urn"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"parent_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Content"},"author":{"type":"string","title":"Author"},"post_url":{"type":"string","title":"Post Url"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"parent_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Image"},"shares_num":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Shares Num"},"likes_num":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Likes Num"},"impressions_num":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Impressions Num"},"comments_num":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Comments Num"},"published_at":{"type":"string","format":"date-time","title":"Published At"},"team_member_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Member Id"}},"type":"object","required":["id","author","post_url","published_at"],"title":"TeamFeedPostRead"},"TeamFeedPostsListResponse":{"properties":{"total":{"type":"integer","title":"Total"},"items":{"items":{"$ref":"#/components/schemas/TeamFeedPostRead"},"type":"array","title":"Items"},"has_more":{"type":"boolean","title":"Has More"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},"type":"object","required":["total","items","has_more"],"title":"TeamFeedPostsListResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WorkspaceBalanceRead":{"properties":{"current_balance":{"type":"integer","title":"Current Balance"},"last_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Updated"}},"type":"object","required":["current_balance"],"title":"WorkspaceBalanceRead"},"WorkspaceLeadsPageResponse":{"properties":{"total":{"type":"integer","title":"Total"},"items":{"items":{"$ref":"#/components/schemas/LinkedinLeadExport"},"type":"array","title":"Items"},"has_more":{"type":"boolean","title":"Has More"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},"type":"object","required":["total","items","has_more"],"title":"WorkspaceLeadsPageResponse"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}