Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add API documentation for Actor charge #1325

Merged
merged 2 commits into from
Dec 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
title: ChargeRunRequest
required:
- eventName
- eventCount
type: object
properties:
eventName:
type: string
example: ANALYZE_PAGE
eventCount:
type: number
example: 1
4 changes: 4 additions & 0 deletions apify-api/openapi/components/tags.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -620,6 +620,10 @@
x-displayName: Resurrect run
x-parent-tag-name: Actor runs
x-trait: 'true'
- name: Actor runs/Charge events in run
x-displayName: Charge events in run
x-parent-tag-name: Actor runs
x-trait: 'true'
- name: Actor runs/Update status message
x-displayName: Update status message
x-parent-tag-name: Actor runs
Expand Down
1 change: 1 addition & 0 deletions apify-api/openapi/components/x-tag-groups.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
- Actor runs/Metamorph run
- Actor runs/Reboot run
- Actor runs/Resurrect run
- Actor runs/Charge events in run
- Actor runs/Update status message
- name: Actor builds
tags:
Expand Down
2 changes: 2 additions & 0 deletions apify-api/openapi/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,8 @@ paths:
$ref: paths/actor-runs/actor-runs@{runId}@reboot.yaml
'/v2/actor-runs/{runId}/resurrect':
$ref: paths/actor-runs/actor-runs@{runId}@resurrect.yaml
'/v2/actor-runs/{runId}/charge':
$ref: paths/actor-runs/actor-runs@{runId}@charge.yaml
/v2/actor-builds:
$ref: paths/actor-builds/actor-builds.yaml
'/v2/actor-builds/{buildId}':
Expand Down
46 changes: 46 additions & 0 deletions apify-api/openapi/paths/actor-runs/actor-runs@{runId}@charge.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
post:
tags:
- Actor runs/Charge events in run
summary: Charge events in run
description: |
Charge for events in the run of your [pay per event Actor](https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event).
The event you are charging for must be one of the configured events in your Actor. If the Actor is not set up as pay per event, or if the event is not configured,
the endpoint will return an error. The endpoint must be called from the Actor run itself, with the same API token that the run was started with.

Note that pay per events Actors are still in alpha. Please, reach out to us with any questions or feedback.
operationId: PostChargeRun
parameters:
- name: runId
in: path
required: true
schema:
type: string
example: 3KH8gEpp4d8uQSe8T
description: Run ID.
- name: idempotency-key
netmilk marked this conversation as resolved.
Show resolved Hide resolved
in: header
required: false
schema:
type: string
example: 2024-12-09T01:23:45.000Z-random-uuid
description: Always pass a unique idempotency key (any unique string) for each charge to avoid double charging in case of retries or network errors.
requestBody:
description: 'Define which event, and how many times, you want to charge for.'
content:
application/json:
schema:
$ref: "../../components/schemas/actor-runs/ChargeRunRequest.yaml"
example:
eventName: 'ANALYZE_PAGE'
eventCount: 1
required: true
responses:
'201':
description: 'The charge was successful. Note that you still have to make sure in your Actor that the total charge for the run respects the maximum value set by the user, as the API does not check this. Above the limit, the charges reported as successful in API will not be added to your payouts, but you will still bear the associated costs. Use the Apify charge manager or SDK to avoid having to deal with this manually.'
deprecated: false
x-js-parent: RunClient
x-js-name: charge
x-js-doc-url: https://docs.apify.com/api/client/js/reference/class/RunClient#charge
x-py-parent: RunClientAsync
x-py-name: charge
x-py-doc-url: https://docs.apify.com/api/client/python/reference/class/RunClientAsync#charge
Loading