# Channels management

## Retrieving channels

### Retrieve list of channels

## Get workspace channels

> Get the channels configured for a workspace

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"tags":[{"name":"channel","description":"Channels are the installation of a platform for a workspace."}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"parameters":{"queryLimit":{"name":"limit","description":"Limits the number of results to return","in":"query","schema":{"type":"integer","minimum":1,"maximum":1000,"default":10}},"queryCursor":{"name":"pageToken","description":"Pagination token that keeps of track of the current position in the list","in":"query","schema":{"type":"string","maxLength":8000}},"queryDirection":{"name":"reverse","description":"Order in which to retrieve the results","in":"query","schema":{"type":"boolean","default":false}},"queryPlatform":{"name":"platform","description":"Filter based on platform name","in":"query","schema":{"anyOf":[{"$ref":"#/components/schemas/Id"},{"type":"array","items":{"$ref":"#/components/schemas/Id"}}]}},"queryConferencial":{"name":"conferencial","description":"Filter based on conferencial flag","in":"query","schema":{"type":"boolean","default":false}},"queryOnlyMyChannels":{"name":"onlyMyChannels","description":"Filter only channels I have access to","in":"query","schema":{"type":"boolean","default":false}},"queryStatus":{"name":"status","description":"Filter based on channel status","in":"query","schema":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"string","items":{"$ref":"#/components/schemas/Status"}}]}},"queryUseCaseType":{"name":"useCaseType","in":"query","schema":{"$ref":"#/components/schemas/UseCaseType"}},"queryChannelIDs":{"name":"channelIds","description":"Filter based on channel IDs","in":"query","schema":{"type":"array","items":{"type":"string","format":"uuid"}}},"queryResourceOwnerIDs":{"name":"resourceOwnerId","description":"Filter based on resource owner IDs","in":"query","schema":{"type":"array","items":{"type":"string","format":"uuid"}}},"queryResourceOwnerIdentifiers":{"name":"resourceOwnerIdentifier","description":"Filter based on resource owner identifiers","in":"query","schema":{"type":"array","items":{"type":"string"}}},"querySuite":{"name":"suite","in":"query","description":"Filter entities by Suite","schema":{"type":"array","items":{"$ref":"#/components/schemas/SuiteType"}}}},"schemas":{"Id":{"type":"string","pattern":"^[A-Za-z0-9-]+$","minLength":3,"maxLength":60},"Status":{"type":"string","enum":["GA","preview"],"default":"preview"},"UseCaseType":{"type":"string","enum":["otp","transactional","marketing","conversation"]},"SuiteType":{"type":"string","description":"The Suite indicates a Suite that an entity belongs to","enum":["marketing","service","payments","automations","developer"]},"ChannelList":{"type":"object","title":"ChannelList","description":"A list of channels","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Channel"}}}},"Channel":{"type":"object","title":"Channel","additionalProperties":false,"properties":{"id":{"$ref":"#/components/schemas/Id-2"},"platformId":{"$ref":"#/components/schemas/Id"},"name":{"$ref":"#/components/schemas/Name"},"connectorId":{"$ref":"#/components/schemas/ConnectorId"},"identifier":{"$ref":"#/components/schemas/Identifier"},"status":{"$ref":"#/components/schemas/Status-2"},"contactIdentifierKeyOverride":{"$ref":"#/components/schemas/ContactIdentifierKeyOverride"},"contactIdentifierFormatOverride":{"$ref":"#/components/schemas/ContactIdentifierFormatOverride"},"platformServiceUrlOverride":{"$ref":"#/components/schemas/PlatformServiceUrlOverride"},"platformServiceVersionOverride":{"$ref":"#/components/schemas/PlatformServiceVersionOverride"},"platformServiceProtocolOverride":{"$ref":"#/components/schemas/PlatformServiceProtocolOverride"},"platformMessageJsonSchemaOverride":{"$ref":"#/components/schemas/PlatformMessageJsonSchemaOverride"},"platformTemplateEngineOverride":{"$ref":"#/components/schemas/PlatformTemplateEngineOverride"},"capabilities":{"$ref":"#/components/schemas/ChannelCapabilities"},"settings":{"$ref":"#/components/schemas/Settings"},"connectionParams":{"$ref":"#/components/schemas/Settings"},"preferences":{"$ref":"#/components/schemas/Preferences"},"useCaseId":{"$ref":"#/components/schemas/UseCaseId"},"useCaseType":{"$ref":"#/components/schemas/UseCaseType-2"},"channelMessageType":{"$ref":"#/components/schemas/ChannelMessageType"},"suites":{"type":"array","items":{"$ref":"#/components/schemas/SuiteType"}},"resourceOwners":{"$ref":"#/components/schemas/ResourceOwners"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","name","platformId","connectorId","status","createdAt"]},"Id-2":{"type":"string","format":"uuid"},"Name":{"type":"string","minLength":1,"maxLength":100},"ConnectorId":{"type":"string","format":"uuid"},"Identifier":{"type":"string","minLength":1,"maxLength":100},"Status-2":{"type":"string","enum":["active","pending","setting-up","failed","inactive","deleted","warning"]},"ContactIdentifierKeyOverride":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","nullable":true},"ContactIdentifierFormatOverride":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["none","pattern","phonenumber","emailaddress"]},"pattern":{"type":"string"}},"nullable":true},"PlatformServiceUrlOverride":{"type":"string","pattern":"^https://","nullable":true},"PlatformServiceVersionOverride":{"type":"string","enum":["1.0"],"nullable":true},"PlatformServiceProtocolOverride":{"type":"string","enum":["http","https"],"nullable":true},"PlatformMessageJsonSchemaOverride":{"type":"object","nullable":true},"PlatformTemplateEngineOverride":{"type":"string","nullable":true,"enum":["default","liquid"]},"ChannelCapabilities":{"type":"object","additionalProperties":false,"properties":{"messaging":{"type":"object","additionalProperties":true,"properties":{"messaging":{"$ref":"#/components/schemas/ChannelMessagingCapability"}}},"voice":{"type":"object","additionalProperties":true,"properties":{"voice":{"$ref":"#/components/schemas/ChannelVoiceCapability"}}}}},"ChannelMessagingCapability":{"type":"object","title":"Channel capability","additionalProperties":false,"properties":{"displayName":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"version":{"type":"number"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"outgoing":{"$ref":"#/components/schemas/ChannelOutgoingCapability"},"incoming":{"$ref":"#/components/schemas/ChannelIncomingCapability"}},"required":["status","name","version","updatedAt","createdAt","outgoing","incoming"]},"ChannelOutgoingCapability":{"type":"object","title":"Channel Outgoing capability","additionalProperties":false,"properties":{"displayName":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"version":{"type":"number"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"mms":{"$ref":"#/components/schemas/ChannelCapability"},"media":{"$ref":"#/components/schemas/ChannelOutgoingMediaMessageCapability"},"mmLite":{"$ref":"#/components/schemas/ChannelCapability"}},"required":["status","name"]},"ChannelCapability":{"type":"object","title":"Channel capability","additionalProperties":false,"properties":{"displayName":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"version":{"type":"number"},"paused":{"type":"boolean","nullable":true},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}},"required":["status","name","version","updatedAt","createdAt"]},"ChannelOutgoingMediaMessageCapability":{"type":"object","title":"Channel Outgoing Media Message Capability","additionalProperties":false,"properties":{"textFallback":{"$ref":"#/components/schemas/ChannelCapability"}}},"ChannelIncomingCapability":{"type":"object","title":"Channel Incoming capability","additionalProperties":false,"properties":{"displayName":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"version":{"type":"number"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"mms":{"$ref":"#/components/schemas/ChannelCapability"}},"required":["status","name"]},"ChannelVoiceCapability":{"type":"object","title":"Channel capability","additionalProperties":false,"properties":{"displayName":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"version":{"type":"number"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"recording":{"$ref":"#/components/schemas/ChannelCapability"}},"required":["status","name","version","updatedAt","createdAt","recording"]},"Settings":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"visibility":{"type":"string","enum":["public","internal","secret"]}},"required":["key","value"]}},"Preferences":{"type":"object","nullable":true,"properties":{"disableProfileFetching":{"description":"When enabled, it skips fetching the sender profile details on incoming messages, and, therefore, contacts won't have profile details (first name, last name, display name, country, etc.). In case this preference is not provided during channel creation, the PII strategy defined in the workspace will be used.\n","type":"boolean"},"explicitMarketingOptOut":{"description":"When enabled, if a contact does not have a subscription attribute set for the corresponding platform, the contact will be treated as if it were subscribed when messaged through this channel. In case this preference is not provided during channel creation, the default value will be false.\n","type":"boolean"},"trackAdInitiatedThreads":{"description":"When enabled, it tracks the threads initiated by advertisements. In case this preference is not provided during channel creation, the default value will be false.\n"},"ignoreSuppressionChecks":{"description":"When enabled, it skips the suppression checks for the messages sent through this channel. In case this preference is not provided during channel creation, the default value will be false.\n","type":"boolean"},"isPrivate":{"description":"When enabled, it allows the channel to be marked as private - that is, the items which arrive via it,  should, in turn, be marked as private.\n","type":"boolean"},"disallowMmLite":{"description":"When enabled, Cloud API is used to send marketing messages.\n","type":"boolean"}}},"UseCaseId":{"type":"string","nullable":true},"UseCaseType-2":{"type":"string","nullable":true,"enum":["transactional","marketing","conversation"]},"ChannelMessageType":{"type":"string","enum":["promotional","2fa","conversational","transactional","emergency"]},"ResourceOwners":{"type":"object","nullable":true,"description":"The map of resource owners that are allowed to use this channel. Example:  { \"resourceOwnerIdentifier1\": { \"id\": \"resourceOwnerUUID1\", \"type\": \"user\" }, \n  \"resourceOwnerIdentifier2\": { \"id\": \"resourceOwnerUUID2\", \"type\": \"group\" } }\n","additionalProperties":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["user","group"]}},"required":["id","type"]}},"Pagination":{"type":"object","properties":{"nextPageToken":{"type":"string","description":"The token that can be passed as pageToken in URL to retrieve the next set of results. If missing, no more results to display."}}},"RequestError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"}},"required":["code","message"]}},"responses":{"requestError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestError"}}}}}},"paths":{"/workspaces/{workspaceId}/channels":{"get":{"summary":"Get workspace channels","operationId":"getWorkspaceChannels","description":"Get the channels configured for a workspace","tags":["channel"],"parameters":[{"$ref":"#/components/parameters/queryLimit"},{"$ref":"#/components/parameters/queryCursor"},{"$ref":"#/components/parameters/queryDirection"},{"$ref":"#/components/parameters/queryPlatform"},{"$ref":"#/components/parameters/queryConferencial"},{"$ref":"#/components/parameters/queryOnlyMyChannels"},{"$ref":"#/components/parameters/queryStatus"},{"$ref":"#/components/parameters/queryUseCaseType"},{"$ref":"#/components/parameters/queryChannelIDs"},{"$ref":"#/components/parameters/queryResourceOwnerIDs"},{"$ref":"#/components/parameters/queryResourceOwnerIdentifiers"},{"$ref":"#/components/parameters/querySuite"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ChannelList"},{"$ref":"#/components/schemas/Pagination"}]}}}},"404":{"$ref":"#/components/responses/requestError"}}}}}}
```

### Retrieve a specific channel

## Get channel

> Retrieve a specific workspace channel

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"tags":[{"name":"channel","description":"Channels are the installation of a platform for a workspace."}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"Channel":{"type":"object","title":"Channel","additionalProperties":false,"properties":{"id":{"$ref":"#/components/schemas/Id-2"},"platformId":{"$ref":"#/components/schemas/Id"},"name":{"$ref":"#/components/schemas/Name"},"connectorId":{"$ref":"#/components/schemas/ConnectorId"},"identifier":{"$ref":"#/components/schemas/Identifier"},"status":{"$ref":"#/components/schemas/Status-2"},"contactIdentifierKeyOverride":{"$ref":"#/components/schemas/ContactIdentifierKeyOverride"},"contactIdentifierFormatOverride":{"$ref":"#/components/schemas/ContactIdentifierFormatOverride"},"platformServiceUrlOverride":{"$ref":"#/components/schemas/PlatformServiceUrlOverride"},"platformServiceVersionOverride":{"$ref":"#/components/schemas/PlatformServiceVersionOverride"},"platformServiceProtocolOverride":{"$ref":"#/components/schemas/PlatformServiceProtocolOverride"},"platformMessageJsonSchemaOverride":{"$ref":"#/components/schemas/PlatformMessageJsonSchemaOverride"},"platformTemplateEngineOverride":{"$ref":"#/components/schemas/PlatformTemplateEngineOverride"},"capabilities":{"$ref":"#/components/schemas/ChannelCapabilities"},"settings":{"$ref":"#/components/schemas/Settings"},"connectionParams":{"$ref":"#/components/schemas/Settings"},"preferences":{"$ref":"#/components/schemas/Preferences"},"useCaseId":{"$ref":"#/components/schemas/UseCaseId"},"useCaseType":{"$ref":"#/components/schemas/UseCaseType-2"},"channelMessageType":{"$ref":"#/components/schemas/ChannelMessageType"},"suites":{"type":"array","items":{"$ref":"#/components/schemas/SuiteType"}},"resourceOwners":{"$ref":"#/components/schemas/ResourceOwners"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","name","platformId","connectorId","status","createdAt"]},"Id-2":{"type":"string","format":"uuid"},"Id":{"type":"string","pattern":"^[A-Za-z0-9-]+$","minLength":3,"maxLength":60},"Name":{"type":"string","minLength":1,"maxLength":100},"ConnectorId":{"type":"string","format":"uuid"},"Identifier":{"type":"string","minLength":1,"maxLength":100},"Status-2":{"type":"string","enum":["active","pending","setting-up","failed","inactive","deleted","warning"]},"ContactIdentifierKeyOverride":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","nullable":true},"ContactIdentifierFormatOverride":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["none","pattern","phonenumber","emailaddress"]},"pattern":{"type":"string"}},"nullable":true},"PlatformServiceUrlOverride":{"type":"string","pattern":"^https://","nullable":true},"PlatformServiceVersionOverride":{"type":"string","enum":["1.0"],"nullable":true},"PlatformServiceProtocolOverride":{"type":"string","enum":["http","https"],"nullable":true},"PlatformMessageJsonSchemaOverride":{"type":"object","nullable":true},"PlatformTemplateEngineOverride":{"type":"string","nullable":true,"enum":["default","liquid"]},"ChannelCapabilities":{"type":"object","additionalProperties":false,"properties":{"messaging":{"type":"object","additionalProperties":true,"properties":{"messaging":{"$ref":"#/components/schemas/ChannelMessagingCapability"}}},"voice":{"type":"object","additionalProperties":true,"properties":{"voice":{"$ref":"#/components/schemas/ChannelVoiceCapability"}}}}},"ChannelMessagingCapability":{"type":"object","title":"Channel capability","additionalProperties":false,"properties":{"displayName":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"version":{"type":"number"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"outgoing":{"$ref":"#/components/schemas/ChannelOutgoingCapability"},"incoming":{"$ref":"#/components/schemas/ChannelIncomingCapability"}},"required":["status","name","version","updatedAt","createdAt","outgoing","incoming"]},"ChannelOutgoingCapability":{"type":"object","title":"Channel Outgoing capability","additionalProperties":false,"properties":{"displayName":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"version":{"type":"number"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"mms":{"$ref":"#/components/schemas/ChannelCapability"},"media":{"$ref":"#/components/schemas/ChannelOutgoingMediaMessageCapability"},"mmLite":{"$ref":"#/components/schemas/ChannelCapability"}},"required":["status","name"]},"ChannelCapability":{"type":"object","title":"Channel capability","additionalProperties":false,"properties":{"displayName":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"version":{"type":"number"},"paused":{"type":"boolean","nullable":true},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}},"required":["status","name","version","updatedAt","createdAt"]},"ChannelOutgoingMediaMessageCapability":{"type":"object","title":"Channel Outgoing Media Message Capability","additionalProperties":false,"properties":{"textFallback":{"$ref":"#/components/schemas/ChannelCapability"}}},"ChannelIncomingCapability":{"type":"object","title":"Channel Incoming capability","additionalProperties":false,"properties":{"displayName":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"version":{"type":"number"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"mms":{"$ref":"#/components/schemas/ChannelCapability"}},"required":["status","name"]},"ChannelVoiceCapability":{"type":"object","title":"Channel capability","additionalProperties":false,"properties":{"displayName":{"type":"string"},"status":{"type":"string"},"name":{"type":"string"},"version":{"type":"number"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"recording":{"$ref":"#/components/schemas/ChannelCapability"}},"required":["status","name","version","updatedAt","createdAt","recording"]},"Settings":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"visibility":{"type":"string","enum":["public","internal","secret"]}},"required":["key","value"]}},"Preferences":{"type":"object","nullable":true,"properties":{"disableProfileFetching":{"description":"When enabled, it skips fetching the sender profile details on incoming messages, and, therefore, contacts won't have profile details (first name, last name, display name, country, etc.). In case this preference is not provided during channel creation, the PII strategy defined in the workspace will be used.\n","type":"boolean"},"explicitMarketingOptOut":{"description":"When enabled, if a contact does not have a subscription attribute set for the corresponding platform, the contact will be treated as if it were subscribed when messaged through this channel. In case this preference is not provided during channel creation, the default value will be false.\n","type":"boolean"},"trackAdInitiatedThreads":{"description":"When enabled, it tracks the threads initiated by advertisements. In case this preference is not provided during channel creation, the default value will be false.\n"},"ignoreSuppressionChecks":{"description":"When enabled, it skips the suppression checks for the messages sent through this channel. In case this preference is not provided during channel creation, the default value will be false.\n","type":"boolean"},"isPrivate":{"description":"When enabled, it allows the channel to be marked as private - that is, the items which arrive via it,  should, in turn, be marked as private.\n","type":"boolean"},"disallowMmLite":{"description":"When enabled, Cloud API is used to send marketing messages.\n","type":"boolean"}}},"UseCaseId":{"type":"string","nullable":true},"UseCaseType-2":{"type":"string","nullable":true,"enum":["transactional","marketing","conversation"]},"ChannelMessageType":{"type":"string","enum":["promotional","2fa","conversational","transactional","emergency"]},"SuiteType":{"type":"string","description":"The Suite indicates a Suite that an entity belongs to","enum":["marketing","service","payments","automations","developer"]},"ResourceOwners":{"type":"object","nullable":true,"description":"The map of resource owners that are allowed to use this channel. Example:  { \"resourceOwnerIdentifier1\": { \"id\": \"resourceOwnerUUID1\", \"type\": \"user\" }, \n  \"resourceOwnerIdentifier2\": { \"id\": \"resourceOwnerUUID2\", \"type\": \"group\" } }\n","additionalProperties":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["user","group"]}},"required":["id","type"]}},"RequestError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"}},"required":["code","message"]}},"responses":{"requestError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestError"}}}}}},"paths":{"/workspaces/{workspaceId}/channels/{channelId}":{"get":{"summary":"Get channel","operationId":"getChannel","description":"Retrieve a specific workspace channel","tags":["channel"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Channel"}}}},"404":{"$ref":"#/components/responses/requestError"}}}}}}
```

## Check if customer service window is open

For some channels it is only possible to send non template messages if the customer service window is open. The following endpoint will return the expiry time for any active service windows

## Get channel details for a contact

> Retrieve channel information for a given contact.

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"tags":[{"name":"channel","description":"Channels are the installation of a platform for a workspace."}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"parameters":{"queryContactIdentifierValue":{"name":"contactIdentifierValue","description":"The receiver identifier value.","in":"query","allowEmptyValue":true,"schema":{"type":"string"}}},"schemas":{"ChannelContactInformation":{"type":"object","additionalProperties":false,"required":["serviceWindowExpireAt"],"properties":{"serviceWindowExpireAt":{"nullable":true,"type":"string","format":"date-time"},"isPermanentSession":{"nullable":true,"type":"boolean"},"metadata":{"nullable":true,"type":"object","additionalProperties":{"type":"string"}}}},"RequestError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"}},"required":["code","message"]}},"responses":{"requestError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestError"}}}}}},"paths":{"/workspaces/{workspaceId}/channels/{channelId}/contacts/{contactId}":{"get":{"summary":"Get channel details for a contact","operationId":"getChannelContactInformation","description":"Retrieve channel information for a given contact.","tags":["channel"],"parameters":[{"$ref":"#/components/parameters/queryContactIdentifierValue"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelContactInformation"}}}},"404":{"$ref":"#/components/responses/requestError"}}}}}}
```
