openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 109 kB
JSON
{"openapi":"3.0.0","servers":[{"url":"https://www.daniweb.com/connect/api/v4"}],"info":{"contact":{"email":"dani@daniwebmail.com","name":"Dani Wolkowicki","url":"https://www.daniweb.com/members/1/dani","x-twitter":"DaniWeb"},"description":"User Recommendation Engine and Chat Network","termsOfService":"https://www.daniweb.com/connect/welcome/privacy","title":"DaniWeb Connect API","version":"4","x-apisguru-categories":["developer_tools"],"x-logo":{"url":"https://twitter.com/DaniWeb/profile_image?size=original"},"x-origin":[{"format":"openapi","url":"https://www.daniweb.com/connect/developers/swagger","version":"3.0"}],"x-providerName":"daniweb.com"},"externalDocs":{"description":"DaniWeb Connect API Documentation","url":"https://www.daniweb.com/connect/developers"},"tags":[{"description":"Operations involving Apps","name":"apps"},{"description":"Operations involving Audiences","name":"audiences"},{"description":"Operations involving Autocompletes","name":"autocompletes"},{"description":"Operations involving Conversations","name":"conversations"},{"description":"Operations involving Groups","name":"groups"},{"description":"Operations involving Industries","name":"industries"},{"description":"Operations involving Markdown","name":"markdown"},{"description":"Operations involving Messages","name":"messages"},{"description":"Operations involving Users","name":"users"},{"description":"Operations involving Positions","name":"positions"},{"description":"Operations involving Webhooks","name":"webhooks"}],"paths":{"/apps":{"get":{"description":"Fetch all Daniapps that are currently in production mode.","parameters":[{"allowEmptyValue":true,"in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"limit","required":false,"schema":{"default":50,"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-apps"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["basic"]},{"implicit_flow":["basic"]}],"tags":["apps"]}},"/apps/{ID}":{"get":{"description":"Fetch an array of Daniapps that are currently in production mode.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-apps-ID"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["basic"]},{"implicit_flow":["basic"]}],"tags":["apps"]}},"/audiences":{"get":{"description":"Fetch all Daniapp audience segments that comprise the current access token's bubble.","parameters":[{"allowEmptyValue":true,"in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"limit","required":false,"schema":{"default":50,"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-audiences"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["basic"]},{"implicit_flow":["basic"]}],"tags":["audiences"]}},"/audiences/{ID}":{"get":{"description":"Fetch an array of Daniapp audience segments that comprise the current access token's bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-audiences-ID"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["basic"]},{"implicit_flow":["basic"]}],"tags":["audiences"]}},"/audiences/{ID}/memberships":{"post":{"description":"Create a membership record for the OAuth'ed end-user based on the current audience segment/bubble combination.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-audiences-ID-memberships"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["basic"]},{"implicit_flow":["basic"]}],"tags":["audiences"]}},"/autocompletes":{"get":{"description":"Retrieve an array of names and locations, filtered by category, that begin with the query string passed in. Ideally used for search autocomplete dropdowns, as the search functionality filters against name and location. The four potential categories are: `conversations` for names of users you are in existing conversations with; `matches` for names of users you have previously skipped over; `people` for names of all other users; `locations` for locations of users. Only users and their locations who exist with the current access token's bubble are considered.","parameters":[{"allowEmptyValue":true,"in":"query","name":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-autocompletes"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["profile_read"]},{"implicit_flow":["profile_read"]}],"tags":["autocompletes"]}},"/conversations/schedules":{"post":{"description":"Paginated report of information about messages contributed by conversation and date. Only conversations that exist within the current access token's bubble are considered in the calculations. Optionally roll up all conversations to retrieve one record per date. Optionally specify a date formatted as YYYY-MM-DD to retrieve information just from the single date, along with additional navigational information, which is useful when generating a transcript for a single day and wanting to reference the previous and next days there were messages.","requestBody":{"$ref":"#/components/requestBodies/postConversationsSchedules"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-conversations-schedules"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read"]},{"implicit_flow":["conversations_read"]}],"tags":["conversations"]}},"/conversations/searches":{"post":{"description":"Fetch messages authored from within the current bubble that match a query string passed in as a search parameter along with their relevancy score.","requestBody":{"$ref":"#/components/requestBodies/postConversationsSearches"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-conversations-searches"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read"]},{"implicit_flow":["conversations_read"]}],"tags":["conversations"]}},"/conversations/statuses":{"get":{"description":"Retrieve conversations that you are participating in with users who exists within the same bubble, along with your current relationship with the conversations. The user_a / user_b properties of the conversation are populated with as much data as is available if the user is not you. If the user is you, only the id field is populated. There is a separate status endpoint to retrieve relationship information for individual conversations. Optionally filter: 'new' to only show conversations with messages you haven't yet seen; 'introductions' to only show conversations where users have introduced themselves to you but nothing more; 'unreplied' to only show conversations where you have introduced yourself to other users but nothing more; 'notifications' to show all conversations where the other user was the last person to message. Optionally only show conversations engaging within the existing access token's bubble. This report is limited to your ~500-1000 most recently active conversations you've engaged in within current the access token's bubble.","parameters":[{"allowEmptyValue":true,"in":"query","name":"filter","required":false,"schema":{"enum":["new","introductions","unreplied","notifications"],"type":"string"}},{"allowEmptyValue":true,"in":"query","name":"include_archived","required":false,"schema":{"default":false,"type":"boolean"}},{"allowEmptyValue":true,"in":"query","name":"bubbled","required":false,"schema":{"default":false,"type":"boolean"}},{"allowEmptyValue":true,"in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"limit","required":false,"schema":{"default":50,"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-conversations-statuses"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read"]},{"implicit_flow":["conversations_read"]}],"tags":["conversations"]}},"/conversations/{ID}":{"get":{"description":"Fetch an array of conversations. You can only retrieve conversations with users who exist within the current access token's bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-conversations-ID"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read"]},{"implicit_flow":["conversations_read"]}],"tags":["conversations"]}},"/conversations/{ID}/messages":{"get":{"description":"Retrieve the last {limit} messages in the conversation, provided the conversations exist within the current access token's bubble. If a timeout is 0 or greater, the batch is sorted oldest first. Otherwise, if timeout is a negative number, the transcript is paginated and sorted newest first. Specify a timeout for long polling (which delays the server sending back results for up to n seconds or until results are available, whichever comes first), or default to 0 for immediate results. Optionally record your status as online along with sharing the latest message you've seen with the other conversation participant. Optionally specify a gt_message_id to retrieve only messages with an ID greater than that specified (such as greater than the latest message ID received in the last poll). Optionally only poll for messages authored by the other person in the conversation, and echo messages authored by you when sending, for a perceived increase in performance. Optionally only retrieve messages that were posted from within the current access token's bubble. Optionally specify a date formatted as YYYY-MM-DD to retrieve a transcript of messages from a single day. When record_seen is set to true, the new message count for the conversation is reset to zero.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"gt_message_id","required":false,"schema":{"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"exclude_self","required":false,"schema":{"default":false,"type":"boolean"}},{"allowEmptyValue":true,"in":"query","name":"date","required":false,"schema":{"type":"string"}},{"allowEmptyValue":true,"in":"query","name":"bubbled","required":false,"schema":{"default":false,"type":"boolean"}},{"allowEmptyValue":true,"in":"query","name":"record_seen","required":false,"schema":{"default":false,"type":"boolean"}},{"allowEmptyValue":true,"in":"query","name":"timeout","required":false,"schema":{"default":0,"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"limit","required":false,"schema":{"default":50,"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-conversations-ID-messages"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read"]},{"implicit_flow":["conversations_read"]}],"tags":["conversations"]},"post":{"description":"Post a message to a conversation that is with a user who exists within the current access token's bubble. Optionally specify whether emoticons should be parsed into smiley images. Optionally specify whether the message should be bubbled within the app. Additionally, optionally attach a single metadata key/value pair to the message upon submission.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"bubbled":{"default":false,"type":"boolean"},"metadata_0_key":{"type":"string"},"metadata_0_privacy":{"enum":["Public","Private","Bubbled","User"],"type":"string"},"metadata_0_values[]":{"items":{"type":"string"},"type":"array"},"metadata_1_key":{"type":"string"},"metadata_1_privacy":{"enum":["Public","Private","Bubbled","User"],"type":"string"},"metadata_1_values[]":{"items":{"type":"string"},"type":"array"},"metadata_2_key":{"type":"string"},"metadata_2_privacy":{"enum":["Public","Private","Bubbled","User"],"type":"string"},"metadata_2_values[]":{"items":{"type":"string"},"type":"array"},"text_emoticons":{"default":false,"type":"boolean"},"text_raw":{"type":"string"}},"required":["text_raw"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-conversations-ID-messages"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read","conversations_write"]},{"implicit_flow":["conversations_read","conversations_write"]}],"tags":["conversations"]}},"/conversations/{ID}/schedules":{"post":{"description":"Paginated report of information about messages contributed by conversation and date. Only conversations that exist within the current access token's bubble are considered in the calculations. Optionally roll up all conversations to retrieve one record per date. Optionally specify a date formatted as YYYY-MM-DD to retrieve information just from the single date, along with additional navigational information, which is useful when generating a transcript for a single day and wanting to reference the previous and next days there were messages within the conversation(s).","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"}],"requestBody":{"$ref":"#/components/requestBodies/postConversationsSchedules"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-conversations-ID-schedules"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read"]},{"implicit_flow":["conversations_read"]}],"tags":["conversations"]}},"/conversations/{ID}/searches":{"post":{"description":"Fetch messages authored from within specified conversations that match a query string passed in as a search parameter along with their relevancy score.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"}],"requestBody":{"$ref":"#/components/requestBodies/postConversationsSearches"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-conversations-ID-searches"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read"]},{"implicit_flow":["conversations_read"]}],"tags":["conversations"]}},"/conversations/{ID}/statuses":{"get":{"description":"Status information about your current relationship with one or more conversations you participating in, provided the conversations exist within the current access token's bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-conversations-ID-statuses"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read"]},{"implicit_flow":["conversations_read"]}],"tags":["conversations"]},"patch":{"description":"Archive or unarchive a conversation that is with a user who exists within the same bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"archived_status":{"type":"boolean"}},"required":["archived_status"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-patch-conversations-ID-statuses"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read","conversations_write"]},{"implicit_flow":["conversations_read","conversations_write"]}],"tags":["conversations"]}},"/groups":{"get":{"description":"Fetch an array of all groups that were created by users existing within the current access token's bubble. The groups must be either Public or you must be a member of them. Unlisted and Private groups that you are not a member of are not listed.","parameters":[{"allowEmptyValue":true,"in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"limit","required":false,"schema":{"default":50,"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-groups"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]},"post":{"description":"Create a new group for other members to join. Any user who is using an access token whose bubble you exist in can join your group provided it is not a private group. Private groups can only be joined by members who know its passphrase. Unlisted groups can be joined by anybody as long as they know the Group ID, but they are not referenced anywhere to non-members. Public groups can be joined by anybody, are discoverable, and anyone can see the public groups a user is a member of, provided the group owner exists in their access token's bubble. Groups each have their own discussions, transcripts, schedules, and ability to list and search their members.","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"description":{"type":"string"},"name":{"type":"string"},"passphrase":{"type":"string"},"privacy":{"enum":["Public","Unlisted","Private"],"type":"string"},"slug":{"type":"string"}},"required":["name","slug","description","privacy"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-groups"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read","groups_write"]},{"implicit_flow":["groups_read","groups_write"]}],"tags":["groups"]}},"/groups/messages/metadata/filters":{"post":{"description":"Paginated listing of messages filtered by arbitrary metadata criteria. Messages must match on all key/value pairs passed in. Messages may only match on one value of an array passed in. However, messages are sorted based on how many distinct values they match on (most matches first).","requestBody":{"$ref":"#/components/requestBodies/postGroupsMessagesMetadataFilters"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-groups-messages-metadata-filters"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["basic"]},{"implicit_flow":["basic"]}],"tags":["groups"]}},"/groups/messages/{ID}":{"delete":{"description":"Delete an array of group messages. You must be the owner or moderator of the group.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-delete-groups-messages-ID"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read","groups_write"]},{"implicit_flow":["groups_read","groups_write"]}],"tags":["groups"]},"get":{"description":"Fetch an array of group messages. You can only retrieve messages authored by you or by users existing within the current access token's bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-groups-messages-ID"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]}},"/groups/messages/{ID}/metadata":{"get":{"description":"Retrieve all key/value pairs attached to the current message that you have access to, so long as the user who created the group exists within the current access token's bubble. This includes all public metadata, bubbled metadata that was created by an access token existing within the current bubble, user metadata that was created by you, or private metadata created by you from an access token existing within the current bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"limit","required":false,"schema":{"default":50,"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-groups-messages-ID-metadata"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]},"post":{"description":"Attach one-to-many key/value pairs of metadata to a group message, so long as the user who authored the message exists within the current access token's bubble and you are a member of their group. A key is unique for each author/bubble combination. Attaching metadata with an existing key that was previously created by you, from within the same bubble, overwrites the key with the new value or set of values. The privacy setting allows you to specify who will have access to the metadata: Public metadata by anyone using an access token which grants them access to the user who authored the message and who is also a member of the group the message belongs to; Bubbled metadata by anyone using an access token existing within the current bubble who is also a member of the group the message belongs to; User metadata by you, so long as you are using an access token which grants you access to the user who authored the message and you remain a member of the group; Private metadata by you, so long as you are using an access token existing within the current bubble and you remain a member of the group.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"requestBody":{"$ref":"#/components/requestBodies/postGroupsMessages_id_metadata"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-groups-messages-ID-metadata"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]}},"/groups/messages/{ID}/metadata/collections":{"get":{"description":"Retrieve all key/value pairs attached to the current message that you have access to, so long as the user who created the group exists within the current access token's bubble. This includes all public metadata, bubbled metadata that was created by an access token existing within the current bubble, user metadata that was created by you, or private metadata created by you from an access token existing within the current bubble. Metadata will be grouped by key.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-groups-messages-ID-metadata-collections"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]}},"/groups/schedules":{"post":{"description":"Paginated report of information about messages contributed by group and date. Only groups you're a member of and group messages authored by users the current access token has access to are considered in the calculations. Optionally roll up all groups to retrieve one record per date. Optionally specify a date formatted as YYYY-MM-DD to retrieve information just from the single date, along with additional navigational information, which is useful when generating a transcript for a single day and wanting to reference the previous and next days there were messages.","requestBody":{"$ref":"#/components/requestBodies/postConversationsSchedules"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-groups-schedules"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]}},"/groups/statuses":{"get":{"description":"Retrieve groups that were created by users within the current access token's bubble, along with your current relationship with the groups. The groups must be either Public or you must be a member of them. Unlisted and Private groups that you are not a member of are not listed. Optionally only retrieve groups that you are a member of.","parameters":[{"allowEmptyValue":true,"in":"query","name":"existing_membership","required":false,"schema":{"default":false,"type":"boolean"}},{"allowEmptyValue":true,"in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"limit","required":false,"schema":{"default":50,"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-groups-statuses"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]}},"/groups/{ID}":{"get":{"description":"Fetch an array of groups. You can only retrieve groups created by users existing within the current access token's bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-groups-ID"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]},"patch":{"description":"Modify a group you previously created.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"description":{"type":"string"},"name":{"type":"string"},"passphrase":{"type":"string"},"privacy":{"enum":["Public","Unlisted","Private"],"type":"string"},"slug":{"type":"string"}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-patch-groups-ID"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read","groups_write"]},{"implicit_flow":["groups_read","groups_write"]}],"tags":["groups"]}},"/groups/{ID}/memberships":{"delete":{"description":"Leave a group that you are a member of and that was created by a user who exists within the current access token's bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-delete-groups-ID-memberships"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read","groups_write"]},{"implicit_flow":["groups_read","groups_write"]}],"tags":["groups"]},"get":{"description":"Fetch an array of users who are members of specific groups that you are also a member of. You can only retrieve users existing within the current access token's bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"},{"allowEmptyValue":true,"in":"query","name":"moderators_only","required":false,"schema":{"default":false,"type":"boolean"}},{"allowEmptyValue":true,"in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-groups-ID-memberships"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]},"patch":{"description":"Promote or demote a member's privileges within a group that you created. The user must exist within the current access token's bubble and be an existing member of the group.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"moderator":{"default":false,"type":"boolean"},"user_id":{"format":"int32","type":"integer"}},"required":["user_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-patch-groups-ID-memberships"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]},"post":{"description":"Join a group that was created by a user who exists within the current access token's bubble, or join other users into a group that you created. If you are the group owner, you can pass in a user_id to create membership records for a user you are in a conversation with. The user must exist within the current access token's bubble. If the group is private, you must successfully pass in its passphrase in order to join. You can obtain the passphrase from the group's owner.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"passphrase":{"type":"string"},"user_id":{"format":"int32","type":"integer"}},"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-groups-ID-memberships"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read","groups_write"]},{"implicit_flow":["groups_read","groups_write"]}],"tags":["groups"]}},"/groups/{ID}/messages":{"get":{"description":"Retrieve the last {limit} messages in the group, for messages authored by users within the current access token's bubble. If a timeout is 0 or greater, the batch is sorted oldest first. Otherwise, if timeout is a negative number, the transcript is paginated and sorted newest first. Specify a timeout for long polling (which delays the server sending back results for up to n seconds or until results are available, whichever comes first), or default to 0 for immediate results. Optionally record your status as online along with sharing the latest message you've seen with other group members. Optionally specify a gt_message_id to retrieve only messages with an ID greater than that specified (such as greater than the latest message ID received in the last poll). Optionally only poll for messages authored by other members of the group, and echo messages authored by you when sending, for a perceived increase in performance. Optionally only retrieve messages that were posted from within the current access token's bubble. Optionally specify a date formatted as YYYY-MM-DD to retrieve a transcript of messages from a single day. When record_seen is set to true, the new message count for the group is reset to zero.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"gt_message_id","required":false,"schema":{"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"exclude_self","required":false,"schema":{"default":false,"type":"boolean"}},{"allowEmptyValue":true,"in":"query","name":"include_deleted","required":false,"schema":{"default":false,"type":"boolean"}},{"allowEmptyValue":true,"in":"query","name":"date","required":false,"schema":{"type":"string"}},{"allowEmptyValue":true,"in":"query","name":"bubbled","required":false,"schema":{"default":false,"type":"boolean"}},{"allowEmptyValue":true,"in":"query","name":"record_seen","required":false,"schema":{"default":false,"type":"boolean"}},{"allowEmptyValue":true,"in":"query","name":"timeout","required":false,"schema":{"default":0,"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"limit","required":false,"schema":{"default":50,"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-groups-ID-messages"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]},"post":{"description":"Post a message to a group that you are a member of and that was created by a user who exists within the current access token's bubble. Optionally specify whether emoticons should be parsed into smiley images. Additionally, optionally attach a single metadata key/value pair to the group message upon submission.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"metadata_0_key":{"type":"string"},"metadata_0_privacy":{"enum":["Public","Private","Bubbled","User"],"type":"string"},"metadata_0_values[]":{"items":{"type":"string"},"type":"array"},"metadata_1_key":{"type":"string"},"metadata_1_privacy":{"enum":["Public","Private","Bubbled","User"],"type":"string"},"metadata_1_values[]":{"items":{"type":"string"},"type":"array"},"metadata_2_key":{"type":"string"},"metadata_2_privacy":{"enum":["Public","Private","Bubbled","User"],"type":"string"},"metadata_2_values[]":{"items":{"type":"string"},"type":"array"},"text_emoticons":{"default":false,"type":"boolean"},"text_raw":{"type":"string"}},"required":["text_raw"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-groups-ID-messages"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read","groups_write"]},{"implicit_flow":["groups_read","groups_write"]}],"tags":["groups"]}},"/groups/{ID}/schedules":{"post":{"description":"Paginated report of information about group messages contributed by conversation and date. Only groups you're a member of and group messages authored by users existing within the current access token's bubble are considered in the calculations. Optionally roll up all groups to retrieve one record per date. Optionally specify a date formatted as YYYY-MM-DD to retrieve information just from the single date, along with additional navigational information, which is useful when generating a transcript for a single day and wanting to reference the previous and next days there were messages within the group discussion(s).","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"}],"requestBody":{"$ref":"#/components/requestBodies/postConversationsSchedules"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-groups-ID-schedules"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]}},"/groups/{ID}/statuses":{"get":{"description":"Status information about your current relationship with one or more groups you are a member of, provided the users who created the groups exist within the current access token's bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-groups-ID-statuses"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["groups_read"]},{"implicit_flow":["groups_read"]}],"tags":["groups"]}},"/industries":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-industries"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["basic"]},{"implicit_flow":["basic"]}],"tags":["industries"]}},"/markdown":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"text_emoticons":{"default":false,"type":"boolean"},"text_raw":{"type":"string"}},"required":["text_raw"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-markdown"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["basic"]},{"implicit_flow":["basic"]}],"tags":["markdown"]}},"/markdown/emoticons":{"get":{"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-markdown-emoticons"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["basic"]},{"implicit_flow":["basic"]}],"tags":["markdown"]}},"/messages/metadata/filters":{"post":{"description":"Paginated listing of messages filtered by arbitrary metadata criteria. Messages must match on all key/value pairs passed in. Messages may only match on one value of an array passed in. However, messages are sorted based on how many distinct values they match on (most matches first).","requestBody":{"$ref":"#/components/requestBodies/postGroupsMessagesMetadataFilters"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-messages-metadata-filters"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["basic"]},{"implicit_flow":["basic"]}],"tags":["messages"]}},"/messages/{ID}":{"get":{"description":"Fetch an array of messages. You can only retrieve messages authored by you or by users who exist within the current access token's bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"items":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"},"maxItems":100,"type":"array"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-messages-ID"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read"]},{"implicit_flow":["conversations_read"]}],"tags":["messages"]}},"/messages/{ID}/metadata":{"get":{"description":"Retrieve all key/value pairs attached to the current message that you have access to, so long as the user who authored the message exists within the current access token's bubble. This includes all public metadata, bubbled metadata that was created by an access token existing within the current bubble, user metadata that was created by you, or private metadata created by you from an access token existing within the current bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"limit","required":false,"schema":{"default":50,"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-messages-ID-metadata"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read"]},{"implicit_flow":["conversations_read"]}],"tags":["messages"]},"post":{"description":"Attach one-to-many key/value pairs of metadata to a message, so long as the user who authored the message exists within the current access token's bubble. A key is unique for each author/bubble combination. Attaching metadata with an existing key that was previously created by you, from within the same bubble, overwrites the key with the new value or set of values. The privacy setting allows you to specify who will have access to the metadata: Public metadata by you or the other user in the message's conversation, using an access token which grants you access to the user who authored the message, if it wasn't you; Bubbled metadata by you or the other user in the message's conversation, using an access token existing within the current bubble; User metadata by you, so long as you are using an access token which grants you access to the user who authored the message, if it wasn't you; Private metadata by you, so long as you are using an access token existing within the current bubble.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"requestBody":{"$ref":"#/components/requestBodies/postGroupsMessages_id_metadata"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-messages-ID-metadata"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read"]},{"implicit_flow":["conversations_read"]}],"tags":["messages"]}},"/messages/{ID}/metadata/collections":{"get":{"description":"Retrieve all key/value pairs attached to the current message that you have access to, so long as the user who authored the message exists within the current access token's bubble. This includes all public metadata, bubbled metadata that was created by an access token existing within the current bubble, user metadata that was created by you, or private metadata created by you from an access token existing within the current bubble. Metadata will be grouped by key.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-messages-ID-metadata-collections"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["conversations_read"]},{"implicit_flow":["conversations_read"]}],"tags":["messages"]}},"/positions":{"post":{"description":"Update the OAuth'ed end user's Curriculum Vitae by adding a position.","requestBody":{"$ref":"#/components/requestBodies/postPositions"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-post-positions"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["profile_read","profile_write"]},{"implicit_flow":["profile_read","profile_write"]}],"tags":["positions"]}},"/positions/{ID}":{"delete":{"description":"Remove an item from the OAuth'ed end user's Curriculum Vitae.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-delete-positions-ID"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["profile_read","profile_write"]},{"implicit_flow":["profile_read","profile_write"]}],"tags":["positions"]},"patch":{"description":"Update the OAuth'ed end user's Curriculum Vitae by modifying an existing position.","parameters":[{"in":"path","name":"ID","required":true,"schema":{"exclusiveMinimum":false,"format":"int32","minimum":1,"type":"integer"}}],"requestBody":{"$ref":"#/components/requestBodies/postPositions"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-patch-positions-ID"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["profile_read","profile_write"]},{"implicit_flow":["profile_read","profile_write"]}],"tags":["positions"]}},"/users":{"get":{"description":"Fetch an array of users that you've been matched with, connected with, skipped, or muted. You can only retrieve users existing within the current access token's bubble. This report may be limited to the last ~500-1000 users you've communicated with within the access token's bubble. Matches are always ordered by synergy, and the order_by parameter is ignored. You can only retrieve bubbled users when retrieving matches, and the bubbled parameter is ignored otherwise. Your 100 best algorithmic matches are based on: Complementary data submitted to Profiles, CVs, and Metadata; Complementary data acquired from third-parties; Location information; Many behavioral data points, such as how responsive users are to connections; Degrees of separation (mutual connections); etc. You may connect with 3 of these algorithmic matches per day for free. However, new members are allowed a grace period of additional daily matches. Each time you choose to meet or mute one of your algorithmic matches, a new match is introduced.","parameters":[{"allowEmptyValue":true,"in":"query","name":"filter","required":false,"schema":{"default":"connections","enum":["connections","matches","skipped","muted"],"type":"string"}},{"allowEmptyValue":true,"in":"query","name":"order_by","required":false,"schema":{"default":"id","enum":["id","last_activity","first_name","last_name","industry"],"type":"string"}},{"allowEmptyValue":true,"in":"query","name":"bubbled","required":false,"schema":{"default":false,"type":"boolean"}},{"allowEmptyValue":true,"in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer"}},{"allowEmptyValue":true,"in":"query","name":"limit","required":false,"schema":{"default":50,"format":"int32","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Endpoint-get-users"}}},"description":"Valid Response"}},"security":[{"explicit_flow":["profile_read"]},{"implicit_flow":["profile_read"]}],"tags":["users"]}},"/users/invites":{"post":{"description":"Invite users to into your current access token's bubble by having Dazah send out email invitations on your behalf. The invitation sends users to begin the OAuth flow for the current application (based on the settings specified in the application's profile), and therefore they will be redirected to the application upon signing up / logging in. Upon doing so, if they aren't already, they will automatically be connected with you as well. If your current access token does not escape the bubble, the invitation will specify you wish to connect within the application's name. If your current access token escapes the bubble, the invitation will specify you wish to connect within Dazah. Submit either a list of emails, or a LinkedIn or Outlook CSV file. You can retrieve your LinkedIn CSV file by exporting your LinkedIn Connections at https://www.linkedin.com/people/export-settings. You can retrieve your Outlook CSV file by using the Outlook Import and Export Wizard. This endpoint buckets the invitations into four categories: Existing invites are existing users who are already connected with you within the current bubble, and are therefore not emailed; Discovered invites are existing Dazah users who are available to be connected with within the current bubble, and are therefore not emailed. Now that they have been discovered, the users/{:ID}/meet API endpoint may be used to connect with them; Invalid invites are existing Dazah users who are unavailable to be connected with, because they have deactivated accounts, are muting you, etc., and are therefore not emailed; Emailed invites are queued to receive an invitation within approximately 1 hour. Note that if you are attempting to invite an existing Dazah user who does not currently exist within your current access token's bubble, they will fall within the Discovered bucket if your current access token escapes the bubble, but will be emailed an invitation to join the application if your current access token does not escape the bubble.","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"csv":{"format":"binary","type