API docs

Authenticate

POST https://storytime.nl/core/api/v1/authenticate

Authenticate to receive an access token.

Request Body

Name
Type
Description

email*

String

Email to login

password*

String

Password to login

{
    // Response
    'token_type': 'Bearer',
    'access_token': '...',
    'id_token': '...',
    'refresh_token': '...',
    'expires_in': 3600
}

Receive whether the token is valid

GET https://storytime.nl/core/api/v1/me

Headers

Name
Type
Description

Authorization*

String

Bearer <token>

{
    // Response
    'msg': 'Token is valid'
}

Get all projects

GET https://storytime.nl/core/api/v1/firebase/projects

Get all projects from a specific user.

Headers

Name
Type
Description

Authorization*

String

Bearer <token>

{
    // Response
    'projects': [
      '$project': {
        'gameStats': {
          'formulaEnemies': '...',
          'formulaPlayers': '...',
          'maxLevel': 99
        },
        'members': {
          '$member': true | false
        },
        'metadata': {
          'alias': '...'
          'created_at': 0,
          'deleted': true | false,
          'description': '...'
          'languages': {
            '$language': true | false,
          },
          'owner': '...' // Owner id
          'private': true | false,
          'relatedTables': {
            'characters': "..." // table id
            // ... etc
          },
          'title': '...',
          'updated_at': 0,
          'version': {
            'major': 2020,
            'minor': 1,
            'patch': 3
          }
        }
        'referenceTables'
        'tables': {
          '$table': {
            'enabled: true | false,
            // 2020.1.5 and under...
            'description': '...',
            'name': '...',
            // 2020.1.6 and up...
            'metadata': {
              'description': '...',
              'name': '...'
            }
          }
        }
      } 
    ]
}

Get a specific project

GET https://storytime.nl/core/api/v1/firebase/projects/{project}

Get a specific project.

Headers

Name
Type
Description

Authorization*

String

Bearer <token>

{
  // Response
  'gameStats': {
    'formulaEnemies': '...',
    'formulaPlayers': '...',
    'maxLevel': 99
  },
  'members': {
    '$member': true | false
  },
  'metadata': {
    'alias': '...'
    'created_at': 0,
    'deleted': true | false,
    'description': '...'
    'languages': {
    '$language': true | false,
  },
  'owner': '...' // Owner id
  'private': true | false,
  'relatedTables': {
    'characters': "..." // table id
    // ... etc
  },
  'title': '...',
  'updated_at': 0,
  'version': {
    'major': 2020,
    'minor': 1,
    'patch': 3
  }
  'referenceTables'
  'tables': {
    '$table': {
      'enabled: true | false,
      // 2020.1.5 and under...
      'description': '...',
      'name': '...',
      // 2020.1.6 and up...
      'metadata': {
        'description': '...',
        'name': '...'
      }
    }
  }
}

Get all tables of a project

GET https://storytime.nl/core/api/v1/firebase/projects/{project}/tables

Headers

Name
Type
Description

Authorization*

String

Bearer <token>

[
  // Response
  '$table': {
    'data': {
      '$increment': {
        '$key': '$value'
      }
    },
    'metadata': {
      'created_at': 0,
      'deleted': true | false,
      'description': '...',
      'lastUID': '$increment',
      'owner': '...', // owner id
      'private': true | false,
      'title': '...',
      'updated_at': 0,
      'version': {
        'major': 2020,
        'minor': 1,
        'patch': 3
      }
    },
    'projectID': '$project', // project id
    'revisions': [ 
      {
        'created_at': 0,
        'currentRevID': 0,
        'deleted': true | false,
        'newValue': {
          '$key': '$value',
        },
        'oldValue': {
          '$key': '$value',
        },
        'revision': 0, 
        'rowID': '$increment' 
        'uid': '...' // member id
        'updated_at': 0
      }
    ]
  }
]

Get specific table from a project.

GET https://storytime.nl/core/api/v1/firebase/projects/{project}/tables/{table}

Headers

Name
Type
Description

Authorization*

String

Bearer <token>

{
  // Response
  'data': {
    '$increment': {
      '$key': '$value'
    }
  },
  'metadata': {
    'created_at': 0,
    'deleted': true | false,
    'description': '...',
    'lastUID': '$increment',
    'owner': '...', // owner id
    'private': true | false,
    'title': '...',
    'updated_at': 0,
    'version': {
      'major': 2020,
      'minor': 1,
      'patch': 3
    }
  },
  'projectID': '$project', // project id
  'revisions': [ 
    {
      'created_at': 0,
      'currentRevID': 0,
      'deleted': true | false,
      'newValue': {
        '$key': '$value',
      },
      'oldValue': {
        '$key': '$value',
      },
      'revision': 0, 
      'rowID': '$increment' 
      'uid': '...' // member id
      'updated_at': 0
    }
  ]
}

Last updated

Was this helpful?