permissions.mjs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
  2. import { APIResource } from "../../../resource.mjs";
  3. import { isRequestOptions } from "../../../core.mjs";
  4. import { Page } from "../../../pagination.mjs";
  5. export class Permissions extends APIResource {
  6. /**
  7. * **NOTE:** Calling this endpoint requires an [admin API key](../admin-api-keys).
  8. *
  9. * This enables organization owners to share fine-tuned models with other projects
  10. * in their organization.
  11. *
  12. * @example
  13. * ```ts
  14. * // Automatically fetches more pages as needed.
  15. * for await (const permissionCreateResponse of client.fineTuning.checkpoints.permissions.create(
  16. * 'ft:gpt-4o-mini-2024-07-18:org:weather:B7R9VjQd',
  17. * { project_ids: ['string'] },
  18. * )) {
  19. * // ...
  20. * }
  21. * ```
  22. */
  23. create(fineTunedModelCheckpoint, body, options) {
  24. return this._client.getAPIList(`/fine_tuning/checkpoints/${fineTunedModelCheckpoint}/permissions`, PermissionCreateResponsesPage, { body, method: 'post', ...options });
  25. }
  26. retrieve(fineTunedModelCheckpoint, query = {}, options) {
  27. if (isRequestOptions(query)) {
  28. return this.retrieve(fineTunedModelCheckpoint, {}, query);
  29. }
  30. return this._client.get(`/fine_tuning/checkpoints/${fineTunedModelCheckpoint}/permissions`, {
  31. query,
  32. ...options,
  33. });
  34. }
  35. /**
  36. * **NOTE:** This endpoint requires an [admin API key](../admin-api-keys).
  37. *
  38. * Organization owners can use this endpoint to delete a permission for a
  39. * fine-tuned model checkpoint.
  40. *
  41. * @example
  42. * ```ts
  43. * const permission =
  44. * await client.fineTuning.checkpoints.permissions.del(
  45. * 'ft:gpt-4o-mini-2024-07-18:org:weather:B7R9VjQd',
  46. * 'cp_zc4Q7MP6XxulcVzj4MZdwsAB',
  47. * );
  48. * ```
  49. */
  50. del(fineTunedModelCheckpoint, permissionId, options) {
  51. return this._client.delete(`/fine_tuning/checkpoints/${fineTunedModelCheckpoint}/permissions/${permissionId}`, options);
  52. }
  53. }
  54. /**
  55. * Note: no pagination actually occurs yet, this is for forwards-compatibility.
  56. */
  57. export class PermissionCreateResponsesPage extends Page {
  58. }
  59. Permissions.PermissionCreateResponsesPage = PermissionCreateResponsesPage;
  60. //# sourceMappingURL=permissions.mjs.map