# List programs By default, this endpoint returns all programs in our system and does not require authentication. The coordinates, postal_code and country_code query parameters can be used to narrow the list down to just programs eligible for particular locations. Coordinates and postal code searching are mutually exclusive and mixing the query parameters will result in a 400 error response. If the client is authenticated as a specific user (either via Authorisation Code grant type or the EvEnergy-User header) it will return only programs that user is possibly eligible for, based on the location information we have for them. Endpoint: GET /programs Version: 2.0 Security: ## Query parameters: - `coordinates` (string) Filter the returned programs to only those available to someone who primarily charges their vehicles at these coordinates. Example: "50.896453,-1.4037239" - `postal_code` (string) Filter the returned programs to only those available to someone someone who primarily charges their vehicles in this postal code area. The postal code needs to be in the correct format for the country specified by country_code. Example: "SW1 1AA" - `country_code` (string) Specify the country the postal code is within. Required if postal_code is used. Enum: "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW" ## Header parameters: - `EvEnergy-Version` (number) Specify the version of this endpoint to use. Enum: 2 - `EvEnergy-User` (string) If the client is authenticated using Client Credentials, setting EvEnergy-User to a valid user ID allows requests to be made as if you were directly authenticated as that user. Example: "user01HN2NJ9NMRZBXT1H6FT9N7735" ## Response 200 fields (application/json): - `id` (string) Example: "prog01JCK1HPNAANB8WN253G27SFPC" - `url` (string) Example: "https://api.ev.energy/v2/programs/prog01JCK1HPNAANB8WN253G27SFPC" - `name` (string) A human-friendly name for the Program. Example: "CoolCharge" - `description` (string) A plain text description of the program's incentives and requirements. Example: "A program which incentivises charging when it's coolest to charge your EV" - `logo` (string,null) URL to download a logo image for the Program. - `sponsor_name` (string) The name of the organisation which sponsors the program. Often, but not always, a utility company. Example: "Cool Power" - `external_url` (string) A publicly accessible URL where individuals can enroll in the program. Example: "https://www.example.com/coolcharge" ## Response 400 fields (application/problem+json): - `type` (string) Example: "https://api.ev.energy/v2/problems/example-problem/" - `status` (number) Example: 400 - `title` (string, required) Example: "Short description" - `detail` (string, required) Example: "Long, more specific description." - `instance` (string) Example: "https://api.ev.energy/v2/users/user01HN2P75GBNFRJPCZJXEFVXH5E" - `notification` (object) Something that the user should be informed about. - `notification.id` (string, required) Unique identifier for the Notification Example: "notf67O36PLTFDB57M0E5L33JZLGM0" - `notification.url` (string, required) Example: "https://api.ev.energy/notifications/notf67O36PLTFDB57M0E5L33JZLGM0" - `notification.message_id` (string, required) Internal identifier for this notification type. E.g. 'ERR0023' - `notification.category` (any, required) Category of this notification type Enum: "ACTIONABLE", "SERVICE", "RETRY", "MARKETING", "INTERNAL" - `notification.event_time` (string, required) The timestamp of the event described by this notification - `notification.short_text_title` (string, required) Short title for the notification - `notification.short_text_body` (string, required) Short description of the event being notified - `notification.detail_page_title` (string) Title of a help page giving more information about this notification - `notification.detail_page_body` (string) Text of a help page giving more information about this notification - `notification.external_link` (string,null) URL of a web page giving further information about this notification - `notification.external_button_label` (string) Text to be displayed on a button leading to the external_link location - `notification.read_at` (string) When the user examined the contents of this notification - `notification.resolved_at` (string) When the problem associated with this notification was resolved ## Response 401 fields (application/problem+json): - `status` (number) Example: 401 - `title` (string, required) Example: "Unauthorized" - `detail` (string, required) Example: "Authentication credentials were not provided." ## Response 403 fields (application/problem+json): - `status` (number) Example: 403 - `title` (string, required) Example: "Forbidden" - `detail` (string, required) Example: "You do not have permission to perform this action." ## Response 429 fields (application/problem+json): - `type` (string) Example: "https://api.ev.energy/v2/problems/example-problem/" - `status` (number) Example: 400 - `title` (string, required) Example: "Short description" - `detail` (string, required) Example: "Long, more specific description." - `instance` (string) Example: "https://api.ev.energy/v2/users/user01HN2P75GBNFRJPCZJXEFVXH5E" - `notification` (object) Something that the user should be informed about. - `notification.id` (string, required) Unique identifier for the Notification Example: "notf67O36PLTFDB57M0E5L33JZLGM0" - `notification.url` (string, required) Example: "https://api.ev.energy/notifications/notf67O36PLTFDB57M0E5L33JZLGM0" - `notification.message_id` (string, required) Internal identifier for this notification type. E.g. 'ERR0023' - `notification.category` (any, required) Category of this notification type Enum: "ACTIONABLE", "SERVICE", "RETRY", "MARKETING", "INTERNAL" - `notification.event_time` (string, required) The timestamp of the event described by this notification - `notification.short_text_title` (string, required) Short title for the notification - `notification.short_text_body` (string, required) Short description of the event being notified - `notification.detail_page_title` (string) Title of a help page giving more information about this notification - `notification.detail_page_body` (string) Text of a help page giving more information about this notification - `notification.external_link` (string,null) URL of a web page giving further information about this notification - `notification.external_button_label` (string) Text to be displayed on a button leading to the external_link location - `notification.read_at` (string) When the user examined the contents of this notification - `notification.resolved_at` (string) When the problem associated with this notification was resolved