NAV
shell javascript

Introduction

Welcome to the FLUX API! You can use our API to access our FLUX endpoints, which can get, post, put and delete campaigns, templates and segmentations.

We have language bindings in Shell and JavaScript! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

Token

To get your token, use this code:

curl -X PUT https://flux-digital.herokuapp.com/api/tokens -H "Content-Type: application/json" -d '{"username": "dev-01", "password": "*****"}'
const tokenResponse = await fetch('https://flux-digital.herokuapp.com/api/tokens', {
  method: 'PUT',
  headers: { 
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ username: "dev-01", password: "*****"})
})
.then(response => response.json());

The above command returns JSON structured like this:


{
  "token": "d54a74bd9692d843fe52704ebbbf9b890295ffe7af17c500f1426dcbe9592ba3", 
  "expiry": "2023-03-23T18:16:58.441Z"
}

To use the FLUX API you'll firstly need to generate a token to authenticate all future requests. To do this you'll need have a username and password. You can then make the following request to recieve both your token and the expiry time. Tokens are valid for 2 hours from when they are created. You can only have one token assigned to each account, if you have several team members using the API please contact us for a seperate account.

Authentication

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl "https://flux-digital.herokuapp.com/api_route_here" -H "Authorization: ******"
const endpointResponse = await fetch('https://flux-digital.herokuapp.com/api_route_here', {
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json());

Make sure to replace ***** with your API key.

Once you have your token you can then make requests to the API. Simply add the token as an Authorization header as shown below:

Authorization: *****

Templates

Get All Templates

curl "https://flux-digital.herokuapp.com/api/templates" -H "Authorization: *****"
const templatesResponse = await fetch('https://flux-digital.herokuapp.com/api/templates', {
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json());

The above command returns JSON structured like this:

[
  {
    "id": 1,
    "name": "Blog Post",
    "createdAt": "2 days ago",
    "creator": {
      "name": "John Smith",
      "imagePath": "http//www.example.com/image.jpg"
    },
    "fields": []
  },
  {
    "id": 2,
    "name": "Push Notification",
    "createdAt": "1 day ago",
    "creator": {
      "name": "Joe Bloggs",
      "imagePath": "http//www.example.com/image.jpg"
    },
    "fields": []
  }
]

This endpoint retrieves all templates.

HTTP Request

GET https://flux-digital.herokuapp.com/api/templates

Get a Specific Template

curl "https://flux-digital.herokuapp.com/api/templates/134234" -H "Authorization: *****"
const templateResponse = await fetch('https://flux-digital.herokuapp.com/api/templates/1342341', {
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json())

The above command returns JSON structured like this:

{
  "archived": false,
  "campaignCount": 0,
  "createdAt": "2022-03-08T12:50:18.806Z",
  "creator": "102616334431422991975",
  "fields": [
    {"name": "Title", "type": "text", "id": "1"},
    {"name": "Copy", "type": "long-text", "id": "2"},
    {"name": "ImagePath", "type": "text", "id": "3"}
  ],
  "id": "1342341",
  "name": "Blog",
}

This endpoint retrieves a specific template.

HTTP Request

GET https://flux-digital.herokuapp.com/api/templates/<ID>

URL Parameters

Parameter Description
ID The ID of the template to retrieve

Add a New Template

curl -X POST "https://flux-digital.herokuapp.com/api/templates/" -H "Content-Type: application/json" -H "Authorization: *****" -d '{"name": "Template 2", "creator": "12321321323", "fields": [{"name": "field 1", "type": "text", "id": "3"}]}'
const endpointResponse = await fetch('https://flux-digital.herokuapp.com/api/templates', {
  method: 'POST',
  headers: {
    'Authorization': '*****',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ 
    name: "Template 1", 
    creator: '12321321323',
    fields: [
      { name: 'field1', type: 'text', id: '1' },
      { name: 'field2', type: 'text', id: '2' }
    ]
  })
})
.then(response => response.json())

The above command returns JSON structured like this:

{
  "message": "Template created", 
  "id": "4f02b096-9b8d-43cf-bb89-52b3e5abee89"
}

This endpoint creates a new template.

HTTP Request

POST https://flux-digital.herokuapp.com/api/templates

REQUEST BODY

VALUE TYPE DESCRIPTION EXAMPLE
name String Name of template Blog Post
fields Array An array of fields with name, type and ID See request examples
creator String Valid ID of the creator of the template (see user endpoints) 10232133213

Edit an Existing Template

curl -X PUT "https://flux-digital.herokuapp.com/api/templates/1342341" -H "Content-Type: application/json" -H "Authorization: *****" -d '{"name": "Template 2", "fields": [{"name": "field 1", "type": "text", "id": "3"}]}'
const endpointResponse = await fetch('https://flux-digital.herokuapp.com/api/templates/1342341', {
  method: 'PUT',
  headers: {
    'Authorization': '*****',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ 
    name: "Template 1", 
    fields: [
      { name: 'field1', type: 'text', id: '1' },
      { name: 'field2', type: 'text', id: '2' }
    ]
  })
})
.then(response => response.json())

The above command returns JSON structured like this:

{
  "message":"Template updated",
  "id":"46059b25-4ef4-4d0d-94d3-d7920d3fa8ae"
}

This endpoint edits an existing template.

HTTP Request

PUT https://flux-digital.herokuapp.com/api/templates/<ID>

REQUEST BODY

VALUE TYPE DESCRIPTION EXAMPLE
name String Name of template Blog Post
fields Array An array of fields with name, type and ID See request examples

Delete a Specific Template

curl "https://flux-digital.herokuapp.com/api/templates/123233" \
-X DELETE \
-H "Authorization: *****"
const templateResponse = await fetch('https://flux-digital.herokuapp.com/api/templates/123233', {
  method: 'DELETE',
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json())

The above command returns JSON structured like this:

{
  "message": "Template deleted",
  "id":"123233"
}

This endpoint deletes a specific template.

HTTP Request

DELETE https://flux-digital.herokuapp.com/api/templates/<ID>

URL Parameters

Parameter Description
ID The ID of the template to delete

Segmentations

Get All Segmentations

curl "https://flux-digital.herokuapp.com/api/segmentations" -H "Authorization: *****"
const templatesResponse = await fetch('https://flux-digital.herokuapp.com/api/segmentations', {
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json());

The above command returns JSON structured like this:

[
  {
    "id": "123433543345",
    "name": "Languages",
    "segmentations": [
      {
        "name": "Language",
        "values": ["EN","FR","ES","DE","IT"]
      }
    ],
    "creator": {
      "name": "Joe Bloggs",
      "imagePath": "https://example.com/image1.jpg"
    },
    "createdAt": "16 days ago"
  },
  {
    "id": "123433543345",
    "name": "Gender + Language",
    "segmentations": [
      {
        "name": "Gender",
        "values": ["Women","Men"]
      },
      {
        "name": "Language",
        "values": ["EN","FR","ES","DE","IT"]
      }
    ],
    "creator": {
      "name": "Joe Bloggs",
      "imagePath": "https://example.com/image1.jpg"
    },
    "createdAt": "16 days ago"
  }
]

This endpoint retrieves all segmentations.

HTTP Request

GET https://flux-digital.herokuapp.com/api/segmentations

Get a Specific Segmentation

curl "https://flux-digital.herokuapp.com/api/segmentations/31233232" -H "Authorization: *****"
const templatesResponse = await fetch('https://flux-digital.herokuapp.com/api/segmentations/31233232', {
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json());

The above command returns JSON structured like this:

{
  "segmentations": [
    {
      "name": "Gender",
      "values": ["Women", "Men"]
    },
    {
      "name": "Language",
      "values": ["EN", "FR", "ES", "DE", "IT"]
    }
  ],
  "archived": false,
  "name": "Gender + Language",
  "creator": "102616334431422991975",
  "id": "31233232",
  "createdAt": "2022-03-08T12:43:27.401Z",
  "campaignCount": 2
}

This endpoint retrieves a specific segmentation.

HTTP Request

GET https://flux-digital.herokuapp.com/api/segmentations/<ID>

Add a New Segmentation

curl -X POST "https://flux-digital.herokuapp.com/api/segmentations/" -H "Content-Type: application/json" -H "Authorization: *****" -d '{"name": "Gender & Language", "creator": "123123123", "segmentations": [{"name": "Language", "values": ["EN", "FR", "ES", "DE", "IT"]}]}'
const endpointResponse = await fetch('https://flux-digital.herokuapp.com/api/segmentations', {
  method: 'POST',
  headers: {
    'Authorization': '*****',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ 
    name: "Gender & Language",
    creator: '123123123',
    segmentations: [
      { name: 'Gender', values: ['Women', 'Men'] },
      { name: 'Language', values: ['EN', 'FR', 'DE', 'ES', 'IT'] }
    ]
  })
})
.then(response => response.json())

The above command returns JSON structured like this:

{
  "message": "Segmentation created", 
  "id": "9fa4b2a9-7f82-43ea-bc1d-be05cd522890"
}

This endpoint creates a new segmentation.

HTTP Request

POST https://flux-digital.herokuapp.com/api/segmentations

REQUEST BODY

VALUE TYPE DESCRIPTION EXAMPLE
name String Name of template Blog Post
creator String Valid ID of the creator of the template (see user endpoints) 10232133213
segmentations Array An array of objects containing a name and values array See request examples

Edit an Existing Segmentation

curl -X PUT "https://flux-digital.herokuapp.com/api/segmentations/123123123" -H "Content-Type: application/json" -H "Authorization: *****" -d '{"name": "Gender & Language", "segmentations": [{"name": "Language", "values": ["EN", "FR", "ES", "DE", "IT"]}]}'
const endpointResponse = await fetch('https://flux-digital.herokuapp.com/api/segmentations/123123123', {
  method: 'PUT',
  headers: {
    'Authorization': '*****',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ 
    name: "Gender & Language",
    segmentations: [
      { name: 'Gender', values: ['Women', 'Men'] },
      { name: 'Language', values: ['EN', 'FR', 'DE', 'ES', 'IT'] }
    ]
  })
})
.then(response => response.json())

The above command returns JSON structured like this:

{
  "message": "Segmentation updated",
  "id": "085ad409-d1b5-4a61-aebf-42881bdb6434"
}

This endpoint edits an existing segmentation.

HTTP Request

PUT https://flux-digital.herokuapp.com/api/segmentations/<ID>

REQUEST BODY

VALUE TYPE DESCRIPTION EXAMPLE
name String Name of template Blog Post
segmentations Array An array of objects containing a name and values array See request examples

Delete a Specific Segmentation

curl "https://flux-digital.herokuapp.com/api/segmentations/123233" \
-X DELETE \
-H "Authorization: *****"
const templateResponse = await fetch('https://flux-digital.herokuapp.com/api/segmentations/123233', {
  method: 'DELETE',
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json())

The above command returns JSON structured like this:

{
  "message": "Segmentation deleted",
  "id":"123233"
}

This endpoint deletes a specific segmentation.

HTTP Request

DELETE https://flux-digital.herokuapp.com/api/segmentations/<ID>

URL Parameters

Parameter Description
ID The ID of the segmentation to delete

Campaigns

Add a New Campaign

curl -X POST "https://flux-digital.herokuapp.com/api/campaigns/" -H "Content-Type: application/json" -H "Authorization: *****" -d '{"name": "Campaign 1", "creator": "123123123", "segmentationId": "2daf8666-558e-48cb-931a-2a0a04c63034", "templateId": "3daf8666-558e-48cb-931a-2a0a04c6303a"}'
const endpointResponse = await fetch('https://flux-digital.herokuapp.com/api/campaigns', {
  method: 'POST',
  headers: {
    'Authorization': '*****',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ 
    name: "Campaign 1",
    creator: '123123123',
    segmentationId: '2daf8666-558e-48cb-931a-2a0a04c63034',
    templateId: '3daf8666-558e-48cb-931a-2a0a04c6303a',
  })
})
.then(response => response.json())

The above command returns JSON structured like this:

{
  "message": "Campaign created", 
  "id": "2daf8666-558e-48cb-931a-2a0a04c63034"
}

This endpoint creates a new campaign.

HTTP Request

POST https://flux-digital.herokuapp.com/api/campaigns

REQUEST BODY

VALUE TYPE DESCRIPTION EXAMPLE
name String Name of campaign SS23 Blog Post - Week 1
creator String Valid ID of the creator of the template (see user endpoints) 10232133213
segmentationId String Valid segementation ID 2daf8666-558e-48cb-931a-2a0a04c63034
templateId String Valid template ID 3daf8666-558e-48cb-931a-2a0a04c6303a

Get a Specific Campaign

curl "https://flux-digital.herokuapp.com/api/campaigns/31233232" -H "Authorization: *****"
const templatesResponse = await fetch('https://flux-digital.herokuapp.com/api/campaigns/31233232', {
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json());

The above command returns JSON structured like this:

{
  "id":"31233232",
  "name":"Campaign 1",
  "creator":"102616334431422991975",
  "segmentationId":"2b4c2f15-7bc7-42cc-bd8f-2f64d2c0c472",
  "templateId":"071885d1-6fd5-416b-941a-07058079a581",
  "status":"02d8c7d7-c9b8-470d-b9b8-af8027fc2664",
  "assignedTo":"102616334431422991975",
  "createdAt":"2022-03-28T10:37:23.513Z",
  "editedAt":"2022-03-28T10:37:23.513Z",
  "variants":[
    {
       "segmentation":{ "Gender":"Women" },
       "content":{
          "Title":"",
          "Copy":"This is the womens variant",
          "ImagePath":"",
          "Payload":""
       },
       "assigned":{
          "name":"Joe Blogs",
          "imagePath":"https://example.com/image1.jpg"
       },
       "id":"c642e942-5a0f-4e30-8461-18883b22c5db",
       "updated":"a few seconds ago",
       "status":"To Do"
    },
    {
       "segmentation":{ "Gender":"Men" },
       "content":{
          "Title":"",
          "Copy":"This is the mens variant",
          "ImagePath":"",
          "Payload":""
       },
       "assigned":{
          "name":"Joe Blogs",
          "imagePath":"https://example.com/image1.jpg"
      },
       "id":"39c6372c-bd75-4b31-b1b2-045c8ded4f60",
       "updated":"a few seconds ago",
       "status":"To Do"
    }
 ],
  "template": "Object with details about template",
  "segmentation": "Object with details about segmentation",
}

This endpoint retrieves a specific segmentation.

HTTP Request

GET https://flux-digital.herokuapp.com/api/campaigns/<ID>

URL Parameters

Parameter Description
ID The ID of the campaign to get details of

Edit an Existing Campaign

curl -X PUT "https://flux-digital.herokuapp.com/api/campaigns/29f8308f-4566-460e-88f8-86c4c4dad52a" -H "Content-Type: application/json" -H "Authorization: *****" -d '{"name": "Campaign 1", "assignee": "123123123", "status": "3daf8666-558e-48cb-931a-2a0a04c6303a"}'
const endpointResponse = await fetch('https://flux-digital.herokuapp.com/api/campaigns/29f8308f-4566-460e-88f8-86c4c4dad52a', {
  method: 'PUT',
  headers: {
    'Authorization': '*****',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ 
    name: "Campaign 1",
    assignee: '123123123',
    status: '3daf8666-558e-48cb-931a-2a0a04c6303a',
  })
})
.then(response => response.json())

The above command returns JSON structured like this:

{
  "message": "Campaign updated", 
  "id": "29f8308f-4566-460e-88f8-86c4c4dad52a"
}

This endpoint edits the name, assignee and status of a current campaign.

HTTP Request

PUT https://flux-digital.herokuapp.com/api/campaigns/<ID>

REQUEST BODY

VALUE TYPE DESCRIPTION EXAMPLE
name String Name of campaign SS23 Blog Post - Week 1
assignee String Valid ID of the creator of the template (see user endpoints) 10232133213
status String Valid workflow/status ID 3daf8666-558e-48cb-931a-2a0a04c6303a

Get a Specific Variant

curl "https://flux-digital.herokuapp.com/api/campaigns/variants/ac7dc8c9-deae-43b5-8e40-631dd12d4f24/c642e942-5a0f-4e30-8461-18883b22c5db" -H "Authorization: *****"
const variantResponse = await fetch('https://flux-digital.herokuapp.com/api/campaigns/variants/2daf8666-558e-48cb-931a-2a0a04c63034/f9c1d14c-edb1-486a-975b-f14449d74e8a', {
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json());

The above command returns JSON structured like this:

{
   "segmentation":{
      "Gender":"Women"
   },
   "content":{
      "Title":"",
      "Copy":"",
      "ImagePath":"",
      "Payload":""
   },
   "assigned":"102616334431422991975",
   "id":"c642e942-5a0f-4e30-8461-18883b22c5db",
   "updated": 1648463843471,
   "status":"02d8c7d7-c9b8-470d-b9b8-af8027fc2664",
   "campaignName":"Campaign 1",
   "fields":[
      {
         "name":"Title",
         "type":"text",
         "id":"d4486200-3681-4efd-9429-2d83150e704a",
         "value":""
      },
      {
         "name":"Copy",
         "type":"long-text",
         "id":"2e058907-514e-4f16-b30a-3fbecd479f61",
         "value":""
      },
      {
         "name":"ImagePath",
         "type":"text",
         "id":"ed8c1bfa-a810-4a49-be0e-72818ed5bde4",
         "value":""
      },
      {
         "name":"Payload",
         "type":"text",
         "id":"64adfd3f-adad-4591-a9b9-6b533509c3cd",
         "value":""
      }
   ],
   "templateName":"Push"
}

This endpoint retrieves a specific variant for a specific campaign.

HTTP Request

GET https://flux-digital.herokuapp.com/api/campaigns/variants/<campaignId>/<variantId>

URL Parameters

Parameter Description
campaignId The ID of the campaign
variantId The ID of the variant

Edit an Existing Variant

curl -X PUT "https://flux-digital.herokuapp.com/api/campaigns/variants/366e3cea-1cab-40a7-b86a-a8e0282dc76e/51048653-2d7e-466b-b87c-cb5c13f103bb" -H "Content-Type: application/json" -H "Authorization: *****" -d '[{name: "Title", value: "This is the variant title"}, {name: "Copy", value: "This is the variant copy"},{name: "ImagePath", value: ""},{name: "Payload", value: ""}]'
const endpointResponse = await fetch('https://flux-digital.herokuapp.com/api/campaigns/variants/366e3cea-1cab-40a7-b86a-a8e0282dc76e/51048653-2d7e-466b-b87c-cb5c13f103bb', {
  method: 'PUT',
  headers: {
    'Authorization': '*****',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify([
    {name: "Title", value: "This is the variant title"},
    {name: "Copy", value: "This is the variant copy"},
    {name: "ImagePath", value: ""},
    {name: "Payload", value: ""}
  ])
})
.then(response => response.json())

The above command returns JSON structured like this:

{
  "message": "Campaign updated", 
  "id": "366e3cea-1cab-40a7-b86a-a8e0282dc76e"
}

This endpoint edits the content within a variant.

HTTP Request

PUT https://flux-digital.herokuapp.com/api/campaigns/variants/<campaignId>/<variantId>

REQUEST BODY

VALUE TYPE DESCRIPTION EXAMPLE
[] Array Array containing each field value within the template and a value [{ name: 'Title', value: 'This is the title' }]

Translate a Specific Campaign

curl -X PUT "https://flux-digital.herokuapp.com/api/campaigns/translate/616629ab-c287-429e-a140-affa7081107b" -H "Content-Type: application/json" -H "Authorization: *****" -d '{ masterLanguage: "EN", fields: ["Title", "Copy"], languages: ["IT", "DE"]}'
const endpointResponse = await fetch('https://flux-digital.herokuapp.com/api/campaigns/translate/616629ab-c287-429e-a140-affa7081107b', {
  method: 'PUT',
  headers: {
    'Authorization': '*****',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    fields: ["Title","Copy"],
    languages: ["IT", "DE"],
    masterLanguage: "EN"
  })
})
.then(response => response.json())

The above command returns JSON structured like this:

{
  "message": "Campaign updated", 
  "id": "616629ab-c287-429e-a140-affa7081107b"
}

This endpoint translate a campaign based on the fields, languages and masterLanguage input.

HTTP Request

PUT https://flux-digital.herokuapp.com/api/campaigns/translate/<ID>

REQUEST BODY

VALUE TYPE DESCRIPTION EXAMPLE
masterLanguage String The character code for the language you want to translate EN
languages Array An array of character codes for the languages to be translated [ "DE", "IT" ]
fields Array An array of field names to be translated [ "Title", "Copy" ]

Delete a Specific Campaign

curl "https://flux-digital.herokuapp.com/api/campaigns/366e3cea-1cab-40a7-b86a-a8e0282dc76e" \
-X DELETE \
-H "Authorization: *****"
const templateResponse = await fetch('https://flux-digital.herokuapp.com/api/campaigns/366e3cea-1cab-40a7-b86a-a8e0282dc76e', {
  method: 'DELETE',
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json())

The above command returns JSON structured like this:

{
  "message": "Campaign deleted",
  "id":"366e3cea-1cab-40a7-b86a-a8e0282dc76e"
}

This endpoint deletes a specific campaign.

HTTP Request

DELETE https://flux-digital.herokuapp.com/api/campaigns/<ID>

URL Parameters

Parameter Description
ID The ID of the campaign to delete

Workflows

Get all workflows

curl "https://flux-digital.herokuapp.com/api/workflows" -H "Authorization: *****"
const templatesResponse = await fetch('https://flux-digital.herokuapp.com/api/workflows', {
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json());

The above command returns JSON structured like this:

[
   {
      "id":"02d8c7d7-c9b8-470d-b9b8-af8027fc2664",
      "name":"To Do"
   },
   {
      "id":"3046c628-892b-4cd8-aa9a-39e1054fa939",
      "name":"In Progress"
   },
   {
      "id":"a17131ea-3e7a-4e1f-8d79-e7bd3a10f092",
      "name":"In Review"
   },
   {
      "id":"afabc954-ed21-414f-bd28-65440b242e85",
      "name":"Done"
   }
]

This endpoint retrieves all workflow status names and IDs.

HTTP Request

GET https://flux-digital.herokuapp.com/api/workflows/

Users

Get all users

curl "https://flux-digital.herokuapp.com/api/users" -H "Authorization: *****"
const templatesResponse = await fetch('https://flux-digital.herokuapp.com/api/users', {
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json());

The above command returns JSON structured like this:

[
   {
      "id":"02d8c7d7-c9b8-470d-b9b8-af8027fc2664",
      "name":"Joe Bloggs"
   },
   {
      "id":"3046c628-892b-4cd8-aa9a-39e1054fa939",
      "name":"Jane Doe"
   }
]

This endpoint retrieves all users names and IDs.

HTTP Request

GET https://flux-digital.herokuapp.com/api/users/

Languages

Get all languages

curl "https://flux-digital.herokuapp.com/api/languages" -H "Authorization: *****"
const templatesResponse = await fetch('https://flux-digital.herokuapp.com/api/languages', {
  headers: {
    'Authorization': '*****'
  }
})
.then(response => response.json());

The above command returns JSON structured like this:

[
   {
      "id":"77305166-1a91-4c64-94d5-140f846ea847",
      "name":"Afrikaans",
      "code":"af"
   },
   {
      "id":"1cec846c-3960-4bdd-b64f-7b1ae2486c9d",
      "name":"Albanian",
      "code":"sq"
   },
   {
      "id":"adb3c549-7137-45c7-832f-68d3969dc449",
      "name":"Amharic",
      "code":"am"
   },
   {
      "id":"af42b16e-1de1-4dd0-b695-57df2e30726d",
      "name":"Arabic",
      "code":"ar"
   },
   {
      "id":"c28a9a1d-2d11-4815-bd59-e612659f7a67",
      "name":"Armenian",
      "code":"hy"
   },
   {
      "id":"d7e77ac9-d6d2-48dc-9207-d42b5bfacd9d",
      "name":"Azerbaijani",
      "code":"az"
   },
   {
      "id":"138050bd-ff2b-4e7d-9755-2e96262ee062",
      "name":"Basque",
      "code":"eu"
   },
   {
      "id":"e968441c-8b20-4475-9fc8-c3a3f8ff1f3f",
      "name":"Belarusian",
      "code":"be"
   },
   {
      "id":"b0bc4511-08fd-4ea8-af15-6ed6855be714",
      "name":"Bengali",
      "code":"bn"
   },
   {
      "id":"eec5583a-8d9c-4438-bcce-50acc420249d",
      "name":"Bosnian",
      "code":"bs"
   },
   {
      "id":"aa0855c2-b1fd-453b-b17e-ea11d26fabbb",
      "name":"Bulgarian",
      "code":"bg"
   },
   {
      "id":"a283ef3a-4e69-4f72-8468-245cbe297af6",
      "name":"Catalan",
      "code":"ca"
   },
   {
      "id":"45bf3c94-f485-48fb-a749-a4b16f50a847",
      "name":"Cebuano",
      "code":"ceb"
   },
   {
      "id":"66e28c6f-075f-45f6-932b-89e4dfd4ade9",
      "name":"Chichewa",
      "code":"ny"
   },
   {
      "id":"7a8e478b-dcbd-4c10-b420-485b997cf7be",
      "name":"Chinese (Simplified)",
      "code":"zh-CN"
   },
   {
      "id":"35019bd8-7c83-42a0-ae89-56ee36bfc336",
      "name":"Chinese (Traditional)",
      "code":"zh-TW"
   },
   {
      "id":"5ff1a836-d239-4105-8327-1dc263ae7a1e",
      "name":"Corsican",
      "code":"co"
   },
   {
      "id":"a38793f3-1753-466f-8d13-d5de5a3b7fd4",
      "name":"Croatian",
      "code":"hr"
   },
   {
      "id":"679a3607-d5c7-4127-8d7c-fc98b2d25216",
      "name":"Czech",
      "code":"cs"
   },
   {
      "id":"df101eda-27d5-48a2-b82c-99747cb90476",
      "name":"Danish",
      "code":"da"
   },
   {
      "id":"2540b745-2a3d-4473-b8d8-8edd91ec702f",
      "name":"Dutch",
      "code":"nl"
   },
   {
      "id":"dd50231b-6408-420e-8ffa-b80a55ededbe",
      "name":"English",
      "code":"en"
   },
   {
      "id":"e6ffc4b1-e8f9-4d49-a5d0-475b62f66f27",
      "name":"Esperanto",
      "code":"eo"
   },
   {
      "id":"c4a2e922-d625-43cc-8a2a-763edf04bac0",
      "name":"Estonian",
      "code":"et"
   },
   {
      "id":"539134ca-c4bf-4a46-b4d3-a98e7281d36b",
      "name":"Filipino",
      "code":"tl"
   },
   {
      "id":"cea7cc81-175c-4024-a048-cbfdf8d0f42d",
      "name":"Finnish",
      "code":"fi"
   },
   {
      "id":"30611e21-46c4-4994-b775-6a8092d8231d",
      "name":"French",
      "code":"fr"
   },
   {
      "id":"f6b273e1-4a5f-47a5-94db-ce391dbf6495",
      "name":"Frisian",
      "code":"fy"
   },
   {
      "id":"a7f05288-9c85-4295-82c2-29c72ce5b025",
      "name":"Galician",
      "code":"gl"
   },
   {
      "id":"731f8f1b-5fd0-4b67-8f7e-ef025c3c1e1b",
      "name":"Georgian",
      "code":"ka"
   },
   {
      "id":"d5c50aa4-c07a-4941-8d74-9638d5f83be2",
      "name":"German",
      "code":"de"
   },
   {
      "id":"d9eeab65-5c77-4547-a84c-864dedc26907",
      "name":"Greek",
      "code":"el"
   },
   {
      "id":"fbf0dcb5-4acd-4d5c-a9f0-ab24409e7602",
      "name":"Gujarati",
      "code":"gu"
   },
   {
      "id":"5c9e1a1e-da91-4338-b695-9590deaafb20",
      "name":"Haitian Creole",
      "code":"ht"
   },
   {
      "id":"24d6399a-c1cc-460e-950a-83e0fe629f72",
      "name":"Hausa",
      "code":"ha"
   },
   {
      "id":"eed1bcca-c146-4dd3-b950-aa2658e77b89",
      "name":"Hawaiian",
      "code":"haw"
   },
   {
      "id":"36637bf1-bf5c-43bb-a4d4-2a2acec2258c",
      "name":"Hebrew",
      "code":"iw"
   },
   {
      "id":"593166fb-c9e6-48c1-91ec-f946c71f5b2d",
      "name":"Hindi",
      "code":"hi"
   },
   {
      "id":"32c3a9c4-7d3c-42df-85e2-fdc48c5e7954",
      "name":"Hmong",
      "code":"hmn"
   },
   {
      "id":"1e7cf65b-2b25-4bd3-85af-3e92e644b725",
      "name":"Hungarian",
      "code":"hu"
   },
   {
      "id":"0bdc4438-3c3c-4682-a3ad-b7652a7b669f",
      "name":"Icelandic",
      "code":"is"
   },
   {
      "id":"6d126dc5-6010-4b19-b932-7b404f90547b",
      "name":"Igbo",
      "code":"ig"
   },
   {
      "id":"043cd952-c708-4793-8555-07dcfcb7a551",
      "name":"Indonesian",
      "code":"id"
   },
   {
      "id":"6d6b78e9-1951-4e43-8dc3-d9746dddd7d2",
      "name":"Irish",
      "code":"ga"
   },
   {
      "id":"0db54d4c-da18-4038-8f1b-92aeaaea9f61",
      "name":"Italian",
      "code":"it"
   },
   {
      "id":"68727ee6-5b65-44dd-b2b3-ae56d1649b04",
      "name":"Japanese",
      "code":"ja"
   },
   {
      "id":"6e6292f3-ce88-40d8-9efd-c5e5dcc6cd92",
      "name":"Javanese",
      "code":"jw"
   },
   {
      "id":"4b464cb7-d325-446a-bf93-649a5e0e1c0e",
      "name":"Kannada",
      "code":"kn"
   },
   {
      "id":"c85d934e-278d-4992-a947-dc5e3ede474d",
      "name":"Kazakh",
      "code":"kk"
   },
   {
      "id":"1e86306a-c485-493e-b17d-d29e5b8fb23e",
      "name":"Khmer",
      "code":"km"
   },
   {
      "id":"c6ccc0f1-f86a-4290-b12e-908431cf202f",
      "name":"Kinyarwanda",
      "code":"rw"
   },
   {
      "id":"d0c7c7ea-4bb8-4423-86a8-b88675f584bb",
      "name":"Korean",
      "code":"ko"
   },
   {
      "id":"7148dff9-6bbb-406f-a19e-fc22a864338a",
      "name":"Kurdish (Kurmanji)",
      "code":"ku"
   },
   {
      "id":"a4548ff9-7456-42fb-b108-154aebb48193",
      "name":"Kyrgyz",
      "code":"ky"
   },
   {
      "id":"d3f7c51a-e74c-4e47-9877-9d9cb9b7b953",
      "name":"Lao",
      "code":"lo"
   },
   {
      "id":"ce8f5214-87bd-4834-93cc-95e3907f81e7",
      "name":"Latin",
      "code":"la"
   },
   {
      "id":"59e1961b-41d4-49f4-a300-8046d9a0a30f",
      "name":"Latvian",
      "code":"lv"
   },
   {
      "id":"1f9b8330-7623-4fef-9cdd-10b7eb03d445",
      "name":"Lithuanian",
      "code":"lt"
   },
   {
      "id":"c721d923-c26e-46fb-99ef-d49bbe1a105d",
      "name":"Luxembourgish",
      "code":"lb"
   },
   {
      "id":"f7f82a69-2e87-4631-8ab0-1896d5d4a068",
      "name":"Macedonian",
      "code":"mk"
   },
   {
      "id":"fd4438b3-3dc7-4db7-b194-696e213caa27",
      "name":"Malagasy",
      "code":"mg"
   },
   {
      "id":"2f96e969-4e59-4c09-a8f3-eb95f5a2dadd",
      "name":"Malay",
      "code":"ms"
   },
   {
      "id":"02c4a6ed-15fb-44f8-8461-7415899e4c97",
      "name":"Malayalam",
      "code":"ml"
   },
   {
      "id":"9363fde4-5b9e-4b0e-8a4e-5c0ea0f7401d",
      "name":"Maltese",
      "code":"mt"
   },
   {
      "id":"499c8246-b2d3-4597-8122-628e4da07058",
      "name":"Maori",
      "code":"mi"
   },
   {
      "id":"6bfec3c5-dae3-45e5-81de-b7ec71efa1ca",
      "name":"Marathi",
      "code":"mr"
   },
   {
      "id":"60184bcd-42d8-4f5a-809c-48c04384648a",
      "name":"Mongolian",
      "code":"mn"
   },
   {
      "id":"82b01a11-588e-4030-853d-0011c9851e2e",
      "name":"Myanmar (Burmese)",
      "code":"my"
   },
   {
      "id":"f6460996-401c-4cfb-a1ad-42761ca2b3e8",
      "name":"Nepali",
      "code":"ne"
   },
   {
      "id":"ae0024f5-0d76-4580-bf03-c00c1934410e",
      "name":"Norwegian",
      "code":"no"
   },
   {
      "id":"de725141-e270-431d-bc4d-1a8012a24ce7",
      "name":"Odia (Oriya)",
      "code":"or"
   },
   {
      "id":"392f4334-2e04-4703-b02b-09bab366dedb",
      "name":"Pashto",
      "code":"ps"
   },
   {
      "id":"657a65ac-b517-4904-b616-0013ad1615b3",
      "name":"Persian",
      "code":"fa"
   },
   {
      "id":"6e694158-744d-4d22-b03a-039dc2d4a466",
      "name":"Polish",
      "code":"pl"
   },
   {
      "id":"6043b151-cf98-4c82-bbee-1115ad606383",
      "name":"Portuguese",
      "code":"pt"
   },
   {
      "id":"17c1da74-5f53-4f36-bf26-e355c7dfefbe",
      "name":"Punjabi",
      "code":"pa"
   },
   {
      "id":"33699710-edab-4850-a8c0-d97d154cbc5a",
      "name":"Romanian",
      "code":"ro"
   },
   {
      "id":"e3791b59-6be5-4320-b0dd-217eace667fe",
      "name":"Russian",
      "code":"ru"
   },
   {
      "id":"89e99549-b51d-4a24-990d-3677dadfb34e",
      "name":"Samoan",
      "code":"sm"
   },
   {
      "id":"f78508c6-9f3d-4f69-bb9c-0cd0c5bd8cba",
      "name":"Scots Gaelic",
      "code":"gd"
   },
   {
      "id":"55583bdb-f00f-4c4d-b249-b98220126490",
      "name":"Serbian",
      "code":"sr"
   },
   {
      "id":"32fcdf8d-3e9f-462d-ae00-f7c69b31e841",
      "name":"Sesotho",
      "code":"st"
   },
   {
      "id":"b0e7b986-5a69-446c-9a14-6b7036e99c6a",
      "name":"Shona",
      "code":"sn"
   },
   {
      "id":"b6569c76-be30-42e6-ab0a-1391094e62e3",
      "name":"Sindhi",
      "code":"sd"
   },
   {
      "id":"28de5244-a30d-4ae7-9acb-d931ce2a55de",
      "name":"Sinhala",
      "code":"si"
   },
   {
      "id":"528eba78-1887-4ab8-82f1-fcb700084851",
      "name":"Slovak",
      "code":"sk"
   },
   {
      "id":"786a3ad8-4b32-4a9d-8f2d-165461edeb0c",
      "name":"Slovenian",
      "code":"sl"
   },
   {
      "id":"730128e7-5d8b-40b8-b4b8-c81a4129925b",
      "name":"Somali",
      "code":"so"
   },
   {
      "id":"bbf5d83a-c59d-4d92-bd68-e84048a4e04d",
      "name":"Spanish",
      "code":"es"
   },
   {
      "id":"0e5cb2b9-7ed0-42fb-8d61-ad247cf3ead8",
      "name":"Sundanese",
      "code":"su"
   },
   {
      "id":"96ff271c-1936-4a68-b03e-6622612d32bd",
      "name":"Swahili",
      "code":"sw"
   },
   {
      "id":"9380b83c-16ef-4c0f-a7ba-e9834b096a11",
      "name":"Swedish",
      "code":"sv"
   },
   {
      "id":"16fc43e6-d533-45dc-8da9-d6eefbe4d6e3",
      "name":"Tajik",
      "code":"tg"
   },
   {
      "id":"11380135-e195-4eb0-a687-11cb82d375ec",
      "name":"Tamil",
      "code":"ta"
   },
   {
      "id":"68db01ad-383a-459d-8d83-086a449992ba",
      "name":"Tatar",
      "code":"tt"
   },
   {
      "id":"282c8002-3007-4645-b394-798bc4adec62",
      "name":"Telugu",
      "code":"te"
   },
   {
      "id":"38343e96-6041-47cc-b4ff-61d2fec909a9",
      "name":"Thai",
      "code":"th"
   },
   {
      "id":"366a1158-5030-4de9-9165-3a2045c465ca",
      "name":"Turkish",
      "code":"tr"
   },
   {
      "id":"1359d49d-e479-4b57-97bc-7af15d508886",
      "name":"Turkmen",
      "code":"tk"
   },
   {
      "id":"f4023cbd-259c-4b52-9335-8bd30ae038ae",
      "name":"Ukrainian",
      "code":"uk"
   },
   {
      "id":"8af9a7f7-9370-4735-a0e9-42c3c3814ffa",
      "name":"Urdu",
      "code":"ur"
   },
   {
      "id":"cb8ed691-a4db-41f6-a462-11614106124f",
      "name":"Uyghur",
      "code":"ug"
   },
   {
      "id":"81588ffa-5cb6-44d9-9684-87e6eb0eb40b",
      "name":"Uzbek",
      "code":"uz"
   },
   {
      "id":"06483cf0-9c7c-4b7f-8b4e-6495872f0d47",
      "name":"Vietnamese",
      "code":"vi"
   },
   {
      "id":"3010669c-06bd-4c98-84ee-e7bbc91c04dd",
      "name":"Welsh",
      "code":"cy"
   },
   {
      "id":"aa652207-e72d-43c7-84ef-f3f140e2c832",
      "name":"Xhosa",
      "code":"xh"
   },
   {
      "id":"b361fb6b-8d36-44bb-88a4-dc8b9dcdf651",
      "name":"Yiddish",
      "code":"yi"
   },
   {
      "id":"35231b58-ff14-4cb6-b930-b4d5c550c6c9",
      "name":"Yoruba",
      "code":"yo"
   },
   {
      "id":"6338716f-95d8-41c1-ac74-a1d5424f35ba",
      "name":"Zulu",
      "code":"zu"
   },
   {
      "id":"b09ec73b-63f7-47d3-bc0d-844f33116e5a",
      "name":"Hebrew",
      "code":"he"
   },
   {
      "id":"6a2793e7-5169-48f0-8a90-e3dcec09210e",
      "name":"Chinese (Simplified)",
      "code":"zh"
   }
]

This endpoint retrieves all languages.

HTTP Request

GET https://flux-digital.herokuapp.com/api/languages