Update record

Script airtable Verified

by paulpyreneene ยท 6/6/2022

The script

Submitted by hugo989 Typescript (fetch-only)
Verified 6 days ago
1
//native
2

3
type Airtable = {
4
  apiKey: string;
5
};
6
type AirtableTable = {
7
  baseId: string;
8
  tableName: string;
9
};
10
export async function main(
11
  atCon: Airtable,
12
  atTable: AirtableTable,
13
  recordId: string,
14
  newRecord: object,
15
) {
16
  const url = `https://api.airtable.com/v0/${atTable.baseId}/${encodeURIComponent(
17
    atTable.tableName,
18
  )}/${recordId}`;
19

20
  const response = await fetch(url, {
21
    method: "PATCH",
22
    headers: {
23
      Authorization: `Bearer ${atCon.apiKey}`,
24
      "Content-Type": "application/json",
25
    },
26
    body: JSON.stringify({ fields: newRecord }),
27
  });
28

29
  if (!response.ok) {
30
    throw new Error(`${response.status} ${await response.text()}`);
31
  }
32

33
  const updateSingleRecord = await response.json();
34

35
  return updateSingleRecord;
36
}
37

Other submissions
  • Submitted by hugo697 Deno
    Created 398 days ago
    1
    import { Airtable } from "https://deno.land/x/airtable/mod.ts";
    2
    
    
    3
    type Airtable = {
    4
      apiKey: string;
    5
    };
    6
    type AirtableTable = {
    7
      baseId: string;
    8
      tableName: string;
    9
    };
    10
    export async function main(
    11
      atCon: Airtable,
    12
      atTable: AirtableTable,
    13
      recordId: string,
    14
      newRecord: object,
    15
    ) {
    16
      const airtable = new Airtable({...atCon, ...atTable});
    17
    
    
    18
      const updateSingleRecord = await airtable.update(recordId, newRecord);
    19
    
    
    20
      return updateSingleRecord;
    21
    }
    22
    
    
  • Submitted by rossmccrann Deno
    Created 1031 days ago
    1
    import { Airtable } from "https://deno.land/x/airtable/mod.ts";
    2
    import { Fields } from "https://deno.land/x/airtable/mod.ts";
    3
    
    
    4
    type Airtable = {
    5
      apiKey: string;
    6
    };
    7
    export async function main(
    8
      at_con: Airtable,
    9
      recordId: string,
    10
      newRecord: object,
    11
    ) {
    12
      const airtable = new Airtable(at_con);
    13
    
    
    14
      const updateSingleRecord = await airtable.update<Fields>(recordId, newRecord);
    15
    
    
    16
      return { message: "Updated single record in table" };
    17
    }
    18