Tape API Client

Hi, this may be intended but accessing certain Tape API endpoints via an automation script block insists on an API key which is contradictory to:

This seems to happen with both:

tape.Organization
tape.Workspace

I am unsure if there are any others, I haven’t come across any below this level, so I wonder if it is intended. I have not found a way to pass the API key in a way that it will accept (if there is a way can someone let me know please), you can make an HTTP call to the endpoint which works as expected:

const response = await http.post('https://api.tapeapp.com/v1/workspace',
    {
        headers: {
            "Authorization": `${api}`,
            "Content-Type": "application/json"
        },
        data: {
              "name": `${client_field_name_value}`,
              "type": "private",
              "description": "test site"
        }
    });

however, this seems a little wasteful.

1 Like

As an update, I still think either the documentation is wrong or the endpoint should not need an API key however I have worked out how to make it work without resorting to the workaround I showed above, which is using tape.setApiKey at the top of the script block:

const api = collected_api_key_field_apikey_value;
tape.setApiKey(api);

const cwr = await tape.Workspace.create({"name":"TEST - DELETE","type":"private","description":"Delete"});
console.log(JSON.stringify(cwr.data));
const wid = cwr.data.workspace_id;
console.info('wid', wid);
1 Like